Cassandra
翔飞天宇
资料共享,相互学习,共同进步
展开
-
Cassandra Query Language (CQL) v2.0
http://cassandra.apache.org/doc/cql/CQL.html原创 2014-04-01 16:38:14 · 873 阅读 · 0 评论 -
[译文]理解Cassandra源代码
[译文]理解Cassandra源代码标签: 云计算 Cloud translation nosql cassandra reading 2010-05-13 01:22原文: http://prettyprint.me/2010/05/02/understanding-cassandra-code-base/ 原作者:Ran Tavo转载 2014-03-25 15:17:52 · 1057 阅读 · 0 评论 -
HBase vs Cassandra: why we moved
原文: http://ria101.wordpress.com/2010/02/24/hbase-vs-cassandra-why-we-moved/ 原作者:Dominic Williams 原文发布日期:February 24, 2010 at 7:27 pm 译者:王旭(http://wangxu.me/blog/ ,@gnawux) 翻译时间:2010年3月21翻译 2014-03-25 17:27:06 · 891 阅读 · 0 评论 -
Cassandra源码学习:Gossip协议
Gossip协议概述Cassandra集群中的节点没有主次之分,它们通过一种叫做Gossip的协议进行通信。通过Gossip协议,它们可以知道集群中有哪些节点,以及这些节点的状态如何?每一条Gossip消息上都有一个版本号,节点可以对接收到的消息进行版本比对,从而得知哪些消息是我需要更新的,哪些消息是我有而别人没有的,然后互相倾诉吐槽,确保二者得到的信息相同,这很像现实生活中的八卦(摆龙门阵)原创 2014-04-02 17:51:35 · 2112 阅读 · 0 评论 -
Cassandra源码学习:数据读取
Cassandra学习笔记之数据读取分类: NOSQL2014-03-29 21:51 50人阅读 评论(0) 收藏 举报memtableNOSQLcassandra压缩目录(?)[+]读取流程cassandra的数据可能在Memtable中,也可能在多个SSTable中,每个地方都可能有某个column对应的值,怎么才能读取最新的值原创 2014-04-08 19:29:35 · 1296 阅读 · 0 评论 -
Cassandra源码学习:数据更新
分类: NOSQL2014-03-29 18:27 32人阅读 评论(0) 收藏 举报memtablecassandracommitlog目录(?)[+]写入流程cassandra先把数据写入commitlog中,然后把数据写入内存Memtable中,当以下条件之一满足时,Memtable会被写入SStable中1、达到memtable_th原创 2014-04-08 19:32:26 · 1087 阅读 · 0 评论 -
Cassandra源码学习:数据文件分布
Cassandra学习笔记之数据文件分布分类: NOSQL2014-03-29 16:41 23人阅读 评论(0) 收藏 举报nosqlcassandracommitlogmemtablesstable目录(?)[+]概述Cassandra写入数据流程是先将数据写入Commitlog中,然后写入内存Memtable中,当满足一定条件将原创 2014-04-08 19:38:47 · 932 阅读 · 0 评论 -
Cassandra源码学习:一致性hash回顾
每个节点都有一个哈希值,将这个哈希值配置到圆环上(0到2的32次方),相当于这个圆环分配给了这些节点,每个节点负责一段。数据根据同样的哈希函数也得到一个哈希值,这个哈希值落到哪一段,就表示这个节点存储在这段对应的节点上。每添加或者移除一个新的节点,只有相邻的那个节点会受到影响,因此,一致性哈希解决了节点变化引起的数据重新分布问题。Cassandra1.2以前采用的是这种标准的一原创 2014-04-01 17:11:31 · 1049 阅读 · 0 评论 -
Cassandra源码学习:机架感应策略
分类: NOSQL2014-03-06 23:15 279人阅读 评论(0) 收藏 举报NOSQLcassandra数据中心机架snitch目录(?)[+]Snitches概述Cassandra提供了Snitches功能,可以知道集群中的每个节点所属数据中心和机架。所有机架感应策略都实现了相同的接口IEndpointSnitch。先来看看原创 2014-04-08 19:35:36 · 2229 阅读 · 0 评论 -
Cassandra源代码阅读笔记
1 、目的满足大数据量、大量随机的读写操作应用场景下的数据存储需求。更是用于实时在线应用。 2 、功能概要BigTable 存储结构+Dynomo 分布式模型多副本高可用易增量扩展最终一致性最小化管理 3 、数据类型描述Column 字段,包含name ,value, IClock (用于检测和解决冲突,目前使用 timestamp转载 2014-03-25 17:30:20 · 1560 阅读 · 0 评论 -
Cassandra源代码分析:数据写入流程
org.apache.cassandra.thrift.CassandraServer类的add方法将接受客户端的请求,该函数定义如下: public void add(ByteBuffer key, ColumnParent column_parent, CounterColumn column, ConsistencyLevel consistency_level)转载 2014-03-25 17:01:54 · 1205 阅读 · 0 评论 -
走进cassandra之四:副本机制
如果你要想最大限度保持一个东西不会忘记掉,你最好的办法,不是死记,记好几十遍。而是要告诉几个人,这样就算你忘记了,别人还记得。在cassandra里面呢,这个原理可以描述为Replication is the process of storing copies of data on multiple nodes toensure reliability and fault tolera转载 2014-03-24 17:51:38 · 1001 阅读 · 0 评论 -
走进cassandra之五:存储机制
有图有真相。先上个图。这个图总的意思就是说,数据先写入内存中的Memtable,Memtable达到条件后刷新到磁盘,保存为SSTable,同一个CF的多个SSTable可以合并(Compaction)以优化读操作commit log -> memtable -> sstable -> compaction.看起来似乎有些麻烦,存个数据要这么多弯弯绕,但是记得,兄弟们,现在转载 2014-03-24 17:52:43 · 1393 阅读 · 0 评论 -
走进cassandra之六:数据读写删
先说写,再说读,最后说 数据一致性(data consistency)。cassandra对于 数据写入,那是相当给方便的,比对 首长儿子还亲呢, 写的相当快,相当高效。相比来说,关系型数据库,对于数据 写入,那就不那么方便了。不方便的原因呢,是因为 关系型 数据库 为了保持数据冗余最少,它的表都是结构化的。举例来说,一个产品的大小,形状,价格,打折信息,分散在好多表里面,你要想查询一转载 2014-03-24 17:53:39 · 982 阅读 · 0 评论 -
走进cassandra之二:数据模型
关于数据模型的介绍, 这里有一篇文章,讲的挺好的。http://blog.csdn.net/wh62592855/article/details/5721152这里我就不再赘述,稍微讲点不一样的。在1.1官方的文档里面,列族被分成了两类:static column familydynamic column famliystatic这种,就是传统上的,大家很快转载 2014-03-24 17:47:50 · 1091 阅读 · 0 评论 -
走进cassandra之三:分区器
从这节开始,都是高年级知识了,需要一点分布式的基础知识。以前的文章说到, james(公司大佬)把任务分给了几拨人来做,那么怎么个分法呢? 什么任务交给什么人呢?James估计是有自己的一套算法的, 在cassandra里面,这个对应的概念就叫 data partitioning.(数据分区)数据分区,也是有一套算法的,里面有这3个重要参数:• A partitioner th转载 2014-03-24 17:50:31 · 839 阅读 · 0 评论 -
走进cassandra之一:CAP和分布式
我决定share一下我的cassandra学习成果,写一些博客,跟大家共同分享一下,准备写10篇文章,内容分别涉及分布式存储概述及CAP,数据模型,分区器,副本机制,存储机制,数据读写删,最终一致性,gossip,cassandra的实际应用,学习总结。先写第一篇,先说咋理解分布式。这术语解释起来拗口,举个例子就比较好理解了。比如说参转载 2014-03-24 17:46:37 · 1018 阅读 · 0 评论 -
Cassandra源代码分析(一)Table和ColumnFamilyStore
1.1 TableTable是Cassandra中表示DB对象的顶级描述,这里的Table实际上是一个古老的名词,合理的意思应该是Keyspace,表示的是数据库级别的描述信息。类org.apache.cassandra.db.Table中定义的一些重要的静态对象和实例级别(也就是Keyspace级别)的对象: private static Timer flu转载 2014-03-25 16:12:31 · 2803 阅读 · 0 评论 -
Cassandra源码学习:数据模型
目录(?)[+]ColumnColumn是Cassandra中最小的数据单元,它是一个三元的数据类型,包含name,value,timestamp.Column必须有一个名称,类似于JAVA中的字符串,应用创建后可以动态地设置,Column可以在name上建索引。不要求每个name都有对应的value,value可以为空。还有一列是时间戳,标识c原创 2014-04-08 19:37:26 · 962 阅读 · 0 评论