前23名 Cassandra 面试问题与答案(2025)
Cassandra 应届毕业生面试问题
1)解释什么是 Cassandra?
Cassandra 是 Facebook 为收件箱搜索开发的开源数据存储系统,旨在跨商用服务器存储和管理大量数据。它可以同时用作
- 在线应用程序的实时数据存储系统
- 也可作为读取密集型数据库 商业智能 系统
2)有什么用 Cassandra 以及为什么要使用 Cassandra?
Cassandra 旨在处理跨多个节点的大数据工作负载,而不会出现任何单点故障。使用 Cassandra 旨在
- 它具有容错性和一致性
- 千兆字节到千兆字节的可扩展性
- 它是一个面向列的数据库
- 没有单点故障
- 无需单独的缓存层
- 灵活的架构设计
- 数据存储灵活,数据分发方便,写入速度快
- 它支持 ACID(Atom性、一致性、隔离性和持久性)属性
- 多数据中心和云能力
- 数据压缩
3)解释什么是复合类型 Cassandra?
In Cassandra复合类型允许使用不同类型的数据连接来定义键或列名。您可以使用两种类型的复合类型
- 行键
- 栏名
4)如何 Cassandra 存储数据?
- 所有数据都以字节形式存储
- 当您指定验证器时, Cassandra 确保这些字节按照要求进行编码
- 然后比较器根据特定于编码的顺序对列进行排序
- 虽然复合材料只是具有特定编码的字节数组,但对于每个组件,它存储两个字节的长度,后跟字节编码的组件,后跟终止位。
5)提及的主要组成部分是什么 Cassandra 数据模型?
的主要组成部分 Cassandra 资料模型 是:
- Cluster
- 键空间
- 柱
- 专栏与家庭
6)解释什么是列族 Cassandra?
列族 Cassandra 指的是行的集合。
7)解释集群是什么 Cassandra?
集群是键空间的容器。 Cassandra 数据库被分散到多台共同运行的机器上。集群是最外层的容器,它将节点排列成环形,并向它们分配数据。这些节点有一个副本,在数据处理失败时负责处理。
8)列出其他组成部分 Cassandra?
其他组件 Cassandra Archi质地:
- Node
- 数据中心
- Cluster
- 提交日志
- 内存表
- SS表
- 布隆过滤器
9)解释什么是键空间 Cassandra?
In Cassandra,以 键空间 是决定节点上数据复制的命名空间。集群由每个节点一个键空间组成。
10)创建键空间的语法是什么 Cassandra?
在中创建键空间的语法 Cassandra is
CREATE KEYSPACE <identifier> WITH <properties>
Cassandra 有经验的面试问题
现在让我们看看高级水平 Cassandra 有经验者的面试问题:
11)提到存储在 Cassandra 柱子?
In Cassandra 列,基本上有三个值
- 栏名
- 价值观
- 时间戳
12)请提及何时可以使用 Alter keyspace?
ALTER KEYSPACE 可用于更改诸如副本数量和键空间的 durable_write 等属性。
13)解释什么是 Cassandra-Cqlsh?
Cassandra-Cqlsh 是一种查询语言,使用户能够与数据库进行通信。通过使用 Cassandra cqlsh,你可以做以下事情
- 定义架构Define a schema
- 插入数据并
- 执行查询
14)请提及 shell 命令“Capture”和“Consistency”决定什么?
有各种 Cqlsh shell 命令 Cassandra。“Capture”命令捕获命令的输出并将其添加到文件中,而“Consistency”命令显示当前一致性级别或设置新的一致性级别。
15)在创建表时需要注意什么? Cassandra?
虽然创建表主键是强制的,但它由表的一个或多个列组成。
16)请提及添加列时需要注意什么?
在添加列时,您需要注意
- 列名与现有列名不冲突
- 表未定义紧凑存储选项
17)提及什么是 Cassandra- CQL 集合?
Cassandra CQL 集合 帮助您在单个变量中存储多个值。在 Cassandra,您可以通过以下方式使用 CQL 集合
- 列表:当需要维护数据的顺序,并且需要多次存储一个值(保存唯一元素的列表)时使用
- 设置:用于存储一组元素并按排序顺序返回(保存重复元素)
- MAP:它是一种用于存储元素的键值对的数据类型
18)解释如何 Cassandra 写入数据?
Cassandra 分三个部分写入数据
- Commitlog 写入
- 内存表写入
- SStable 写入
Cassandra 首先将数据写入提交日志,然后写入内存表结构 memtable,最后写入 SStable
19)解释 Memtable 是什么 Cassandra?
- Cassandra 将数据写入内存结构 Memtable
- 它是一个内存缓存,内容以键/列的形式存储
- Memtable 中的数据根据 key 进行排序
- 每个 ColumnFamily 都有一个单独的 Memtable,它从键中检索列数据
20)解释一下 SStable 由什么组成?
SStable 主要由 2 个文件组成
- 索引文件(布隆过滤器和密钥偏移对)
- 数据文件(实际列数据)
21)解释 Bloom Filter 在 Cassandra?
布隆过滤器是一种节省空间的数据结构,用于测试元素是否是集合的成员。换句话说,它用于确定 SSTable 中是否有特定行的数据。在 Cassandra 它用于在执行 KEY LOOKUP 时节省 IO。
22)解释如何 Cassandra 将改变的数据写入提交日志?
- Cassandra 将更改的数据连接到提交日志
- Commitlog 充当数据的崩溃恢复日志
- 直到更改的数据连接到提交日志,写入操作才被视为成功
一旦提交日志被刷新到文件,数据不会丢失
23)解释如何 Cassandra 删除数据?
SSTable 是不可变的,无法从 SSTable 中删除一行。当需要删除一行时, Cassandra 给列值分配一个特殊的值,叫做Tombstone,当数据被读取时,Tombstone值就被认为是被删除了。
这些面试问题也会对你的口试有帮助