SQL就像查询表中包含多个键的DB一样

时间:2012-10-08 08:23:46

标签: nosql rdbms secondary-indexes

我们知道传统RDBMS系统中存在主键的概念。此主键主要用于索引此特定键上的表中的记录,以便更快地检索。我知道像Cassandra这样的NOSQL存储提供了二级密钥索引,但是有一种方式或现有的数据库遵循与传统RDBMS系统完全相同的模式(即数据库分成各种表以容纳不同类型的数据)但提供2个或更多键的索引。

相同用例的一个例子是:

10个不同的人的名字和他们的年龄之间有一对一的映射。现在,如果我将这些信息保存在一个人名为主键的表中,那么检索给定人名的年龄比检索给定人的年龄的名称要快。如果我可以索引两列,那么第二种情况也会更快。 使用传统RDBMS执行此操作的另一种方法是使2个表具有相同的数据,区别在于其中一个表中的主键是名称,而另一个表中的主键是年龄,但这将是浪费在大量记录的情况下有大量空间。

1 个答案:

答案 0 :(得分:0)

很可惜,看到一很长的时间在这个问题上没有反应。在对此进行一些研究的所有这些时间里,我发现FastBit Index是在表格中几乎每列记录上进行索引的合理解决方案之一。它还为查询数据提供了类似SQL的语义,并在查询数百万行数据(GB的数量级)时提供了几毫秒的性能。

请建议是否有任何其他NOSQL或SQL DB可以提供具有良好性能水平的类似功能。