代码之家  ›  专栏  ›  技术社区  ›  riotera

最著名的NoSQL系统之间的主要区别/特性

  •  4
  • riotera  · 技术社区  · 14 年前

    我没有使用NoSQL数据库系统的经验,但是如果我必须选择一个最著名的(MongoDb、Cassandra、CouchDb、Redis),有人能描述每一个数据库系统的相关主要特性/差异吗?关于他们的能力,有什么我应该知道的,可能会影响我使用的NoSQL系统的选择>

    3 回复  |  直到 7 年前
        1
  •  1
  •   Niels van der Rest    14 年前

    Redis是 键值存储 . 通常可以在单个键下插入基元值(int、string、bool)或基元数组。数据检索通常仅限于按键查询。这些是最基本的NoSQL数据库。

    卡桑德拉是 柱式家庭商店 . 它类似于键值存储,但支持多达四层的键值对嵌套。查询仅限于通过键和map reduce函数进行查询。这种类型的数据库有一个相当困难的数据模型( does 'supercolumn' ring any bells? )而且对于海量数据来说是高度专业化的。

    MongoDB和CouchDB都是 文档数据库 . 它们都存储JSON文档,这些文档不受模式限制,给了您很大的灵活性。与其他类型的NoSQL数据库相比,数据库允许您查询这些文档的内容,这使得检索数据变得非常容易。还支持Map reduce函数。

    Martin Fabik的答案包含了一些比较MongoDB和CouchDB的链接。

    Ayende有一系列名为 That No SQL Thing 处理每种类型的。它很好地介绍了NoSQL的概念、NoSQL数据库的不同类型以及如何查询它们。我强烈推荐你阅读他关于我上面提到的数据库类型的文章,它们非常有指导意义!

        2
  •  1
  •   Martin Fabik    14 年前

    我最近正在研究这个问题。我可以给你发一些链接。。

    不错 categorization NoSQL数据库。

    Comparing MongoDB和CouchDB

    比较MongoDB、CouchDB和RavenDB Part1 比较MongoDB、CouchDB和RavenDB Part2

    拉文德给我留下了很深的印象。它还支持事务和触发器,但许可不是那么友好。

    一些 arguments 为什么来自艾恩德的拉文德(拉文德的创造者)

        3
  •  0
  •   Jeremiah Peschka    14 年前

    除了其他链接外,请查看 Survey of Distributed Databases 如果这需要看看其他NoSQL数据库的特性,以及它们如何响应-[MongoDB和Foursquare-如果呢?].

    最后,[NoSQLSummer]有很多好的论文描述了各种产品和每种产品的理论基础。