Google Summer of Code Fruit #6: Multiple-database support
13 Jul 2007
While we freeze in New Zealand, I struggle to conceive Philipp Krenn working on his Google project in Austria in anything but blizzard-ravaged Alps... Supposedly it is summer holidays there; our only proof is the progress he's made on allowing SilverStripe to work with different types of databases!
Because allowing SilverStripe to talk to different types of databases deeply affects the core, most of the time thus far has been researching all the various options and deciding upon the system architecture. ADOdb, ADOdb Lite, PDO, MDB / MDB2, Propel, Creole, and EZPDO were among the options considered...
Phillip summarises, saying: "Propel, Creole, and EZPDO head in the direction of a (Java like) persistency layer, overkill when SilverStripe already has a nice way to communicate with the database, and would probably make SilverStripe sluggish. MDB and MDB2 (the PEAR packages) are rather slow, futhermore I'm not too happy with their documentation and development. I don't think we want to flog a dead horse in the future, so I would rather not use them.
Finally, ADOdb, ADOdb Lite, and PDO all look quite interesting, but I would go for PDO because: natively supported in PHP 5, prepared statements, will be used in PHP 6 as well so no worries on the future development, lightweight and (said to be) fast, and it supports a wide variety of databases. Its also reassuring that large projects such as Drupal have written an intelligent argument for supporting PDO"
So, we're excited to announce SilverStripe will soon use PHP5's Data Objects (PDO), allowing a clean, fast, native object-oriented interface with good transactional support. The initial goal is for Postgres and Microsoft SQL support, with the other requested databases like Oracle easy to add later.
Post your comment
Comments for this post are now closed.