cassandra 优化
Apache Cassandra是一个数据库。 但这不仅仅是任何数据库; 它是一个为可伸缩性,高可用性,低延迟和性能而设计和调整的复制数据库。 Cassandra可以帮助您的数据在区域中断,硬件故障以及许多管理员认为过多数据的情况下幸免。
掌握完备的数据分区命令可以使您实现出色的Cassandra集群设计,性能和可伸缩性。 在本文中,我将研究如何定义分区以及Cassandra如何使用它们,以及您应注意的最关键的最佳实践和已知问题。
Cassandra中的数据分区
Cassandra作为分布式系统运行,并遵守上述数据分区原则。 使用Cassandra,数据分区取决于在群集级别配置的算法和在表级别配置的分区键。
![Cassandra数据分区 Cassandra data partition](https://opensource.com/sites/default/files/uploads/apache_cassandra_1_0.png)
Cassandra查询语言(CQL)使用熟悉SQL表,行和列术语。 在上面的示例图中,表配置在其主键中包括分区键,其格式为:主键=分区键+ [群集列]。
Cassandra中的主键既代表唯一的数据分区,又代表分区内的数据排列。 数据排列信息由可选的群集列提供。 每个唯一的分区键代表服务器中管理的一组表行以及管理其副本的所有服务器。
在CQL中定义主键
以下四个示例演示了如何用CQL语法表示主键。 这些定义所产生的行集通常被视为分区。
定义1(分区键:log_hour,集群列:无)
CREATE
TABLE server_logs
(
log_hour
TIMESTAMP PRIMARYKEY
,
log_level text
,
message text
,
server text