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

键/值(一般)和东京内阁(python tc特定)问题

  •  1
  • swasheck  · 技术社区  · 14 年前

    我在RDBMS领域已经有很多年了,但是我希望探索整个NoSQL运动。所以我的第一个问题是:

    有重复钥匙的可能性是不是不好?例如,一个用姓键入的地址簿(很可能是搜索项?)可能有多个实体。那么用姓氏是不是不好?密钥应该是实体最“可搜索”的定义吗?在这个全新的世界里(对我来说)有什么“最佳实践”的资源吗?

    我对东京内阁(尤其是tc接口)很感兴趣,但不知道如何遍历具有相同密钥的不同实体(如上文所示)。我只能得到第一个实体。不管怎样,提前谢谢你的帮助

    2 回复  |  直到 14 年前
        1
  •  1
  •   StaxMan    14 年前

    这取决于没有sql实现。例如,cassandra允许范围查询,因此您可以对数据建模以查询姓氏或全名(从姓氏开始,然后是名字)。

    除此之外,许多简单的键值存储确实需要为多值条目存储一个列表结构(或类似结构)。这是否可行取决于预期的“重复项”数量——根据姓氏,这个数字可能相当高,所以在许多情况下,听起来并不是一个理想的模型。

        2
  •  0
  •   Mihai A    14 年前

    在键值存储中,不能有重复的键,键后面只有一个值。要获得重复的键,可以使用东京cabinet中的b+树数据库,该数据库中的值是有序的并允许重复的(可以通过使用该键转到第一个项并进行迭代来访问它们)。

    并非所有的问题都可以通过键值存储轻松解决,因为您需要键来检索项。也许有点像 MongoDB 更合适,因为允许更复杂的查询。