![]() Cassandra 访谈问题2025年3月16日 | 阅读7分钟 下面列出了最常问的 Cassandra 面试题及答案。 1) 解释一下 Cassandra。Cassandra 是一个流行的 NOSQL 数据库管理系统,用于处理大量数据。它是一个免费开源的分布式数据库,能够提供高可用性且无单点故障。 2) Cassandra 是用什么语言编写的?Cassandra 是用 Java 编写的。它最初由 Facebook 设计,具有灵活的模式。对于大数据而言,它具有高度的可伸缩性。 3) Cassandra 的最初作者是谁?Cassandra 的最初作者是 Avinash Lakshman 和 Prashant Malik。它最初是在 Facebook 开发的,用于为其收件箱搜索功能提供支持。 4) Cassandra 数据库使用哪种查询语言?Cassandra 引入了自家的 Cassandra 查询语言 (CQL)。CQL 是访问 Cassandra 的一个简单接口,作为传统结构化查询语言 (SQL) 的替代。 5) Cassandra 的好处/优点是什么?
6) Cassandra 将数据存储在哪里?Cassandra 将数据存储在数据字典中。 7) Cassandra 的设计目标是什么?Cassandra 的主要设计目标是在没有单点故障的情况下处理跨多个节点的大数据工作负载。 8) NoSQL 数据库有多少种类型?请举例说明。NoSQL 数据库主要有 4 种类型:
9) 提及 Cassandra 数据模型的一些重要组成部分?以下是 Cassandra 数据模型的一些关键组成部分:-
10) Cassandra 的其他组成部分是什么?Cassandra 的其他一些组成部分包括:
11) Cassandra 中的 keyspace 是什么?在 Cassandra 中,keyspace 是一个命名空间,它决定了数据在节点上的复制。一个集群包含每个节点一个 keyspace。 12) Cassandra 中有哪些不同的复合键?在 Cassandra 中,复合键用于通过连接不同类型的数据来定义键或列名。Cassandra 中有两种类型的复合键:
13) Cassandra 中的数据复制是什么?数据复制是从一台计算机或服务器上的数据库到另一台数据库的电子复制,以便所有用户都能共享相同的信息级别。Cassandra 将副本存储在多个节点上以确保可靠性和容错性。复制策略决定了副本放置的节点。 14) Cassandra 中的节点是什么?在 Cassandra 中,节点是存储数据的地方。 15) 15) Cassandra 中的数据中心是什么意思?数据中心是集群的完整数据。 16) Cassandra 中的提交日志是什么意思?在 Cassandra 中,提交日志是崩溃恢复机制。每个写操作都会写入提交日志。 17) 17) Cassandra 中的列族是什么意思?列族是 RDBMS 中的一个表,它包含有序的行集合。 18) Cassandra 中的一致性是什么意思?Cassandra 中的一致性指定了如何同步和更新 Cassandra 数据行及其副本。 19) Cassandra 支持多少种可调一致性?它支持两种一致性:最终一致性和强一致性。 当一个给定数据项没有新更新时,就使用最终一致性,所有访问最终都会返回最后更新的值。具有最终一致性的系统被认为已经实现了副本收敛。 Cassandra 支持以下强一致性条件: R + W > N 其中 N:副本数 W:成功写入所需的节点数 R:成功读取所需的节点数 20) Cassandra 中的可调一致性是什么?可调一致性是 Cassandra 的一个显著特性,使其成为一个受欢迎的选择。一致性指的是所有副本上数据行的最新和同步。Cassandra 的可调一致性使用户能够选择最适合其用例的一致性级别。 21) 在 Cassandra 中创建 keyspace 的语法是什么?22) Cassandra 中的列族是什么?在 Cassandra 中,行的集合称为“列族”。 23) Cassandra 如何执行写操作?Cassandra 通过应用两次提交来执行写操作:
24) 什么是内存表 (Memtable)?内存表是内存中的写回缓存空间,包含键值格式的内容。在内存表中,数据按键排序,每个 ColumnFamily 都有一个单独的内存表,通过键检索列数据。它存储写入操作,直到填满,然后刷新。 25) 什么是 SSTable?SSTable 是“Sorted String Table”的缩写。它指的是 Cassandra 中一个重要的数据文件,并接受定期写入的内存表。它们存储在磁盘上,并为每个 Cassandra 表存在。 26) SSTable 与其他关系表有何不同?SSTables 一旦写入,就不允许再添加或删除数据项。对于每个 SSTable,Cassandra 会创建三个单独的文件,如分区索引、分区摘要和布隆过滤器。 27) Cassandra 中的管理工具有哪些?DataStax OpsCenter:这是一个基于互联网的管理和监控解决方案,用于 Cassandra 集群和 DataStax。它是免费下载的,并包含 OpsCenter 的附加版本。 SPM:SPM 主要管理 Cassandra 指标以及各种 OS 和 JVM 指标。除了 Cassandra,它还监控 Hadoop、Spark、Solr、Storm、zookeeper 和其他大数据平台。 28) 提及 SPM 在 Cassandra 中的一些重要功能?SPM 的主要功能包括:
29) Cassandra 中的集群是什么?在 Cassandra 中,集群是 keyspace 的最外层容器,它以环形排列节点并将数据分配给它们。这些节点有副本,负责处理数据处理故障。 30) ALTER KEYSPACE 的作用是什么?ALTER KEYSPACE 用于更改 DURABLE_WRITES 的值及其相关属性。 31) Cassandra-Cqlsh 是什么意思?Cqlsh 是一个 Cassandra 查询语言 shell,用于执行 CQL(Cassandra 查询语言)命令。 32) 节点、集群和数据中心在 Cassandra 中有什么区别?节点:节点是运行 Cassandra 的单个机器。 集群:集群是包含相似数据类型的节点的集合。 数据中心:当服务于不同地理区域的客户时,数据中心是一个有用的组件。集群的不同节点可以分组到不同的数据中心。 33) Cassandra CQL Collection 的用途是什么?Cassandra CQL Collection 用于收集数据并将其存储在列中,其中每个 Collection 代表相同类型的数据。CQL 包含三种类型的集合:
34) Cassandra 中布隆过滤器的用途是什么?在请求数据时,在进行任何磁盘 I/O 之前,布隆过滤器会检查请求的数据是否存在于 SSTable 的行中。 35) Cassandra 如何删除数据?在 Cassandra 中,要删除一行,需要将列的值关联到墓碑(Tombstone 是一种特殊值)。 36) Cassandra 中的 SuperColumn 是什么?在 Cassandra 中,SuperColumn 是一个包含相似数据集合的唯一元素。它们实际上是键值对,值是列。 37) Column 和 SuperColumn 之间有什么区别?Column 和 SuperColumn 之间的区别:
38) Hadoop、HBase、Hive 和 Cassandra 是什么?说明它们之间的相似之处和区别。Hadoop、HBase、Hive 和 Cassandra 都是 Apache 的产品。 Apache Hadoop 支持文件存储,并通过 MapReduce 进行网格计算处理。Apache Hive 是 Hadoop 之上的类 SQL 接口。Apache HBase 遵循类似 Big Table 的列族存储。Apache Cassandra 也遵循类似 Big Table 的列族存储,具有 Dynamo 的拓扑和一致性。 39) "void close()" 方法的用途是什么?在 Cassandra 中,void close() 方法用于关闭当前会话实例。 40) 哪个命令用于启动 cqlsh 提示符?使用 cqlsh 命令启动 cqlsh 提示符。 41) "cqlsh-version" 命令的用途是什么?"cqlsh-version" 命令用于提供你正在使用的 cqlsh 的版本。 42) Cassandra 能在 Windows 上运行吗?是的。Cassandra 在 Windows 上兼容且运行良好。现在已有 Linux 和 Windows 兼容版本。 43) Cassandra 中的 Kundera 是什么?在 Cassandra 中,Kundera 是一个对象关系映射 (ORM) 实现,使用 Java 注释编写。 44) Cassandra 中的 Thrift 是什么意思?Thrift 是用于与 Cassandra 服务器通信的 RPC 客户端的名称。 45) Cassandra 中的 Hector 是什么?Hector 是早期 Cassandra 客户端之一。它是一个使用 MIT 许可证用 Java 编写的开源项目。 |
我们请求您订阅我们的新闻通讯以获取最新更新。