Friday, 13 July 2007
The elephant rocks!
Some of the guys at SUN have been working on performance testing with Glassfish and PostgreSQL. Some of the results are pushing towards those achieved with an Oracle database. Postgres is currently the recommended database for use with Meldware, mainly due to its excellent BLOB support. BLOB support is something that very few database do well. Oracle is one of the few that implement BLOB locators properly (Postgres uses a paging mechanism). Unfortunately this is an area where MySQL does very badly. In MySQL the driver will either load all of the data into memory and do a single DB write (not particular useful for a system that needs to be scalable w.r.t memory) or it provides "emulated blobs" which use a series or prepared statements that use concat to add the data into the blob. Unfortunately this shifts the memory problem to the database and runs into some O(n^2) performance issues. In fact to support MySQL in Meldware we had to implement our own paging algorithm.
Its great to see Postgres general DB performance look so good. Lets hope it continues to improve.
Posted by at 6:35 AM in Meldware

