Cassandra数据分布之5分区器
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Cassandra数据分布之5分区器,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含848字,纯文字阅读大概需要2分钟。
内容图文
分区器决定了数据在集群中节点的分布。分区器的功能是通过为每一行数据的分区键(partion key)分配一个令牌(token),然后通过这个令牌(token)将数据保存在cassandra集群中。
Cassandra提供了如下如下4种分区器。Cassandra中的实现如下图:
-
ByteOrderedPartitioner:有序分区器,它将键值数据看做是裸字节。
-
LocalPartitioner:对分区键未做任何处理的分区器。
-
Murmur3Partitioner:基于MurmurHash哈希算法,能将数据均匀地分布在集群上。
OrderPreservingPartitioner:令牌是基于键值的UTF-8字符串。各行是按照键值的顺序存储的,按照排序顺序对齐物理结构。此分区器查询并不比随机分区器更有效率——它只提供顺序性。它的一个缺点是非常容易让环不均衡,所以非常有可能导致最后大量数据位于某些节点,而其它节点的数据很少。那些存在很多数据的节点,使得环非常不平衡,常常被看做是“热点”。
- RandomPartitioner:它使用BigIntegerToken存放MD5哈希值,通过哈希值来决定键值放在环上的具体位置。这样做的好处是可以让键值很均匀地分布到集群中,因为这个分布是随机的。它的不足在与区间查询的效率不高,因为在一个指定区间的键值可能会分布在环上很分散的位置,而且键值的区间查询返回的数据也是随机顺序的。
分区器可以通过修改配置文件cassandra.yaml中partitioner的配置来设置。你也可以实现org.apache.cassandra.dht.IPartitioner接口来创建自己的分区器,并放到Cassandra的classpath下。
参考:cassandra权威指南,官网Partitioner
原文:http://blog.csdn.net/limingjian/article/details/45091537
内容总结
以上是互联网集市为您收集整理的Cassandra数据分布之5分区器全部内容,希望文章能够帮你解决Cassandra数据分布之5分区器所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。