那里有大量信息......谷歌是你的朋友:)
我强烈推荐卡桑德拉。它相当容易设置,并且是无主控+容错的。您可以指定每个数据库需要多少复制,它会为您处理。它还可以进行跨数据中心复制。它具有可调的一致性。如果您愿意,对于某些数据位,您可以实现完全一致性(例如,在写入期间牺牲可用性)。因此,这不一定是全有或全无的情况。它具有模式的概念,您将数据作为行存储在表中,并带有主键。它有一种查询语言 CQL,这对 SQL 来说非常熟悉(但更有限)。熟悉度、模式、性能、可调整的一致性……相当不错的组合。
有缺点。没有连接。因此,您必须更多地关注数据建模,并了解实时工作所需的查询类型。概念数据模型可能与实际物理数据模型不同。您可能会有一些信息(即概念数据)作为非规范化物理表中的副本存在。这会带来非常快的性能,但您确实需要稍微了解一下您的数据。
对于分析查询,您通常会将其与 Spark 配对。这将允许您查询您的数据集,就像 Hadoop。查询比实时查询慢,但可以很好地平衡总数据量和查询灵活性。
Cassandra 本身不会是一个全文搜索引擎。但是,将其与 Lucene 或 Solr 配对以提供搜索功能的情况并不少见。
在用例方面,Cassandra 可以以多种形式使用。在最简单的情况下,它是一个键值存储,其中每个值都是有序键值对的集合。顶级键值为您提供数据的分区(分片)。这使您可以非常有效地存储时间序列数据。“值”也支持集合、映射和列表的集合列,您可以在这些上设置“精确匹配索引”。这些允许稍微更灵活的查询。这些特性意味着 Cassandra 可以用于各种各样的用例,但显然不是全部。这实际上取决于您要解决的用例。那里没有单一的“最佳 NOSQL”数据库。每个数据存储往往都有一组用例,很难列出所有映射。相反,你'