RAD Studio 2010: Community pulse: The day after. (Part 1)

database01Well, as you know the RAD Studio 2010 was released. Let’s answer to some questions which folks raised in forums. One of the most discussed problems (besides SA notifications) was the database support. And this isn’t odd at all since most of us use Delphi as a Database Development tool. No, I don’t imply that Delphi cannot be used in other applications, I just wanted to point out how important is Database support in Delphi. But let’s look a little bit closer…

The main complaint of some folks was about (lack of) support for their favorite database engine. As perhaps, you know, in this release there is no official SQLite and PostgreSQL support. Well, giving in account that we have already a new DBX driver in this version (Firebird) and the number of votes for PostgresSQL and SQLite compared with the ones for the Firebird DBX driver (which was #1 in QC with more than 1000 votes on all reports – duplicates, variants etc.) is a quite expected result.

A small parenthesis to prevent flames: Guys, the status ‘Closed’ on the PostgreSQL QC item means (if you look closer) that it is ‘Deferred to next release’. They mark it in such a way in order to not see it in the current release. When a new release cycle begins these are taken in consideration. Nothing to worry about. Just vote on the above reports if you think that it’s appropriate.

Is this odd? Are they some isolate users? No, they aren’t. According with our polls from this post (btw, thanks A LOT for participating, you gave a very valuable feedback), we have the following results at the question What databases do you use in your Delphi programs?

DBVotes

Note: The list doesn’t contain other database engines which had lower number of votes.

Well, I think that the things are pretty clear. PostgreSQL and SQLite are the first officially unsupported databases from the list. And even if they aren’t officially supported they are used by you. Of course, now when we’re heading to cross-platform the importance of these database engines will grow, and the importance of Windows only (R)DBMS is expected to drop (MS SQL , Access, Paradox / dBase etc.). But there are other interesting things to note:

  • Firebird + MS SQL + mySQL accounts more than 50% from your preferences with Firebird as clear leader. (MS SQL + mySQL = Firebird percentage). Closely follows Oracle and Access (!). Now, with the acquisition of SUN the things (perhaps) will change.
  • There are very few ‘others’ – (less than 1% – not pictured) sign that we’re on a mature market
  • The Delphi-born databases are doing well imho – DBISAM, Nexus, Advantage are all grouped in a tight competition
  • Access, Paradox / dBase – guys, even if I can see value in having Access databases, perhaps is time to move on. Just a small hint…
  • Interbase is doing (also) well – much better than eg. Sybase

Please note that the above results doesn’t mean that one database engine is bad and the other one is good. Eg. the IBM’s Informix is one of the best OLTP databases around.  The above results just show your preferences. The same stands about the next pool: What communication layer do you use?

DBConnVotes

Here the things are quite different.  Here is a big ‘Other’ slice composed from many third party solutions (the folks want mostly *DAC things) – sign that the market shape is quite different from the above. Things to note:

  • Embarcadero’s offerings are doing quite well – DBX is 2nd ( 🙂 ) (also, ADO is Embarcadero’s implementation), DataSnap has a respectable 7% ( 🙂 ) (mind you this is only an n-Tier solution so, the ones who choose this one must (most probably) choose also another solution), IBX and, of course, BDE ( 😦 ). Guys… time to move on. What holds you back?
  • Also we see a bunch of Firebird/Interbase solutions which are high in ranking: FIBPlus, and a little bit lower IBX and IBObjects almost in par.
  • Microsoft solutions are in use by many developers (ADO and ODBC – still ODBC? why?) but I really don’t know how much ‘cross-platform friendly they’ are…  😉 At least some from us should start thinking in this way from now on, isn’t?

At the end I wish to thank you all once again for the great feedback (more to come) and feel free to discuss the above.

16 thoughts on “RAD Studio 2010: Community pulse: The day after. (Part 1)

  1. Pingback: Личная записная

  2. Big dissapointment for me is that Firebird support is not in Professional SKU.

    So I don’t see any of the 3rd party vendors that make FB components losing sleep bc of 2010.

    But I do hope someone in Embarcadero is at least losing sleep bc F1 not working in OI, how the hell they managed to f… it up so badly after all problems they have had with Help.

  3. I’m currently using Microsoft SQL Server 2008 and Firebird 2.0, however, I would prefer to use PostgreSQL and Sqlite3.

    The only reason I’m not using PostgreSQL and Sqlite3 is because AnyDac (from remobjects) didn’t support those when my projects started. Since AnyDac supports them now, I am most likely going to ditch Microsoft SQL Server by switching to PostgreSQL.

    I’m a bit undecided about Sqlite3. It would be a no-brainer to switch from Firebird Embedded to Sqlite3 if there was a way to have Sqlite3 statically linked to Delphi projects instead of deploying the DLL.

    • Yep, pretty logical. But in the case of SQLite don’t forget that you cannot scale to a full-blown multiuser app if is needed. We have this scenario: many users use on-the-road the embedded version while keeping the possibility to use the main DB data on demand (they have sync facilities etc.). Very handy. Also, AFAIK, SQLite is not ACID compliant and doesn’t support other standard SQL features. That said, yes, I do think that SQLite is a very important db engine on its market segment.

  4. Although it’s no surprise to me it’s still very nice to see Firebird top the charts.
    Plus Embarcadero’s official drivers are an incentive for newbies to try Firebird.

  5. I’m not sure you RSS feed is well configured. In my Google Reader your posts thru DelphiFeeds have the proper headlines, but just the string “windwings” where at least some sort of excerpt ought to be. Are you doing that on purpose?

    • No, I don’t do it on purpose :-(. Thanks for pointing it out. Have a look when I’ll post new articles and please be so kind to report it back.

  6. “Well, I think that the things are pretty clear. PostgreSQL and SQLite are the first officially unsupported databases from the list.”

    I am gonna have to question the accuracy of that statement 🙂

    The colours you use on your graphs are in some cases too close to make distinguishing easy. For example, in the graph this quote relates to, I could quite easily substitute Access with PostgreSQL, and the colours for NexusDB, Sybase ASA and IBM DB2 also look very similar on my laptops LCD monitor.

    • 🙂 Sorry, next time I’ll try to be more careful but it is very hard to deal with these things when one has to do with many items (FWIW, is the default color scheme from Excel 2007). I don’t know if you know it, you can read the pie clockwise, the first slice from 12:00 is the biggest one and hence is #1, the 2nd slice is #2 aso.

  7. One of our side products uses Access and BDE. The product itself was written several years ago and is now in maintance mode (no active improving, only bug fixing and database updates).
    It’s easy to say that we should move on and use for example firebird and dbexpress. The problem is that it won’t give the users anything new and it won’t improve user experinece in any way and it would cost us a lot to do it.
    I think several other companies have similar problem. I don’t think developers want to use some old and obsolete technology, but they are forced to do it.
    I think you should have asked additionally which database is mainly used. For example for some old project we have used Access and Mysql, but for us Informix support is critical. We would buy new Delphi version without Mysql or Access support (older delphi version can be used for compiling programs that need it), but never without Informix support, because it’s our main DB.
    After these results (1% using only Informix) i’m even little bit afraid that Embarcadero may drop Ifx support, because their other products don’t support it and Ifx driver is already buggy (problems with some decimal numbers, bigint fields etc). Hope this doesn’t happen.

    • 1st of all, while I’m not affiliated with Embarcadero in any way, and hence I don’t know what the future of Ifx driver is, I can safely assure you that in this FieldTest the Informix driver has received a special attention. Very concrete issues were discussed and bugfixes applied.

      About “which database is mainly used” I asked already here.

      …and yes, I understand your problem about the ‘maintenance mode’. About ‘costing a lot’, of course I cannot judge. But from my own personal experience upgrading to Unicode doesn’t depend so much about the size of the code but more about what code is.
      Also, can you tell me, perhaps a cross-platform version of that application will make you interested in upgrading that application?

      • Good to hear about Ifx updates. I haven’t checked Delphi 2010 yet.
        About cross platform: it all depends how much effort it will take…

  8. I love this article! I found the story when released to be the biggest joke I had ever heard. I got a good laugh and moved on. Thanks for showing that I could laugh again at the story.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s