windows下安装cassandra数据库

一、是什么?

用一句话概括就是:cassandra数据库是一个 开源分布式NoSQL数据库系统。
既然是分布式的就肯定涉及到集群或者多节点,这里注意下!至于其他的简介,百度百科说的很清楚
推荐看这篇文章,作者写了4篇,进作者的主页里去找其他3篇:https://blog.csdn.net/amyno1/article/details/124217196

二、怎么用?

具体使用可以参考这个篇文章:
https://blog.csdn.net/cloudflash/article/details/124681298

先记录下windows系统怎么安装这个数据库,后面可能会更新linux系统下的安装和部署
1、去官网下载压缩包,版本最好不要用最新的,也不要用太老的版本
cassandra官网:http://cassandra.apache.org/download/
在这里插入图片描述
在这里插入图片描述

2、下载好了之后把压缩包放到你电脑的任意盘符里然后解压,这里我放到G盘新建的文件夹G:\cassandra下, 解压好之后进到bin目录下检查下有没有这两个bat文件,如果没有,下载的版本有问题,重新去选择版本下载(我下载过一次3.9版本的,就没有bat文件)
在这里插入图片描述3、配置系统变量
前提是电脑装了有jdk配置好了jdk的环境变量;
在这里插入图片描述
这里看到我也配置了python的环境变量,因为cqlsh.bat这个登录数据库的命令要用到python,所以要安装python 2并配置好环境变量

安装python简单,官网下载,自接安装就行;

看网上到处都说要新建三个目录,然后还要修改cassandra.yaml配置文件,还要注意留空格啥啥啥的,分别存放数据库的数据存储,日志存储和缓存;其实是不用多此一举的,在执行下面的启动命令时,cassandra会自动给你创建的出来的,见下图:
在这里插入图片描述

4、在G:\cassandra\apache-cassandra-3.11.14-bin\apache-cassandra-3.11.14\bin目录下cmd打开黑窗口 输入启动命令 cassandra.bat不报错就代表启动成了
在这里插入图片描述
这个黑窗口就放在这不要关闭 关闭就代表停止了数据库服务;
然后,在开一个黑窗口,执行cqlsh.bat登录数据库
在这里插入图片描述
也可以使用默认用户cassandra 默认密码cassandra登陆
在这里插入图片描述
这个命令describe keyspaces;类似关系型数据库中的查看所有的数据库

5、语法跟mysql几乎一样
下面贴上几个常用的命令:
–查询数据库
describe keyspaces;
–创建数据库
CREATE KEYSPACE IF NOT EXISTS renhaoCasDB WITH REPLICATION = {‘class’: ‘SimpleStrategy’,‘replication_factor’:1};
–进入指定数据库 (这个后面的分号一定要加上,不然进不去)
use renhaoCasDB;
–创建表
create table user(id int, name varchar, primary key(id));
–查询表
describe tables;
–插入数据(涉及中文的话,要去设置数据库的编码)
INSERT INTO user (id, name) VALUES (1,‘renhao’);
INSERT INTO user (id, name) VALUES (2,‘gaoming’);
INSERT INTO user (id, name) VALUES (3,‘qianchen’);
–查询数据
select * from user;
–删除数据(删除一定要带上条件,不然会报错)
delete from user where id = 1;
---------- 语法同mysql -----------

在spring boot项目中怎么使用cassandra数据库
参考:http://jvm123.com/2019/11/springboot-cassandra-2.html
https://blog.csdn.net/abcd199811/article/details/127036663

三、为什么?

为什么要使用这个数据库?mysql不香了?

一个字,快!

说仔细点?就是cassandra是非关系型数据库,基于列检索,而mysql是基于行检索的全表扫描

再说仔细点?那好,看下这位知乎大神的总结
(---------------- 以下内容引用于https://zhuanlan.zhihu.com/p/475239221,
https://zhuanlan.zhihu.com/p/474697570 ----------------------- )

Apache Cassandra是什么?
Apache Cassandra 是一个分布式数据库。

在计算机领域中,数据库通常指人们希望长时间存储数据的地方,比如,存储公司员工的信息,公司的财报等等。

分布式指的是,一个数据库可以同时被多个电脑使用并保证数据的一致性。比如在图1的例子中,当你在自己的电脑里存了一部小电影,通过分布式数据库,你的老板和女友也可以同时看到,是不是很贴心呢。
在这里插入图片描述
为什么要用Apache Cassandra
很多我们熟悉的大公司在使用Apache Cassandra,包括eBay, GitHub,Netflix, facebook 等等。在2022年的数据库受欢迎程度排名上,Apache Cassandra 稳居第11(来源 DB-Engines Ranking)。
在这里插入图片描述
有读者要吐槽了,11名也好意思拿来说嘛,多捞啊。

我们其实要考虑到,当今的数据库已经被划分出多个种类,如表1 列出的关系型数据库,键值数据库等等。也就是说,只要我们把赛道换一下(非关系数据库,宽列数据库),Apache Cassandra 那就是场上最亮的崽。

Apache Cassandra的其他特点
数据备份
数据库里的数据会自动备份,并存在多个不同的节点(电脑)上,当一个电脑炸了,依然可以从别的电脑读取出来。

高性能
简单来说, 就。。很快。 尤其是输入的时候。

去中心化
没有主节点,从任何节点读写都一样的。

可扩展
硬盘不够用了?可以随时往Cassandra里加入新的电脑。 (比如,图1中可以随时多加几个朋友的电脑,分享他们的硬盘的同时,共享你们的小电影)

什么是列数据库
列数据是按照表格中每一列进行存储的数据库,这样的结构设计极大的优化了数据库在对列数据的读写效率。下面的表格给出一个列数据库的例子。
在这里插入图片描述
在列数据库中,该表格中的数据将会被按以下格式存储:

李云龙:1, 赵刚:2,丁伟:3,孔捷:4,张大彪:5,魏大勇:6

独立团:1, 独立团:2,新一团:3,新二团:4,独立团:5,独立团:6

团长:1, 团长:2,团长:3,团长:4,营长:5,警卫员:6

赵大政委:2,孔二愣子:4,和尚:6

优化范围搜索
可以看到,每一列的值都被映射到了rowid上,使其对于范围搜索变的非常高效,比如,我要寻找所有属于‘独立团’的人物, 只需要检索‘部队番号’这一列,如果值为独立团,则返回相应的rowid,然后在人物这一列,找到对应的人物名字。

如果对于行数据库,则需要遍历每一行,即遍历整个表格。

优化存储
1 不用存储‘空’值,比如‘外号’这一列,只存了赵大政委,孔二愣子,和尚。而对于行数据库,则需要在‘空’值处标记‘NULL’。

2 对连续相同的值,便于压缩,比如对于‘部队番号’这一列,可以压缩为

独立团2:1,新一团:3,新二团:4,独立团2:5

即,对于第一,二行的值,都是独立团。

什么是行数据库
为了比较一下区别,我们也简单看一下行数据库的特点。

在行数据库中 (比如大家熟悉的关系性数据库MySQL), 数据会被按行来存储,比如,改表格中的数据将会被按一下格式存储:

1: 李云龙,独立团, 团长, NULL

2:赵刚,独立团, 团长, 赵大政委

3:丁伟, 新一团,团长, NULL

4:孔捷,新二团,团长,孔二愣子

5:张大彪,独立团,营长,NULL

6:魏大勇,独立团,警卫员,和尚

其中,rowid是一个系统内置的key,通过它我们可以找到每一行的数据。这样的设计使得行数据库对于按行搜索非常的高效,比如在上表中,我想找李云龙的所有信息,数据库将会利用rowid = 1 直接返回第一行的所有内容。

然而,对与大范围的搜索,行数据则变得不那么高效。在上面的例子中,如果我要寻找所有属于独立团的人物,则需要遍历整个数据库进行检索。

(当然,由于类似的范围搜索在实际使用中非常常见,大部分行数据库也有自己的解决方法, 比如在原表格的基础上另建一个些索引,比如对于‘部队番号’这一列,

独立团:1,独立团:2 ,独立团:5,独立团:6,新二团:4,新二团:3

注意在这个索引中,‘部队番号’按拼音首字母排了序,优化了之后的搜索。)

(---------------- 以上内容引用于https://zhuanlan.zhihu.com/p/475239221,
https://zhuanlan.zhihu.com/p/474697570 ----------------------- )

所以,综上所述,用cassandra存储那种频率很高的监控日志,是不是很合适呢

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值