Cassandra用于改变信息需求

时间:2014-11-06 15:37:14

标签: database-design cassandra data-modeling datastax denormalization

当我读到Cassandra和数据建模时,它说Cassandra有一个基于查询的数据建模。所以我从中理解的是,在数据库中我需要为我想要执行的每个选择查询都有一个单独的CF.这是真的? 是否可以使用Cassandra创建一个数据库,其中没有明确定义信息需求(即将来可以引入新的查询)?

1 个答案:

答案 0 :(得分:1)

简短的回答是肯定的,答案很长,这取决于你的使用案例。

Cassandra最佳实践旨在帮助用户实现亚毫秒级延迟和非常高的交易量(数百万/秒)。为了实现这些结果,您需要非常慎重地考虑数据模型。

话虽如此,如果您的工作量和SLA比我描述的更灵活,您将有一些摆动空间。某些数据存储企业集成(如搜索和分析)也可以为您提供ad-hoc查询的灵活性。

您可能可以设计支持多个查询的表。但是,不要害怕数据重复,这通常是性能和c *最佳实践的良好折衷。

您还可以使用ALTER TABLE语法修改现有表: http://www.datastax.com/documentation/cql/3.0/cql/cql_reference/alter_table_r.html