我计划在下一个项目中使用NoSQL解决方案,该项目将使用PHP编写。从能够轻松通过PHP接口的NoSQL解决方案来看,我有哪些选择?我还没有考虑过架构,所以我不确定我的需求是什么;我只是想知道我的选择,这样我就不会构建一些我无法合理实现的东西。
例如,我知道Cassandra有Pandra库,但那只是一个PHP库。MongoDB有本地PECL扩展。
我计划在下一个项目中使用NoSQL解决方案,该项目将使用PHP编写。从能够轻松通过PHP接口的NoSQL解决方案来看,我有哪些选择?我还没有考虑过架构,所以我不确定我的需求是什么;我只是想知道我的选择,这样我就不会构建一些我无法合理实现的东西。
例如,我知道Cassandra有Pandra库,但那只是一个PHP库。MongoDB有本地PECL扩展。
我为MongoDB写了PHP驱动程序,我认为它是一个很好的接口 :)
Mongo PECL包不仅相当成熟(相对地...已有将近一年半的历史!)且相当详细 文档化 ,而且真正被广泛使用。如果您查看MongoDB的PHP页面,您可以看到有多种集成方法,包括Cake、Doctrine、Drupal、Kohana、Symfony和Zend,以及一些管理GUI(如PHPMoAdmin)和几个ODM(对象文档映射器)。
P.S. salathe提出了一个很好的观点,但最佳解决方案真的取决于您正在做什么。
PHPillow是CouchDB的面向对象封装。可以在下载页面找到发布版本。Apache CouchDB是一种分布式、容错且无模式的面向文档的数据库,可通过RESTful HTTP/JSON API访问。除其他功能外,它还提供了强大的增量复制,具有双向冲突检测和解决功能,并且可使用以JavaScript为默认视图定义语言的基于表的视图引擎进行查询和索引。
此外,参见http://nosql-database.org获取更全面的概述。