Contenu connexe
Similaire à Cassandra Technical and history overview
Similaire à Cassandra Technical and history overview (20)
Cassandra Technical and history overview
- 2. About Me
• 码农 @ 盛大云计算 / 云硬盘 (EBS)
• 前Hadoop Developer
• 技术作者、译者《Cassandra权威指南》
(据说像机器翻译的)
• http://wangxu.me/blog/
• @gnawux
- 5. 我们谈的Cassandra
• 无中心的、高性能、可扩展的、分布式非关系型数据库
• 出身名门:
• Facebook开源的NoSQL数据库
• 万千宠爱:
• Twitter, Digg, Rackspace...
• 飞来横祸
• Twitter, Digg, Facebook
• 涅槃重生
• Twitter, Netflix, Rackspace, Reddit
- 8. ⼀一年后……
http://techcrunch.com/2010/09/07 /
digg-struggles-vp-engineering-door/
- 9. Digg员工如是说……
http://www.quora.com/Is-Cassandra-to-blame-
for-Digg-v4s-technical-failures
但究竟Digg的Cassandra
遇到了什么问题?
- 25. Column Family
• 类比RDBMS中的表
• 存储⼀一系列的列
• 每个列是⼀一个三元组(名:值:时间戳)
• 不同的行的列不必相同
• 列是有序的(有索引的)
• 可以取出⼀一列,或进行区间查询
• 常用场景:时间线、不同属性……
• Super Column Family, Composite Column
- 27. Cassandra的可调⼀一致性
• 数据存取API可以指定需要的⼀一致性
• CL.ZERO
• CL.ANY
• CL.ONE
• CL.QUORUM
• CL.ALL
• W+R>N 意味着强⼀一致性
- 29. Benchmarks
• YCSB
• http://nosql.mypopescu.com/post/
3163240962/ycsb-benchmark-results-for-
cassandra-hbase-mongodb
• Netflix’s benchmark
• http://techblog.netflix.com/2011/11/
benchmarking-cassandra-scalability-on.html
- 31. 日常运维
• Node repair
• gc_grace_seconds
• 避免多节点同时repair
• 增加节点
• 划分token range, 指定seed node
• 均衡数据
• ⼀一种策略:成倍增加节点
- 33. 各种客户端
• Java: Hector, Astyanax by Netflix
• Scala: Cassie by Twitter
• Python: Pycassa...
• Ruby: cassandra by Twitter
• ...
- 35. Priam by Netflix
• 每个节点上运行的辅助工具,用于:
• Backup and recovery (to S3)
• Bootstrapping and automated token
assignment.
• Centralized configuration management
• RESTful monitoring and metrics
- 37. DHT
• Dynamo by Amazon
• 结构化P2P, ⼀一致性哈希
• Gossip
• 读时修复
• Anti-Entropy, Merkle Tree