前言
最近机缘巧合接触了Cassandra,经历了几天的安装部署压测完成任务的同时,利用时间结合网上的博客了解学习了Cassandra,并且简单实操了下,在此进行总结。
参考链接
1. Cassandra官网: https://cassandra.apache.org
官网文档: https://cassandra.apache.org/doc/latest/
2. Cassandra下载链接: http://archive.apache.org/dist/cassandra/
3. Cassandra安装部署:http://blog.chinaunix.net/uid-20104120-id-3282195.html
对于单节点而言,基本jdk python环境部署好后,cassandra的tar包直接解压,然后配置环境变量即可。此次实操也是单节点进行,集群搭建参考:https://www.cnblogs.com/TSlover/p/11398535.html
4. Cassandra基本使用教程:https://www.w3cschool.cn/cassandra/
5. Python2.7.9安装:https://www.ucloud.cn/yun/63210.html
6. YCSB介绍:
https://www.cnblogs.com/foxmailed/archive/2012/02/29/2374595.html
https://www.jianshu.com/p/b4904a9f0d11
7. YCSB下载链接:https://github.com/brianfrankcooper/YCSB/releases
8. ycsb-cassandra-binding-0.17.0.tar.gz下载百度云链接:因为这个从github下载需要翻墙,所以提供一下我的百度云链接,可以直接下
解压后就可以直接用,无需编译
链接:https://pan.baidu.com/s/1oIv4q0HpR3AXZCtYm79T0g
提取码:v1jt
9. YCSB对Cassandra进行压力测试:https://www.cnblogs.com/lijinji/p/8591800.html】
10. YCSB核心属性:https://github.com/brianfrankcooper/YCSB/wiki/Core-Properties
知识点
1. 基本概念
Apache Cassandra是一个分布式NoSQL数据库,用于处理大量商用服务器上的大量结构化数据,可提供高可用、高可扩展的服务,无单点故障。于2009年3月被纳入Apache孵化器,自2010年2月以来成功一个Apache顶级项目。
同RDBMS相比,Cassandra在支持存储结构化数据的同时,无固定模式,面向列,可分布式存储
同HBase相比,Cassandra在面向列存储的同时,支持事务,支持存储结构化数据,无单点故障
如果仅仅是存储海量数据并且数据更新少,且要求数据不能丢失可以快速通过添加机器扩容,可选Cassandra;如果是对数据有频繁读操作,且支持倒排可选HDFS+HBase
单点故障:集群中一个节点宕机或者出现其他故障,导致集群崩溃或者数据丢失。
Cassandra的特性:
- 弹性高扩展性——允许添加更多的硬件以适应更多的客户和数据要求
- 基于架构——无单点故障,可连续用于承担故障的关键业务应用程序
- 快速线性性能——线性可扩展,可保持一个快速的响应时间
- 数据存储——适应所有可能的数据格式,包括结构化、非结构化和半结构化
- 数据分发——通过在多个数据中心间复制数据,可在需要时分发数据
- 快速写入——同HBase类似,可在廉价的PC机上运行。执行快速写入,并可存储数百TB的数据
Cassandra的应用场景: 参考https://www.cnblogs.com/starcrm/p/11943812.html
- 写大于读:分布式写操作,可在任何地方任何时间集中写数据,无单点故障
- 数据更新少
- 通过主键查询
- 不需要join
- 交易日志:例如购买记录等
- 存储时序数据<