📜  Cassandra 中的读写路径

📅  最后修改于: 2021-09-10 01:30:35             🧑  作者: Mango

先决条件 –

  • 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 email
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