📜  Cassandra面试问题

📅  最后修改于: 2020-11-22 09:08:21             🧑  作者: Mango

Cassandra面试题

下面列出了最常见的Cassandra面试问题和答案。

1)向Cassandra讲解。

Cassandra是一种流行的NOSQL数据库管理系统,用于处理大量数据。它是免费的开源分布式数据库,可提供高可用性而不会发生任何故障。

2)Cassandra用哪种语言写?

Cassandra用Java编写。它最初由Facebook设计,由灵活的架构组成。它对于大数据具有高度可扩展性。

3)Cassandra的原始作者是谁?

Cassandra的原始作者是Avinash Lakshman和Prashant Malik。它最初是在Facebook上开发的,用于支持Facebook收件箱搜索功能。

4)Cassandra数据库中使用哪种查询语言?

Cassandra引入了自己的Cassandra查询语言(CQL)。 CQL是访问Cassandra的简单接口,是传统的结构化查询语言(SQL)的替代方法。

5)Cassandra的优点/优点是什么?

  • Cassandra提供实时性能,简化了开发人员,管理员,数据分析师和软件工程师的工作。
  • 它提供了可扩展的可伸缩性,并且可以根据要求轻松地按比例放大和缩小。
  • 数据可以复制到多个节点以实现容错。
  • 作为分布式管理系统,没有单点故障。
  • 集群中的每个节点都包含不同的数据,并且能够满足任何请求。

6)Cassandra在哪里存储数据?

Cassandra将其数据存储在数据字典中。

7)Cassandra的设计目标是什么?

Cassandra的主要设计目标是在多个节点上处理大数据工作负载而不会出现单点故障。

8)NoSQL数据库有几种类型?举一些例子。

NoSQL数据库主要有4种类型:

  • 文档存储类型(MongoDB和CouchDB)
  • 键值存储类型(Redis和Volgemort)
  • 列存储类型(Cassandra)
  • 图形存储类型(Neo4j和Giraph)

9)是否提到了Cassandra数据模型的一些重要组成部分?

这些是Cassandra数据模型的一些关键组成部分:-

  • 表(列集合)
  • 节点
  • 键空间

10)Cassandra的其他成分是什么?

Cassandra的其他一些组件是:

  • 节点
  • 数据中心
  • 提交日志
  • 内存表
  • SS表
  • 布隆过滤器

11)什么是Cassandra中的键空间?

在Cassandra中,键空间是确定节点上数据复制的名称空间。一个集群每个节点包含一个密钥空间。

12)Cassandra中有哪些不同的组合键?

在Cassandra中,复合键用于定义键或具有不同类型数据串联的列名。 Cassandra中有两种复合键:

  • 行键
  • 栏名

13)什么是Cassandra中的数据复制?

数据复制是将数据从一台计算机或服务器中的数据库电子复制到另一台计算机或服务器中的数据库,以便所有用户可以共享相同级别的信息。 Cassandra将副本存储在多个节点上,以确保可靠性和容错能力。复制策略决定放置副本的节点。

14)Cassandra中的节点是什么?

在Cassandra中,节点是存储数据的地方。

15)15)Cassandra中的数据中心是什么意思?

数据中心是集群的完整数据。

16)您在Cassandra中提交日志是什么意思?

在Cassandra中,提交日志是崩溃恢复机制。每个写操作都会写入提交日志。

17)17)Cassandra中的列族是什么意思?

列族是RDMS中的一个表,其中包含行的有序集合。

18)您对Cassandra的一致性是什么意思?

Cassandra中的一致性指定如何同步和更新Cassandra数据行及其副本。

19)Cassandra支持多少种可调性一致性?

它支持两种一致性:最终一致性和强一致性。

当未对给定数据项进行任何新更新时,将使用最终一致性,所有访问最终都会返回最后更新的值。已知具有最终一致性的系统已实现副本收敛。

Cassandra支持以下条件以实现高度一致性:

R + W> N

这里

N:副本数

W:成功写入需要达成共识的节点数

R:成功读取需要达成共识的节点数

20)Cassandra中的可调一致性是什么?

可调整的一致性是Cassandra的显着特征,使其成为受欢迎的选择。一致性是指所有副本上的最新数据行和同步数据行。 Cassandra的可调一致性可帮助用户选择最适合其用例的一致性级别。

21)在Cassandra中创建键空间的语法是什么?

 CREATE KEYSPACE  WITH 

22)什么是Cassandra中的列族?

在Cassandra中,行的集合称为“列族”。

23)Cassandra如何执行写函数?

Cassandra通过应用两次提交来执行写函数:

  • 第一次提交应用于磁盘,然后第二次提交到内存结构(称为内存表)。
  • 当两个提交都成功应用后,就可以完成写操作。
  • 写操作以SSTable(排序的字符串表)形式写入表结构中。

24)什么是记忆?

Memtable是包含键和列格式内容的内存中/回写式缓存空间。在内存表中,数据按键排序,每个ColumnFamily都有一个不同的内存表,可通过键检索列数据。它存储写操作,直到写满,然后将其清空。

25)什么是SSTable?

SSTable是“排序字符串表”的缩写。它引用Cassandra中的重要数据文件,并接受常规的书面内存表。它们存储在磁盘上,并存在于每个Cassandra表中。

26)SSTable与其他关系表有何不同?

一旦写入,SStables不允许进一步添加和删除数据项。 Cassandra为每个SSTable创建三个单独的文件,例如分区索引,分区摘要和Bloom筛选器。

27)Cassandra中有哪些管理工具?

DataStaxOpsCenter:它是针对Cassandra集群和DataStax的基于Internet的管理和监视解决方案。它是免费下载的,其中包括OpsCenter的附加版本。

SPM:SPM主要管理Cassandra指标以及各种OS和JVM指标。除了Cassandra之外,它还监视Hadoop,Spark,Solr,Storm,zookeeper和其他大数据平台。

28)是否提到了Cassandra中SPM的一些重要功能?

SPM的主要功能是:

  • 事件和指标的关联
  • 分布式事务跟踪
  • 通过缩放创建实时图形
  • 检测和心跳警报

29)Cassandra中的集群是什么?

在Cassandra中,群集是键空间的最外层容器,该空间以环形格式排列节点并为它们分配数据。这些节点具有一个副本,在数据处理失败的情况下负责。

30)ALTER KEYSPACE的作用是什么?

ALTER KEYSPACE用于更改DURABLE_WRITES及其相关属性的值。

31)Cassandra-Cqlsh是什么意思?

Cqlsh是用于执行CQL(Cassandra查询语言)命令的Cassandra查询语言外壳。

32)Cassandra中的节点,群集和数据中心之间有什么区别?

节点:节点是一台运行Cassandra的计算机。

群集:群集是节点的集合,这些节点一起包含相似类型的数据。

数据中心:为不同地理区域的客户提供服务时,数据中心是一个有用的组件。群集的不同节点可以分组到不同的数据中心。

33)Cassandra CQL集合有什么用?

Cassandra CQL集合用于收集数据并将其存储在列中,其中每个集合代表相同类型的数据。 CQL包含三种类型的类型:

  • SET:它是唯一元素的无序列表的集合。
  • 列表:它是按顺序排列的元素的集合,并且可以包含重复值。
  • MAP:它是键值对形式的唯一元素的集合。

34)在Cassandra中使用Bloom Bloom过滤器有什么用?

根据数据请求,在执行任何磁盘I / O之前,Bloom过滤器会检查所请求的数据是否存在于SSTable的行中。

35)Cassandra如何删除数据?

在Cassandra中,要删除行,需要将column的值与Tombstone关联(其中Tombstone是一个特殊值)。

36)Cassandra中的SuperColumn是什么?

在Cassandra中,SuperColumn是包含相似数据收集的唯一元素。它们实际上是具有值作为列的键值对。

37)Column和SuperColumn有什么区别?

列和超级列之间的区别:

  • 列中的值是字符串,而SuperColumn中的值是具有不同数据类型的列映射。
  • 与列不同,超级列不包含时间戳的第三部分。

38)什么是Hadoop,HBase,Hive和Cassandra?指定它们之间的异同。

Hadoop,HBase,Hive和Cassandra都是Apache产品。

Apache Hadoop支持文件存储,通过Map reduce进行网格计算处理。 Apache Hive是Haddop顶部的类似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和Window兼容版本。

43)什么是Cassandra的昆德拉?

在Cassandra中,Kundera是使用Java注释编写的对象关系映射(ORM)实现。

44)您在Cassandra中的Thrift是什么意思?

Thrift是用于与Cassandra服务器通信的RPC客户端的名称。

45)什么是Cassandra的赫克托?

Hector是Cassandra的早期客户之一。这是一个使用MIT许可证用Java编写的开源项目。