Cassandra 和非结构化数据

May*_*tel 5 cassandra database-schema

我对 NoSQL 比较陌生,但我对关系数据库做了一些玩弄。

我们正在评估 Cassandra 在我们的数据模型可能需要相当积极地发展的环境中的使用。我已经看到它写了多个地方,Cassandra 可以存储“结构化、半结构化和非结构化”数据。

我理解结构化声明。很明显:一个表定义了列。

我想我理解半结构化声明。一行不需要填充所有列。

但我不清楚非结构化声明。当然,您可以将所有内容存储为键值 blob,但您无法按值(有效地)进行搜索。

我在网上找不到任何资源来描述使用 Cassandra 的非结构化数据的最佳实践。理想情况下,对于我们的应用程序,半结构化数据就足够了;但我想了解非结构化声明,因为它可以为我们增加价值。

谢谢。

小智 3

Cassandra 最多只能搜索半结构化数据。这也是通过使用集群键和二级索引来实现的。聚类键绝对是搜索半结构化数据的有效方法。

在不指定分区键的情况下搜索二级索引数据效率不高。有一些解决方案可以提供帮助,即 DSE Search(Solr 与 Cassandr)和 Stargate。如果其中一列是非结构化文本,这两种解决方案也可能有所帮助。

否则,使用 Cassandra 处理非结构化数据并不是一个好主意,因为没有密钥可能无法搜索这些数据。