如果您的存储需求很小,SQL数据库就会过度.当我年轻和愚蠢时,我使用了一个文本文件,并在我需要访问它时flock()编辑它.这不会扩展,但我仍然觉得在Web 2.0中完全忽略了非数据库解决方案.
有没有人不使用SQL数据库进行存储?有哪些替代方案?
有很多选择.但是,如果SQLite能够为您提供SQL功能,而且不需要基于文件的存储,那么就无需寻找这些替代方案.SQLite足够轻巧,可以用于手机和MP3播放器,所以我不知道它是如何被视为过度杀伤.
因此,除非您的应用程序需要非常具体的东西,否则不要打扰.大多数替代品更难以使用且性能更低.
SQLite就是为此而发明的.
它只是一个包含完整SQL数据库的平面文件.您可以查询,更新,插入,删除,安装中几乎没有开销,您只需要驱动程序(PHP标配)
SQLite是一个软件库,它实现了一个独立的,无服务器,零配置的事务SQL数据库引擎.
有人说这个已经有点奇怪了吗?
CouchDB(http://couchdb.apache.org/index.html)是一个非sql数据库,现在似乎是一个受欢迎的项目,以及Google的bigtable或GT.M(http:// sourceforge. net/projects/fis-gtm)永远存在.
对象数据库也比比皆是; dbforobjects(http://www.db4o.com/),ZODB(http://www.zope.org/Products/StandaloneZODB),仅举几例.
对于某些用例而言,所有这些都比传统的SQL数据库更快更简单,但没有一种方法可以实现平面文件的简单性.
像google bigtable或hadoop这样的分布式哈希表是一个简单且可扩展的非SQL数据库,并且通常比SQL数据库更适合网站.SQL非常适合复杂的关系数据,但大多数网站都没有此要求.大多数网站以几种形式存储和检索数据,而不需要对数据运行复杂的操作.
看看其中一个解决方案,因为它们将提供您需要的所有并发访问,但不会订阅传统的数据规范化概念.可以认为它们与一堆命名的文本文件非常类似.