• No results found

How To Use An Informix System With A Computer System (For A Dba)

N/A
N/A
Protected

Academic year: 2021

Share "How To Use An Informix System With A Computer System (For A Dba)"

Copied!
52
0
0

Loading.... (view fulltext now)

Full text

(1)

Open Source and Third Party

Software Supporting Informix

Ognjen Orel

(2)

Who am I?

• Project manager, DBA, developer… • 16 years Informix experience

• IBM Champion 2013-2015

• Working for University Of Zagreb’s Computing Centre

• Academic Information Systems division

• Design, development and maintenance of several nation-wide information systems covering higher

(3)

How Cool is Informix?

• Greatest database on Earth • Zero-admin, just set it up

• Executes queries, handles security, replication, cooks, cleans around the house, …

(4)

Ok, but really?

• There are many ways Informix could be used

OLTP – OLAP

Standalone server – replication

Business logic inside the DB – Business logic in the apps

User’s roles and permissions hanled by the DB – handled in the apps

(5)

Ok, but really?

• There is a need for different additional

software to accommodate various day-to-day needs

• I will show some of it, from a perspecitve of information system development and

(6)

Information System

• Consists of

– Single or multiple databases (maybe different DBMSs)

– Number of end-user apps – desktop, web, mobile – Number of back-end apps

– Set of business rules

– Sets of users with different roles

(7)

Additional software

• DBA stuff – Monitoring – Alerting – Maintenance – Management • Developer stuff – SQL/SPL Tools – ORM

(8)

DBA Stuff

• Monitoring • Alerting

• Maintenance • Management

(9)

One for you

• Q: How do you know when your instance is down?

(10)

One for you

• Q: How do you know when your instance is down?

– What/who sends the alert?

• Software • User

(11)

Shell scripts & cron

• Simple monitoring and alerting • Collect various data of interest

– Point-in-time data: Server load, number of users, ready threads etc

– Aggregated data: daily checkpoints stats, tx stats, etc (e.g. from sysadmin database)

(12)

SQL API cron

• Simple monitoring and maybe alerting

• Collect various data of interest directly from database

• insert into sysadmin:ph_task values (....) • Or configure it through OpenAdmin Tool

(13)

Command line utilities

• Plenty of those in the IIUG Software Repository

• http://www.iiug.org/software/

(14)

BusyBee

• Developed by Eric Herber long time ago • Now open-sourced and hosted on

SourceForge

• Python based scripts for monitoring various parameters

– Online status, chunk status, extents, log entries, memory, cache, …

(15)

BusyBee

• Configurable

– Tresholds for sending different kinds of alerts – Sending e-mail alerts

(16)

Zabbix

• Open source monitoring software

• Supports various types of agents to collect data from

• Monitor hardware

– Servers, UPSs, network appliances, A/Cs…)

• Monitor software

(17)

Zabbix

• Use with Informix in two ways:

– Store monitoring data

http://www.iiug.org/opensource/

– Monitor Informix instance (template by Cesar I. Martins)

(18)
(19)

OpenAdmin Tool

• Should be a household name for every DBA • Provides monitoring and maintenance of

multiple instances • Health advisor

(20)

One for you

• Q: when you migrate to a newer version (i.e. upgrade your instance), what do you do with your onconfig file?

– Use it as it is with a new version?

(21)

migrateOnconfig

• You want your onconfig to match the current Informix version, instead of adding a bunch of new parameters to the end

• Will produce a new file with .std structure and comments, but with original values and

additional comments • Uses Groovy language

(22)

migrateOnconfig

groovy migrateOnconfig.groovy \

-i $INFORMIXDIR/etc/$ONCONFIG \

-s /opt/IBM/informix1210FC5/etc/onconfig.std

(23)

Other management and monitoring

products

• There are some great Informix–based

products for DBAs and developers , with commercial and free licenses

(24)

Developer Tools

• SQL/SPL Tools • ORM

• Application Development Frameworks • Testing

(25)

Another one for you

(26)
(27)

SQL Editor

• Developed by Informix in the 1990’s • Pros:

– Small footprint – Keyboard-centric

(28)

SQL Editor

• Cons

– Outdated

– Only for Windows – Single level undo

(29)

IBM Data Studio

• Based on Eclipse IDE • Heavy footprint

• Complicated for simple use-cases

(30)

Some other SQL tools

• Plenty to choose from

• Some are integrated in IDEs • Some are too smart

(31)

ifmx-sql-editor

• An improved copy of original SQL Editor • Wrote it in Groovy

• Light client

• Keyboard centric, same shortcuts • Multilevel undo/redo

(32)
(33)
(34)

ifmx-sql-editor

• Runs on JVM

• Runs on every OS that supports Java • Download files and execute main jar

(35)

Object-Relational Mapping (ORM)

• Matching object-oriented concepts to a relational model

• Data types

• Structure differences • Transaction handling

(36)

Java Object-Relational Mapping

Frameworks

• Hibernate (http://hibernate.org/)

• MyBatis (http://mybatis.org/)

• Java Database Objects (JDO)

(37)

Application Frameworks

• Fundamental tools for enterprise class applications

• Covering the whole development process or just a part of it

– Spring Framework (http://spring.io/)

(38)

RIA Development Frameworks

• RIA = Rich Internet Application

• Considering CRUD based applications • Good RIA Development Framework

– Works with various RDBMSs – Takes care of ORM

– Simplifies client-server communication

(39)

RIA Development Frameworks

• OpenXava (http://www.openxava.org/)

• Vaadin (http://vaadin.com/)

(40)

SmartGWT

• Uses GWT (Google Web Toolkit) as a front-end components

• Encapsulates and extends GWT components in Java

• All client-server interaction (in the code) done via data source definitions (no SQL needed) • Did not support Informix until recently

(41)

Testing the Code

• Unit testing with JUnit

• Test Java classes and methods.. and SQL/SPL code

• Run within continuous integration tool or by hand

• A separate, prepared database for these tests • Each test rollbacks the transaction at the end

(42)

Testing the Code

• A simple test for a stored procedure

@Test(timeout=20000)

public void izvanredni() throws SQLException {

SmallintField sifTemeljFin =

new SmallintField( databaseToolkit ); DbStatement.executeSelectIntoAndRelease(

"execute procedure izracunP( 1100190 )" , new WrapperField[]{sifTemeljFin}

, databaseToolkit , connection);

(43)

And another one for you

• Q: Do you know how much torture can your database engine / db server stand?

– Concurent queries

– Users performing daily work

– Users performing complex queries

(44)

Stress Tests

• Find out how much torture can your database stand

• Apache JMeter is a great tool for stress-testing

(45)

Stress Tests

• Idea:

– Prepare a separate database for stress test (or better, a separate environment)

– Back it up

– Prepare enough data that tests can use (csv files) – Run the tests from one or more

(46)
(47)

Project Management Tools

• Minimum set of features required

– Workflow tracking – Bug tracking

– Reporting – Wiki

(48)

Issue-tracking software

• Should provide workflow management and reporting • Bugzilla

• Teamwork • YouTrack • JIRA

• …

• Those built in Java upon Hibernate framework could use Informix

(49)

Wikis

• Should provide flexible interface, ease of collaboration, permissions, …

• MediaWiki • XWiki

• Confluence • …

(50)

Instead of a conclusion

• The acceptance of the DB depends, among other things, on the availability of the tools and the amount of the software supporting it • We all want Informix to grow

(51)

What can we, as a community, do?

• Share the knowledge • Share our code

– Scripts, tools, software, …

– No matter how small or insignificant, there is always a novice out there who’ll appreciate it

– Participate in other open-source projects in order to make them Informix-friendly

(52)

Questions?

References

Related documents

Layer 1 optical nodes at eventual ESnet Points of Presence ESnet IP switch only hubs. ESnet IP switch/router hubs ESnet SDN

Rivaroxaban 15 mg twice daily for the initial treatment of acute VTE. for the first 3 weeks followed by 20 mg once daily for the continued treatment and prevention of

In this paper we introduce a novel concept, which considers all the autonomous devices on the user 's Personal Area Network (PAN) as one big "Virtual Device" having

During that time, awareness of the risks of extreme space weather has increased among the affected industries, mitigation strategies have been developed, new sources of

The main objective of the report is how to handle the business related problem like decreasing the demand of the product and make a business plan for recovery the market

Varieties categorized as high tolerance to nitrogen deficiency were Marga Sari, Inpari 16, Lambur, Batang Hari, and Situ Patenggang.. Breeding for Drought and Nitrogen Stress

The elements of professional development from the Leadership for Literacy Learning Blueprint—attending to the conditions for learning; making curriculum and teaching practice

This proposed study focuses on providing hypoglycemia management teaching using HPS to enhance grandparent functional response (diabetes knowledge, number of care hours provided,