Cassandra 简介
Cassandra 是一个开源分布式 NoSQL 数据库系统.
它最初由 Facebook 开发, 用于储存收件箱等简单格式数据, 集 GoogleBigTable 的数据模型与 Amazon Dynamo 的完全分布式的架构于一身. Facebook 于 2008 将 Cassandra 开源, 此后, 由于 Cassandra 良好的可扩展性, 被 Digg,Twitter 等知名 web 2.0 网站所采纳, 成为了一种流行的分布式结构化数据存储方案.
不过国内并未流行起来, 除了最早的淘宝和 360 在用, 加上阿里巴巴后来一直在推崇 HBase, 就 GG 了...
Cassandra 特点
Cassandra 的主要特点就是它不是一个数据库, 而是由一堆数据库节点共同构成的一个分布式网络服务, 对 Cassandra 的一个写操作, 会被复制到其他节点上去, 对 Cassandra 的读操作, 也会被路由到某个节点上面去读取. 对于一个 Cassandra 集群来说, 扩展性能是比较简单的事情, 只管在群集里面添加节点就可以了.
上面的话太官方了, 哈哈哈., 简单来说呢就是说它是一个 P2P 去中心化的东西, 咱门平时传统用的数据库都会有 Master/Slave, 在复杂的场景下对于 Master 进行扩展是个非常麻烦的事, 而 Cassandra 帮助我们解决了这个麻烦.
它是一个面向列的数据库, 不向传统结构式数据库是用表来模拟关系, 也就是说你可以随意扩展你的字段. 你可以想象 cassandra 是一个连续嵌套的 Map 结构. 如下图所示
使用 docker 搭建 cassandra
我是比较懒的, docker 的出现正好帮我解决了搭环境的麻烦事, 让开发能够更加专注写 bug..., 咳咳废话不多说, 下面咱开始搭建.
1. 环境使用的是 Vm ware15+Centos7+docker.
2. 首先上 https://hub.docker.com/ 拉取 cassandra 的官方镜像
按照命令执行就行如下图
3. 按照官网的提示执行如下命令
$ docker run --name some-cassandra --network some-network -d cassandra:tag
我们把上面的命令修改一下因为只是开发学习使用, 把 docker 的网络去掉, 名字也不需要大部分时候我们一般只用 ID, 还有就是我们一会要使用 VsCode 的插件连接 Cassandra, 所以需要把 9042 这个端口号映射出来, 修改完毕的命令如下
$ docker run -d -p 9042:9042 cassandra
放到 Linux 服务器上执行如下
VsCode 插件安装
首先先创建一个 CassandraWorkbench 的工作目录如下图, 当然你也可以手动建
然后 cd 到该目录用 vscode 打开 如下图
安装该插件
然后初始化该插件如下图
然后点击这个齿轮配置一下 cassandra 服务端
因为咱门服务端没有设置任何密码之类的, 所以就用第一种就行 jsonc 文件修改图如下
当然你也可以按照插件官网提示的把这些系统的键空间给过滤掉
最后让我们创建一个键空间试一下吧. 右键你刚才配置的服务端名字然后点击 Create Keyspace, 然后插件帮我们生成了 CQL, 点击一下执行发现创建成功了!!(vscode 是不是很强大)
最后上一张工作面板的示意图
老早就打算开始写博客了, 主要是因为想记录一下学习的路线和自己的成长, 同时也希望能够帮助其他小伙伴能够少绕开一些坑.
ps: 今天终于开始了第一篇. 哈哈, 值得纪念一下.
来源: https://www.cnblogs.com/liyufeia/p/11297994.html