Cassandra 数据分区

简介:

Cassandra数据分区

当启动Cassandra集群时,需要选择数据如何在集群中划分,这个由partitioner来完成。

Cluster中管理的所有数据被表示成环(ring).环被划分为和节点数量等同的范围(range). 每个节点加入集群时候,都要发放一个令牌(token),它决定了节点在环中的位置以及负责的数据的range.

Column Family(也就是对应关系数据库的表)就是按照分区来的。

 

 

配置partitioner,则需要指定分区策略:

RandomPartitioner(随机分区):这是Cassandra集群中默认的分区策略,它使用了一致性hash的算法。这个算法说明详细见:

http://www.cnblogs.com/coser/archive/2011/11/06/2238359.html

这种策略优点是:一旦你token被分配了,那么column family的数据会被平均的分配到多个集群节点中,并且简化了负载均衡。对于column family数据的读写也是平均的。

 

OrderedPartitioner(排序的分区):这个Cassandra集群并不推荐。

这必须保证所有的key已经排序了。

 

我们查看下我们系统的分区策略选择:





本文转自 charles_wang888 51CTO博客,原文链接:http://blog.51cto.com/supercharles888/865191,如需转载请自行联系原作者

目录
相关文章
|
4天前
|
存储 运维 负载均衡
分区存储
分区存储
16 0
|
1月前
|
SQL Apache HIVE
一文彻底掌握Apache Hudi的主键和分区配置
一文彻底掌握Apache Hudi的主键和分区配置
65 0
|
SQL HIVE
Hive分区+根据分区查询
Hive分区+根据分区查询
|
4月前
|
缓存 分布式计算 NoSQL
分布式NoSQL列存储数据库Hbase_MR集成Hbase:读写Hbase规则(九)
分布式NoSQL列存储数据库Hbase_MR集成Hbase:读写Hbase规则(九)
38 0
|
4月前
|
NoSQL 分布式数据库 数据库
分布式NoSQL列存储数据库Hbase_列族的设计(五)
分布式NoSQL列存储数据库Hbase_列族的设计(五)
200 0
|
4月前
|
SQL 算法 关系型数据库
mysql集群分区
mysql集群分区
17 0
|
SQL 存储 数据库
hive 删除某个分区中部分数据
hive 删除某个分区中部分数据
|
存储 NoSQL 分布式数据库
Kudu 架构—tablet 的冗余存储机制 | 学习笔记
快速学习 Kudu 架构—tablet 的冗余存储机制
215 0
Kudu 架构—tablet 的冗余存储机制 | 学习笔记
|
存储 缓存 分布式计算
Hbase分布式列存储数据库
HBase 本质上是一个数据模型,可以提供快速随机访问海量结构化数据。利用 Hadoop 的文件系统(HDFS)提供的容错能力。它是 Hadoop 的生态系统,使用 HBase 在 HDFS 读取消费/随机访问数据,是 Hadoop 文件系统的一部分。 HBase 是一个面向列的数据库,在表中它由行排序。表模式定义只能列族,也就是键值对。一个表有多个列族以及每一个列族可以有任意数量的列。后续列的值连续地存储在磁盘上。表中的每个单元格值都具有时间戳。总之,在一个 HBase:表是行的集合、行是列族的集合、列族是列的集合、列是键值对的集合。
258 0
Hbase分布式列存储数据库
|
SQL 存储 HIVE
iceberg 分区是如何读写和维护
了解iceberg 分区的信息和数据维护,以及分区变更之后对数据读取到影响
iceberg 分区是如何读写和维护