帮我选择一个NoSQL包

时间:2011-07-21 05:08:59

标签: php nosql

我对NoSQL完全不熟悉[刚刚阅读了一些关于NoSQL的文章],并希望使用它来开发一个简单的应用程序。
请帮我选择一个NoSQL系统 系统应该具有这些功能

  • SQL之类的选择查询(从colb中选择col1,col2,其中col1> 10)
  • SQL就像插入查询一样(如果它具有自动增量功能会更好)
  • 它应与PHP一起使用兼容

3 个答案:

答案 0 :(得分:1)

看看MongoDB。使用简单,快速,可靠,功能强大。此外,还有一个很好的PHP驱动程序。

MongoDB是“NoSQL”,无架构且面向文档。使用了不同的术语,但作为初学者,您可以认为它具有集合而不是表,文档而不是行和字段而不是列。插入和选择非常简单:

// Select some documents.

$cursor = $db->my_collection->find(array(
    'field1' => array('$gt' => 10), // where field1 > 10
), array(
    'field1', 'field2', // which fields to fetch
))->sort(array(
    'field3' => -1, // sort descending by field3
));

while($document = $cursor->getNext())
{
    // ...
}

// Insert a document.

$db->my_collection->insert(array(
    'field1' => 'a',
    'field2' => 2,
    'field3' => 14.8,
));

答案 1 :(得分:1)

我认为大多数nosql dbs都支持创建集合/表/列系列,并且与php兼容。 您最好需要查看要存储和检索的数据类型,以决定使用哪种数据。

答案 2 :(得分:1)

您的设计是否有许多相互关联的实体,或者相对较少的大型表?

如果是后者那么我全心全意地同意面向文档的数据库,例如 Mongo 或Apache CouchDB

如果是前者那么你可能想看看 neo4j - 它有一个节点图方法。该网站上的介绍性视频值得关注。面向图的解决方案的主要优点是可以在实例的基础上定义关系(而不是RDBMS的类级实体方法)

对于管理员和简单数据输入:CouchDB和neo4j都具有易于使用的基于Web的前端; Mongo有phpmoadmin(第三方)应用程序。

免责声明 - 我没有试图看到上述任何规模,我最大的应用程序[使用Ruby on Rails的沙发]只有大约1000个条目。

祝你好运!