Thank you for your clear presentation on PHP ORM! I'm new to PHP and have been trying to work with text-file based database systems to avoid learning the strange language requirements of SQL type programs. I've understood the basics of relational databases compared to hierarchical, but you really communicated the issues in a manner that made it easy for me to visualize and grasp. I even have hopes of using your information to make a flat file database system with complexity levels only as much as needed.
Are there any real world issues that make use of SQL type databases imperative compared to flat file systems? Aren't XML and even SQL databases just flat data tables at their core?
Manuel Lemos - 2008-10-14 20:21:46 - In reply to message 1 from Greg
Flat file database systems are usually not client-server database systems. Usually only one process can change a database table at a time. So, they are more adequate for read-only applications or applications without many concurrent accesses.
SQLite is a flat file database system that provides SQL access support. It is not a client-server system, so it has problems under other situations besides those I mentioned above.
Other than the storage system used by each database system may be similar or not.
Greg - 2008-10-15 22:09:45 - In reply to message 2 from Manuel Lemos
I'm getting the idea now, about how SQL databases must use traffic control programming for sites/servers with many users performing live searches.
Regarding other common use of SQL type databases - I'm surprised that Blogs have become so popular, considering their dependence on SQL type database use. I'm assuming most users have had to invest time in learning and accommodating the hardware and software memory requirements for SQL. I was happy to discover a flat-file blogging script, and ScribeFire extension for FireFox - making in-browser, fast posting to many blog types easier.
Manuel Lemos - 2008-10-15 22:15:03 - In reply to message 3 from Greg
Any content site, like blogs and others that do not change too frequently, use content caching techniques to avoid database accesses as much as possible, or else the hardware cost would be to expensive to handle high traffic.
The PHPClasses site uses file based caching extensively. You may read more about that in this other article: