Cassandra数据库的数据分区

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

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

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

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

更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/database/extra/

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

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

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

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

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

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

时间: 2024-10-06 17:38:18

Cassandra数据库的数据分区的相关文章

在Linux上利用数据分区功能提高可伸缩性和性能

本文首先考察了 DB2 UDB for Linux.UNIX 和 Windows 中的 IBM DB2 Universal Database 数据分区功能(Data Partitioning Feature,DPF)在性能和可伸缩性方面的优点.然后,完成在 SUSE Linux Enterprise Server 上安装和配置具有 DPF 功能的 DB2 的步骤.您还将学习到一些重要的概念和设计方面的考虑,这些将帮助您快速掌握 SUSE Linux Enterprise 环境中 DPF 的安装.

Cassandra数据库中为集群中的节点手动分配token

token 是Cassandra 集群中十分重要的概念,因为他影响着每个节点所管辖的数据的范围:我们就利用程序来生成token然后分配给每个节点: 我们用下面的代码来生成token: #! /usr/bin/python import sys if (len(sys.argv) > 1): num=int(sys.argv[1]) else: num=int(raw_input("How many nodes are in your cluster? ")) for i in r

Apache Geode/GemFire 数据分区和路由机制浅析

本篇文章主要讲解Apache Geode/GemFire 是如何进行数据分区的. GemFire和大多数分布式系统一样都采用 Hash 的方式对数据进行分区,将 Entry 数据分布到 PartitionedRegion 当中,大家都知道 Entry 数据主要保存在 ConcurrentHashMap 中,ConcurrentHashMap存放在 Bucket 中,在 PR 服务器启动后会为 PartitionedRegion创建相应的Bucket 来保存这个ConcurrentHashMap.

ECS数据分区丢失问题处理方法、常见误区和最佳实践

本期分享嘉宾 子岳 多年客户系统和网络运维经验,擅长系统故障分析和排查,目前聚焦VPC网络相关问题处理. ECS数据分区丢失问题处理方法.常见误区和最佳实践 概述 我们在处理客户磁盘相关问题时,经常遇到操作系统中数据盘分区丢失的情况.本文档介绍了Linux和Windows下常见的数据分区丢失问题,以及对应的处理方法,同时给出客户最佳实践以避免可能的数据丢失风险.重要 在对数据修复之前,首先需要对分区丢失的数据盘创建快照.快照创建完成后再进行尝试修复,如果在修复过程中出现问题,可以通过快照回滚还原

《Oracle数据库管理与维护实战》——2.7 数据分区

2.7 数据分区 Oracle数据库管理与维护实战 巨型表或索引由于太大,在数据库系统会引起类似以下几条的很多问题. 因为表变得非常大,以至于要花费大量的时间对这张表进行管理. 对巨型表进行全表扫描,会花费系统大量的时间和资源. 一个事务要查询这张巨型表,如果由于磁盘错误,读写一个数据块发生错误,整个表就变得不能用.管理员恢复这张表要耗费很长时间. 为减少这类问题的发生,Oracle使用分区表和分区索引. 2.7.1 分区表 Oracle允许将表的存储分离为一些空间较小的存储单元,这些小的存储单

Cassandra数据库:曾被Facebook抛弃 现正帮苹果壮大

据<连线>杂志报道,开源分布式NoSQL数据库系统Cassandra最初由Facebook开发,后又被其HBase数据库取代而遭抛弃.可是现在,Cassandra已经成为诸多网络巨头关键的网络基础之一,正帮助苹果等公司发展壮大. 顺势而起 马特·法伊尔(Matt Pfeil)开车从奥斯汀前往圣安东尼奥的一路上,脑子里只想着一件事:阻止乔纳森·埃利斯(Jonathan Ellis)从云计算公司Rackspace辞职.此前,埃利斯曾给包括法伊尔在内的同事发邮件,宣称他将离开Rackspace,创建

h2 删数据 sql优化-h2数据库删除数据速度问题

问题描述 h2数据库删除数据速度问题 想删除h2数据库中某个表部分数据,但该表中有八千万左右数据,如何删除符合要求的一小部分数据呢?比如删除name以abc开头的数据,因为h2数据库我是通过web打开查看的,普通的Sql语句要执行很长很长时间,而且经常报内存不足,各位大神有没有什么优化的方法???求指点呀 解决方案 http://www.lc365.net/blog/b/32424/ 解决方案二: 因为没分了,不过谢谢能回答,对我其他的一些地方有帮助

Excel表格数据分区密码怎么设置

  大家在使用office2010制作Excel表格的时候不知道office2010怎么设置Excel表格数据分区密码,其实方法很简单哦,只要在office2010Excel表格里新建区域然后选中分区就可以进行密码设置了哦,下面就和小编一起来看看吧. office2010设置Excel表格数据分区密码方法: 第一步:首先打开office2010 Excel表格,输入数据.   第二步:点击主菜单上的审阅,点击允许用户编辑区域.   第三步:点击新建区域,选中所选区域,并设置密码123(密码自己随

数据库的数据查询中使用JOIN及子查询有什么缺陷,该如何改善

问题描述 数据库的数据查询中使用JOIN及子查询有什么缺陷,该如何改善 数据库的数据查询中使用JOIN及子查询有什么缺陷,该如何改善 解决方案 泛泛说不好说,关键看你的查询算法.特别是子查询,用的不好在时间和空间上开销很大.这个和编程中的算法类似,你需要对查询本身和算法本身要有理解,这个改善不是查询本身的改善.而是寻求更高效的算法. 解决方案二: http://segmentfault.com/q/1010000000134455 最重要的还是设计好数据库schema等,来减少数据的混合查询 解