DB Abstraction
Posted: Mon May 31, 2004 8:30 am
After 3 days of research about the existing DB Abstraction Layers, I haven't decided which one I will implement in my project. (I am currently using PEAR DB). Here are some of the benchmarks I came across:
http://phplens.com/lens/adodb/#1
http://freshmeat.net/screenshots/30313/
As you can see, the PEAR DB package does not perform very well. I verified the results above by running some tests on my own computer, and I got pretty much the same results (4-5% difference at most).
I also tried PEAR's MDB package, which seemed to be an excellent abstraction with the nice support of setting up your DB-scheme with XML (you can find some info about it here: http://www.php-mag.net/itr/online_a...3&p=0&nodeid=11)
, but it adds far too much runtime execution overhead.
And the PDO extension is not compatible with PHP 4.
Maybe I should write my own abstraction class which only provides a common API? Or maybe I shouldn't worry so much about the runtime execution overhead since it maybe won't be my primarly bottleneck?
I am also curious what DB abstraction you guys use, and why you chose that abstraction layer.
Thanks
http://phplens.com/lens/adodb/#1
http://freshmeat.net/screenshots/30313/
As you can see, the PEAR DB package does not perform very well. I verified the results above by running some tests on my own computer, and I got pretty much the same results (4-5% difference at most).
I also tried PEAR's MDB package, which seemed to be an excellent abstraction with the nice support of setting up your DB-scheme with XML (you can find some info about it here: http://www.php-mag.net/itr/online_a...3&p=0&nodeid=11)
, but it adds far too much runtime execution overhead.
And the PDO extension is not compatible with PHP 4.
Maybe I should write my own abstraction class which only provides a common API? Or maybe I shouldn't worry so much about the runtime execution overhead since it maybe won't be my primarly bottleneck?
I am also curious what DB abstraction you guys use, and why you chose that abstraction layer.
Thanks