提纲•概述和特点•数据模型–概念,排序,twitter,rrd•Ring•写操作•读操作•API•性能测试和比较•配置说明概述•非关系的数据库•分布式的Key-Value存储系统•一堆数据库节点共同构成的一个分布式网络服务•对Cassandra的一个写操作,会被复制到其他节点上去•对Cassandra的读操作,也会被路由到某个节点上面去读取特点•模式灵活:–使用Cassandra,像文档存储,你不必提前解决记录中的字段
你可以在系统运行时随意的添加或移除字段
这是一个惊人的效率提升,特别是在大型部署上
•真正的可扩展性:–Cassandra是纯粹意义上的水平扩展
为给集群添加更多容量,可以指向另一台电脑
你不必重启任何进程,改变应用查询,或手动迁移任何数据
•多数据中心识别:–你可以调整你的节点布局来避免某一个数据中心起火,一个备用的数据中心将至少有每条记录的完全复制
数据模型数据模型•可以理解为四维或者五维的hash•Cluster包含多个Keyspace•Keyspace包含多个ColumnFamily,通常对应一个application,如twitter•ColumnFamily包含多个Column,或者是SuperColumn•SuperColumn:包含有多个Column•Column最小数据单元,三元组:name,value,timestamp•想象成一个name/value对•name和value都是byte[]类型的,长度不限•例子:"name":"emailAddress","value":"foo@bar
com","timestamp":123456789•所有的值都由客户点提供,包括timestamp,所以要求客户端同步;•Timestamp的作用是用来解决数据冲突,几乎可以忽略;Column(三元组)SuperColumn•我们可以将SuperCo