Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database design 不断变化的信息需求_Database Design_Cassandra_Data Modeling_Datastax_Denormalization - Fatal编程技术网

Database design 不断变化的信息需求

Database design 不断变化的信息需求,database-design,cassandra,data-modeling,datastax,denormalization,Database Design,Cassandra,Data Modeling,Datastax,Denormalization,当我读到Cassandra和数据建模时,它说Cassandra有一个基于查询的数据建模。因此,我从中了解到,在数据库中,我需要为每个要执行的select查询使用单独的CF。这是真的吗? 使用Cassandra创建一个信息需求没有明确定义的数据库(即将来可以引入新的查询)可以吗?简短的答案是肯定的,长的答案是肯定的,这取决于您的用例 Cassandra最佳实践旨在帮助用户实现亚毫秒延迟和非常高的事务量(百万/秒)。为了实现这些结果,您需要仔细考虑数据模型 也就是说,如果您的工作负载和SLA比我描述

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

简短的答案是肯定的,长的答案是肯定的,这取决于您的用例

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

也就是说,如果您的工作负载和SLA比我描述的更灵活,那么您将有一些回旋余地。一些datastax企业集成(如搜索和分析)也将为您提供临时查询的灵活性

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

还可以使用ALTER TABLE语法修改现有表:

我正在开发一个语言语料库。那么,如果将来可能会引入一些不同的查询,该怎么办?卡桑德拉能提供这些功能吗?我必须为这些创建新表吗?我不确定我是否理解你的问题。如果您的应用程序中有新查询,1)您可以查看现有表是否支持新查询,或者在不破坏现有功能的情况下对其进行适当修改2)如果您使用DSE,您可以尝试使用DSE搜索或分析来解决这些问题。