Databases in QNX6

We have some applications using QNX4 and SyBase database. Clearly we
can’t rely on QNX4 in our future plans. Time ago we didn’t
find a database that full fill our expectative to move to QNX6. We
think things are now different, and we are starting a new research

That we expect for the new database is:

  • True client / server structure. Server must reside in QNX6 machine,
    clients can reside in QNX6 and MSWindows (2000 & XP)
  • Transactional Database
  • High performance
  • Robustness (redundancy & recovery mechanisms, mirroring, …)
  • Possibility to use embedded SQL statements in C code
  • Possibility to work with more than one database simultaneously (with
    a single database server)
  • Windows client must be ODBC compliant. OLE-DB is also appreciated
  • Graphic tools to administrate QNX6 servers from Windows platforms

We wonder if anybody can explain his database experiences on QNX6 to
help us in our research.

Thanks in advance.

On free software side you have Postgres and MySQL I guess… Depending on
what you need one of them could be a good enough fit. On commercial side
there’s Empress…

I don’t think any of them have a graphic administration tool for Windows,
but the rest of your requirements is ok.

– igor

“Joan Baucells” <“Joan Baucells”@NoSpam.es> wrote in message
news:4136B97B.B25589DD@NoSpam.es

We have some applications using QNX4 and SyBase database. Clearly we
can’t rely on QNX4 in our future plans. Time ago we didn’t
find a database that full fill our expectative to move to QNX6. We
think things are now different, and we are starting a new research

That we expect for the new database is:

  • True client / server structure. Server must reside in QNX6 machine,
    clients can reside in QNX6 and MSWindows (2000 & XP)
  • Transactional Database
  • High performance
  • Robustness (redundancy & recovery mechanisms, mirroring, …)
  • Possibility to use embedded SQL statements in C code
  • Possibility to work with more than one database simultaneously (with
    a single database server)
  • Windows client must be ODBC compliant. OLE-DB is also appreciated
  • Graphic tools to administrate QNX6 servers from Windows platforms

We wonder if anybody can explain his database experiences on QNX6 to
help us in our research.

Thanks in advance.

Igor Kovalenko wrote:

On free software side you have Postgres and MySQL I guess… Depending on
what you need one of them could be a good enough fit. On commercial side
there’s Empress…

I don’t think any of them have a graphic administration tool for Windows,
but the rest of your requirements is ok.

MySQL has a GUI admin tool called Dolphin or something like that; I’d be
more specific, but I can’t remember, it’s been a while. I’m sure the
MySQL site has a link to it, probably off the FAQ section.


Chris Herborth (cherborth@qnx.com)
Never send a monster to do the work of an evil scientist.

Hello,

SQLite - an embedded SQL data base - could also be a candidate.
See at: http://www.sqlite.org/

GUI interface at: http://www.sqlite.org/cvstrac/wiki

ODBC driver at: http://www.ch-werner.de/sqliteodbc/


Regards

Armin Steinhoff

http://www.steinhoff-automation.com

Joan Baucells wrote:

We have some applications using QNX4 and SyBase database. Clearly we
can’t rely on QNX4 in our future plans. Time ago we didn’t
find a database that full fill our expectative to move to QNX6. We
think things are now different, and we are starting a new research

That we expect for the new database is:

  • True client / server structure. Server must reside in QNX6 machine,
    clients can reside in QNX6 and MSWindows (2000 & XP)
  • Transactional Database
  • High performance
  • Robustness (redundancy & recovery mechanisms, mirroring, …)
  • Possibility to use embedded SQL statements in C code
  • Possibility to work with more than one database simultaneously (with
    a single database server)
  • Windows client must be ODBC compliant. OLE-DB is also appreciated
  • Graphic tools to administrate QNX6 servers from Windows platforms

We wonder if anybody can explain his database experiences on QNX6 to
help us in our research.

Thanks in advance.

We evaluated several of the options and ended up with MySQL. We have not
regretted that decision.

MySQL meets all of your requirements, provided you select the InnoDB engine
to provide the transactional features that you require. There are two
different graphical tools for adminstrative purposes, MySQL Control Centre
(now deprecated) and MySQL Administrator (new tool, very fancy).

The downside of MySQL is that the current stable production version (4.0)
does NOT support:

  • Triggers
  • Stored Procedures
  • Views

If your application absolutely must have these features then you need to
wait for MySQL 5.0 (currently in Alpha release, has Stored Procedures and
Views but AFAIK no Triggers).

Otherwise we have been very happy with MySQL - the support, the tools and
the robustness have all been first class.

FYI we selected MySQL over some of the other options (eg RDM, Empress)
mainly because of the wide range of third party tools and support that is
available.

Rob Rutherford
Ruzz Technology

On Thu, 02 Sep 2004 08:11:07 +0200, Joan Baucells wrote:

We have some applications using QNX4 and SyBase database. Clearly we
can’t rely on QNX4 in our future plans. Time ago we didn’t
find a database that full fill our expectative to move to QNX6. We
think things are now different, and we are starting a new research

That we expect for the new database is:

  • True client / server structure. Server must reside in QNX6 machine,
    clients can reside in QNX6 and MSWindows (2000 & XP)
  • Transactional Database
  • High performance
  • Robustness (redundancy & recovery mechanisms, mirroring, …)
  • Possibility to use embedded SQL statements in C code
  • Possibility to work with more than one database simultaneously (with
    a single database server)
  • Windows client must be ODBC compliant. OLE-DB is also appreciated
  • Graphic tools to administrate QNX6 servers from Windows platforms

We wonder if anybody can explain his database experiences on QNX6 to
help us in our research.

Thanks in advance.

Robert Rutherford wrote:

We evaluated several of the options and ended up with MySQL. We have not
regretted that decision.

MySQL meets all of your requirements, provided you select the InnoDB engine
to provide the transactional features that you require. There are two
different graphical tools for adminstrative purposes, MySQL Control Centre
(now deprecated) and MySQL Administrator (new tool, very fancy).

The downside of MySQL is that the current stable production version (4.0)
does NOT support:

  • Triggers

SQLite has ‘triggers’ partially implemented …

  • Stored Procedures

SQLite has ‘stored procedures’

  • Views

and of course … SQLite has ‘Views’ and ‘transactions’ from the beginning.


For what reasons are you using MySQL ?

Regards

Armin



If your application absolutely must have these features then you need to
wait for MySQL 5.0 (currently in Alpha release, has Stored Procedures and
Views but AFAIK no Triggers).

Otherwise we have been very happy with MySQL - the support, the tools and
the robustness have all been first class.

FYI we selected MySQL over some of the other options (eg RDM, Empress)
mainly because of the wide range of third party tools and support that is
available.

Rob Rutherford
Ruzz Technology

On Thu, 02 Sep 2004 08:11:07 +0200, Joan Baucells wrote:


We have some applications using QNX4 and SyBase database. Clearly we
can’t rely on QNX4 in our future plans. Time ago we didn’t
find a database that full fill our expectative to move to QNX6. We
think things are now different, and we are starting a new research

That we expect for the new database is:

  • True client / server structure. Server must reside in QNX6 machine,
    clients can reside in QNX6 and MSWindows (2000 & XP)
  • Transactional Database
  • High performance
  • Robustness (redundancy & recovery mechanisms, mirroring, …)
  • Possibility to use embedded SQL statements in C code
  • Possibility to work with more than one database simultaneously (with
    a single database server)
  • Windows client must be ODBC compliant. OLE-DB is also appreciated
  • Graphic tools to administrate QNX6 servers from Windows platforms

We wonder if anybody can explain his database experiences on QNX6 to
help us in our research.

Thanks in advance.

On Mon, 06 Sep 2004 16:18:17 +0200, Armin Steinhoff wrote:

For what reasons are you using MySQL ?

As I said in my original post:

FYI we selected MySQL over some of the other options (eg RDM, Empress)
mainly because of the wide range of third party tools and support that is
available.

The only thing I would add to this was that we also need a commercial
product with paid support and no GPL issues.

And it doesn’t hurt that our customer base have all heard of MySQL.

SQL Lite is good for the right application but it doesn’t support
client/server architecture, it doesn’t support typed data, it doesn’t
support foreign key constraints, it doesn’t support ALTER TABLE, it doesn’t
support FULL OUTER JOIN, it doesn’t support sophisticated user permissions,
it doesn’t support BLOBs, it doesn’t support replication, it doesn’t have
graphical administration tools. Do I have to go on?

Don’t get me wrong, there are lots of different database solutions out
there that are all good fits for particular applications. SQL Lite looks
excellent for a small embedded solution, as does mcobject. There are also
Birdstep solutions that look good for embedded. Postgres is a better option
if you want “Enterprise class” features such as Stored Procedures,
Triggers, etc but it is not as well supported (commercially) as MySQL.

For us it was the 3rd party tool support for MySQL that was the clincher
(eg ODBC, DeZign for Databases, dbVisualizer etc etc). And having gone down
that path, we have been very pleasantly surprised by MySQL’s robustness (we
have never seen it crash, it recovers from power failures very nicely, and
replication works well).

Rob Rutherford

Robert Rutherford wrote:

On Mon, 06 Sep 2004 16:18:17 +0200, Armin Steinhoff wrote:

For what reasons are you using MySQL ?

As I said in my original post:


FYI we selected MySQL over some of the other options (eg RDM, Empress)
mainly because of the wide range of third party tools and support that is
available.



The only thing I would add to this was that we also need a commercial
product with paid support and no GPL issues.

And it doesn’t hurt that our customer base have all heard of MySQL.

SQL Lite is good for the right application but it doesn’t support
client/server architecture,

http://sqlrelay.sourceforge.net → support for MySQL and SQLite :slight_smile:

it doesn’t support typed data,

just different design concepts …

it doesn’t
support foreign key constraints, it doesn’t support ALTER TABLE, it doesn’t
support FULL OUTER JOIN, it doesn’t support sophisticated user permissions,
it doesn’t support BLOBs,

BLOBs are supported …

it doesn’t support replication, it doesn’t have
graphical administration tools.

available → http://www.sqlite.org/cvstrac/wiki?p=SqliteTools

Do I have to go on?

No … I believe you have good reasons to go with MySQL, even if MySQL
doesn’t support views, which is for me a very important feature.

Don’t get me wrong, there are lots of different database solutions out
there that are all good fits for particular applications. SQL Lite looks
excellent for a small embedded solution, as does mcobject.

I aggree …

There are also
Birdstep solutions that look good for embedded.

It’s not a SQL data base

Postgres is a better option
if you want “Enterprise class” features such as Stored Procedures,
Triggers, etc but it is not as well supported (commercially) as MySQL.

For us it was the 3rd party tool support for MySQL that was the clincher
(eg ODBC, DeZign for Databases, dbVisualizer etc etc). And having gone down
that path, we have been very pleasantly surprised by MySQL’s robustness (we
have never seen it crash, it recovers from power failures very nicely, and
replication works well).

Yes, that’s are important ‘features’ … but on the other hand I saw a
lot of WEB pages having trouble with their MySQL data base :slight_smile:

Thanks for your reply

Armin



Rob Rutherford

Hi All,

just an interesting comparison between MySQL and PostgreSQL :slight_smile:
(It’s from http://www.userlinux.com/cgi-bin/wiki.pl?White_Paper)


Regards

Armin

======================================================================

Database Management System (DBMS)
MySQL with non-GPL libraries. This departs from the standard MySQL
release in order to facilitate commercial development and distribution
without forcing the user to purchase a MySQL developer license. Pay
MySQL for training and service. I am not a database pro, and will listen
to argument about the merits of other database servers. [Comment:
Previously MySQL did not have much competition, but in recent years
PostgreSQL has taken giant leaps. In terms of technical excellence,
adherance to SQL standards, enterprise level features (rollbacks, views,
good stored procedures), PostgreSQL wins hand on to MySQL. An important
criteria when selecting a database is its conformance to SQL standards.
MySQL doe not support SQL92, it’s basicly SQL89 language set, which just
happens to be called “entry level” SQL92 (there are three levels). MySQL
is proprietary in many ways: huge number of non-standard datatypes and
storage extension flags to them. Justifying a database just by raw
perfonmance is not the correct path. Granted that previois PostgreSQL
6.x versions could not be recommend. But 7.x versions are truly
impressive. In addition PostgreSQL does not have any license issues;
it’s pure GPL]

MySQL has a “write once read many” nature. Meaning that in order to make
it a good and fast website development platform its developers just let
down some robustness and standards compliance. In that quality it is
more suitable for web site and non critical data storage. Recent
evolution of MySQL point in the same pro-commercial way that Red Hat
started. For critical activities a more robust DBMS will be needed. Some
critical features will be needed like “write many read many” ability,
record level locking instead of table locking ability, triggers, stored
procedures, transactions and more strict ANSI SQL compliance, to name a
few. Government, Hospitals, Banks will need credible alternatives to
Oracle and DB2. They will prefer pure open source DBMS, e.g., one
without non-GPL libs. Such a DBMS exists, it has a solid academia
background, it not only is open sourced but the development process is
also open. That DBMS is named postgreSQL.

MySQL with InnoDB (shipped as standard in 4.0+ IIRC) provides
transactions, row-level locking with consistent views and robust crash
recovery. MySQL has the mindshare and for all MyISAM’s faults it’s Good
Enough for most stuff and Fast. As for other features, the only one
people really miss is stored procedures, and they’re currently in
development - I think by the time we really need them they’ll be there.

I think PostgreSQL is a better choice. Its performance is up to snuff,
and its feature set is far more complete. The stored procedures and
procedures written in Perl, Python, and TCL are not new/recent features
in beta. On the new features side, the upcoming release includes support
for tablespaces, point-in-time recovery. Replication and Clustering
support are also there, and there is already a corporate entity that
provides support for the PostgreSQL database. PostgreSQL is BSD licensed
and it fits more cleanly into a community based effort. MySQL is a great
product, but the ISV’s who support UserLinux will ALWAYS have to pay a
license fee (albeit a comparatively nominal one) if their products are
not open-source (GPL’d). This will represent a barrier to adoption.
Because MySQL is a corporate entity, (with all due respect) it would be
naive of us to assume they wouldn’t change their licensing policies to
be more restrictive or fork their code into “platform edition” versus
“enterprise edition” if it were in their best interests.



Robert Rutherford wrote:

On Mon, 06 Sep 2004 16:18:17 +0200, Armin Steinhoff wrote:

For what reasons are you using MySQL ?



As I said in my original post:


FYI we selected MySQL over some of the other options (eg RDM, Empress)
mainly because of the wide range of third party tools and support that is
available.



The only thing I would add to this was that we also need a commercial
product with paid support and no GPL issues.

And it doesn’t hurt that our customer base have all heard of MySQL.

SQL Lite is good for the right application but it doesn’t support
client/server architecture, it doesn’t support typed data, it doesn’t
support foreign key constraints, it doesn’t support ALTER TABLE, it doesn’t
support FULL OUTER JOIN, it doesn’t support sophisticated user permissions,
it doesn’t support BLOBs, it doesn’t support replication, it doesn’t have
graphical administration tools. Do I have to go on?

Don’t get me wrong, there are lots of different database solutions out
there that are all good fits for particular applications. SQL Lite looks
excellent for a small embedded solution, as does mcobject. There are also
Birdstep solutions that look good for embedded. Postgres is a better option
if you want “Enterprise class” features such as Stored Procedures,
Triggers, etc but it is not as well supported (commercially) as MySQL.

For us it was the 3rd party tool support for MySQL that was the clincher
(eg ODBC, DeZign for Databases, dbVisualizer etc etc). And having gone down
that path, we have been very pleasantly surprised by MySQL’s robustness (we
have never seen it crash, it recovers from power failures very nicely, and
replication works well).

Rob Rutherford