|
|
Non-SQL databases and the Zend_Db namespace: msg#00002
|
Subject: |
Non-SQL databases and the Zend_Db namespace |
Hi everyone,
Currently I'm in the process of writing up a simple proposal for Dbm-style
databases (Berkeley DB, GDBM, etc.). The description for Zend_Db and
Zend_Db_Adapter_Abstract both say, "Class for connecting to SQL databases
and performing common operations." But there are other types of databases
besides SQL: key/value pair (Dbm-like), XPath-based, object-oriented, and so
on.
So where do the adapters for the other types of databases go if not Zend_Db?
If someone wanted to create a read-only dBase adapter, where would it fit?
Creating multiple top-level namespaces is sloppy from an organizational
point of view as well as unintuitive for users. For that reason I propose
that the current Zend_Db_* hierarchy move to Zend_Db_Sql_*. This way, we
can keep abstract functionality in logical places: Zend_Db_Xml_Adapter_Db2
(IBM DB2 9), Zend_Db_Xml_Adapter_Berkeley (Berkeley DB XML), Zend_Db_Dbm,
etc.
It might be a bit painful to do now, but I think the need will come up again
later. If it's closer to 1.0 then it will be much more painful.
Thoughts?
-Matt
|
| |