先决条件 –
- Apache Cassandra 简介
- Apache Cassandra(NOSQL 数据库)
- Cassandra 的架构
在 Cassandra 中写入路径执行:
- 在 Cassandra 中,在写入数据的同时,写入会写入集群中的任何节点(协调器)。
- 当任何用户插入数据时,这意味着他们先将数据写入提交日志,然后再写入内存表。
- 当任何用户写入数据时,每次写入都将包含一个时间戳。
- 一旦 memtable 开始变满,它就会定期刷新到磁盘(SSTable)。
- 之后在内存中创建一个新的 memtable。
- 在写路径执行的情况下,删除是称为墓碑的特殊写情况。
插入数据:
在Cassandra中插入数据的情况下,我们将创建一个keyspace,然后创建一个表,然后将数据插入到表中。
例子 –
// Creating a keyspace
create keyspace UniersityData
replication = {'class': 'SimpleStrategy', 'replication_factor' : '3' };
// Creating a table and declaring the columns
create table CSE_Student(
student_id int,
name text,
email text,
primary key(student_id)
);
// Using the newly created keyspace
use UniersityData;
// Inserting values in the table for all the columns
Insert into CSE_student(student_id, name, email)
values(012345, 'Ashish', 'ashish@gmail.com');
Insert into CSE_student(student_id, name, email)
values(012346, 'Abi', 'abi@gmail.com');
Insert into CSE_student(student_id, name, email)
values(012347, 'Rana', 'rana@gmail.com');
Insert into CSE_student(student_id, name, email)
values(012348, 'Aayush', 'aayush@gmail.com');
Insert into CSE_student(student_id, name, email)
values(012349, 'harsh', 'haarsh@gmail.com');
读取路径执行:
- 在 Cassandra 中读取数据时,可能会查询任何充当协调器的服务器。
- 当我们想要访问读取数据时,我们会使用请求的密钥联系节点。
- 在数据中心,在每个节点上,数据从 SStable 中拉取并合并。
- 在Cassandra中,在考虑读取一致性的同时,我们可以检查——
Consistency < ALL 在后台执行读取修复(read_repair_chance)。
读取数据:
编写一个 cqlsh 查询以从 CSE_student 读取数据并给出相同的输出。
select *
from CSE_student;
输出 :
index | student_id | name | |
---|---|---|---|
0 | 12345 | Ashish | ashish@gmail.com |
1 | 12346 | Abi | abi@gmail.com |
2 | 12347 | Rana | rana@gmail.com |
3 | 12348 | Aayush | aayush@gmail.com |
4 | 12349 | harsh | haarsh@gmail.com |