
CASSANDRA
昕玫
求知而无欲
展开
-
CASSANDRA学习笔记 (十二)再复习一下partition
Cassandra 横向扩展(Scale Out),即通过增加集群中节点数量来获得水平扩展的能力,依赖于分区将数据进行切分并分配到各个节点中去。目前,主要的分区方式有两种:范围分区(Range Partition)和哈希分区(Hash Partition)。其中,HBase 使用的范围分区,Cassandra 使用的哈希分区。一致性哈希Cassandra 采用了一致性哈希(Consis...转载 2019-12-24 10:20:39 · 1180 阅读 · 0 评论 -
CASSANDRA学习笔记 (十一) 集群架构
Cassandra是点对点分布式系统,集群中各节点平等,数据分布于集群中各节点,各节点间每秒交换一次信息。每个节点的commit log捕获写操作来确保数据持久性。数据先被写入memtable-内存中的数据结构,待该结构满后数据被写入SSTable-硬盘中的数据文件。所有的写内容被自动在集群中分区并复制。Cassandra数据库面向行。授权用户可连接至任意数据中心的任意节点,并通过类似SQL的...转载 2019-12-23 17:35:56 · 1534 阅读 · 0 评论 -
CASSANDRA学习笔记 (十) 从读、写过程看运行机制
上一篇我们有详细说MemTable,SSTable和Commitlog。其实就是数据在写入的时候,会先存在内存里(MemTable),同时会在Commit log里留一条记录,这条记录只是在系统Crash的时候才用来恢复数据的。在内存里堆积的数据足够多时,会把数据合并到磁盘文件里,生成SSTable。所以,如果在读数据的时候,我们要按什么流程来合并这两部分的数据呢?从更宏观看,我们在定义一个数...原创 2019-12-23 16:54:26 · 1645 阅读 · 0 评论 -
CASSANDRA学习笔记 (八) 批处理和CRUD
对于常规数据操作语句,我们用例子大致过一下:1. BATCH 批处理,就是一次性执行多条语句。BEGIN BATCH<insert-stmt>/ <update-stmt>/ <delete-stmt>APPLY BATCH2. 创建数据INSERT INTO <tablename>(<column1 name>...原创 2019-12-13 11:32:46 · 1020 阅读 · 2 评论 -
CASSANDRA学习笔记 (七) 索引原理
Cassandra的索引,采用了二级索引这个机制。1. 概要:对于Cassandra来说,一级索引就是Primary Key. 因为查询的时候,可以直接根据Key算出token然后直接获取对应的记录。而二级索引,作为辅助索引就是为了找到一级索引。然后再通过一级索引找到真正的值。2. 实现:Cassandra之中的索引的实现相对MySQL的索引来说就要简单粗暴很多了。他实际上...原创 2019-12-13 10:21:20 · 1435 阅读 · 0 评论 -
CASSANDRA学习笔记 (六)关于CASSANDRA里的Key
在上一章表相关的内容中,有提到primary key。实际上,CASSANDRA里面有五种key,primary key是其中的一种。所以这里来了解一下,CASSANDRA里的key相关的知识。NoSQL DB的表与数据模型设计跟传统的RDBMS很不一样。最大的一个不同就是反范式。比如提倡数据冗余,使得不至于写出非常复杂的SQL语句。就Cassandra而言,最关键的地方在于Key的设...原创 2019-12-12 17:39:01 · 1099 阅读 · 0 评论 -
CASSANDRA学习笔记 (五)理解Cassandra的表
先看一个建表语句:cqlsh> USE tutorialspoint;cqlsh:tutorialspoint>; CREATE TABLE emp( emp_id int PRIMARY KEY, emp_name text, emp_city text, emp_sal varint, emp_phone varint );表务必要有...原创 2019-12-12 16:35:17 · 1063 阅读 · 0 评论 -
CASSANDRA学习笔记 (四) 建一个SpringBoot项目用于练手
在学习完keyspace的创建后,后续的练习都可以同步在命令行和JAVA API中执行。因此,在这里暂停一下,我们建一个项目用于练习操作我们本机搭的这个Cassandra。我目前手头的环境只有一个IntelliJ和一个JDK8,所以需要补充一些内容。1. 安装Spring Boot项目创建的便捷插件:https://blog.youkuaiyun.com/chy555chy/article/...原创 2019-12-12 15:59:05 · 791 阅读 · 0 评论 -
CASSANDRA学习笔记 (三) 创建keyspace 键空间
cassandra的键空间(keyspace)相当于数据库,我们创建一个键空间即是创建了一个数据库。语句CREATE KEYSPACE <identifier> WITH <properties>CREATE KEYSPACE语句有两个属性:replication和durable_writes。这里我们先学习一下repication的概念:(1)什...原创 2019-12-11 16:37:51 · 3449 阅读 · 0 评论 -
CASSANDRA学习笔记(二) 使用Cqlsh
cqlsh相当于我们的数据库命令行,我们可以用它做类似的事情。CASSANDRA的cqlsh基于python,所以你需要先装一个python2.7再使用这个命令行工具。使用命令cqlsh启动cqlsh,如下所示。它支持一些shell命令,ddl数据定义命令、dml数据操作指令、dcl数据控制语句,这基本上和我们其他数据库的控制台是类似的。CASSANDRA里的语句被称为cql,...原创 2019-12-11 15:52:44 · 1094 阅读 · 0 评论 -
CASSANDRA学习笔记 (一) 安装与基本信息了解
它是一个开源的分布式Nosql数据库,可以类比MongoDB。它的特性,用我们项目的同事的话来说,就是:“插入的性能比较高,还有就是分布式可以扩展。但是对于查询不太方便”。先安装一个环境在本机试一试:安装记录: 下载bin版本安装包并解压。 配置环境变量 CASSANDRA_HOME =cd C:\kxm\01_software\apache-cassandra-3...原创 2019-12-11 15:40:41 · 541 阅读 · 0 评论