Cassandra 集合:CQL 中的 Set、List 和 Map 及其示例

什么是 Cassandra 集合?

Cassandra 集合是处理任务的好方法。集合可以存储多个元素。Cassandra 集合存在一些限制。

  • Cassandra 集合不能存储超过 64KB 的数据。
  • 保持集合较小,以避免查询集合的开销,因为整个集合都需要遍历。
  • 如果在集合中存储了超过 64KB 的数据,则只能查询 64KB,这将导致数据丢失。

Cassandra 集合的类型

Cassandra 主要支持三种类型的集合

  1. 设置
  2. 列表
  3. Map

Cassandra Set 集合

Set 存储一组元素,查询时返回排序后的元素。

语法

以下是存储教师多个电子邮件地址的 Set 集合的语法。

Create table University.Teacher
(
id int,
Name text,
Email set<text>,
Primary key(id)
);

示例

以下是使用“Teacher”表创建“Email”列作为集合的快照。

Example of Cassandra Set Collection

以下是向集合插入数据的快照。

Example of Cassandra Set Collection

insert into University.Teacher(id,Name,Email) values(l,'Guru99',{'abc@gmail.com','xyz@hotmail.com'});

Cassandra List 集合

当元素的顺序很重要时,使用 List。

示例

以下是向“Teacher”表添加 List 类型列 courses 的快照。

Example of Cassandra List Collection

以下是向“coursenames”列插入数据的快照。

Example of Cassandra List Collection

insert into University.Teacher(id,Name,Email) values(2,'Hamilton',{'hamilton@hotmail.com'},[Data Science']);

以下是显示插入后当前数据库状态的快照。

Cassandra List Collection Example

Cassandra Map 集合

Map 是一种集合类型,用于存储键值对。顾名思义,它将一个事物映射到另一个事物。

例如,如果您想保存课程名称及其先修课程名称,则可以使用 Map 集合。

示例

以下是为课程名称及其先修课程名称创建 Map 类型的快照。

Example of Cassandra Map Collection

以下是向 Map 集合类型插入数据的快照。

Example of Cassandra Map Collection

insert into University.Course(id,prereq) values(1,{'DataScience':'Database', 'Neural Network':'Artificial Intelligence'});

摘要

  • Cassandra 集合是处理任务的好方法。集合可以存储多个元素。
  • Cassandra 主要有三种类型的集合:Set、List 和 Map。
  • Set 集合存储一组元素,查询时返回排序后的元素。
  • List 集合在元素的顺序很重要时使用。
  • Map 是一种集合类型,用于存储键值对。