Skip to content
PostDatabase Management System / NoSQL

Cassandra

2024-07-01
Back to Blog

#DataBase #NoSQL

Cassandra ​

Quick Start Only For MacOS ​

安装 ​

  • 安装 Cassandra (此处采用 homebrew 包管理器进行安装)
shell
brew install cassandra

启动 ​

  1. MacOS 后台启动 Cassandra
shell
brew services start cassandra
  1. 命令行启动 Cassandra
shell
cqlsh

关闭 ​

  1. 命令行关闭 Cassandra
shell
exit
  1. MacOS 后台关闭 Cassandra
shell
brew services stop cassandra

What is Cassandra? ​

Cassandra 是:

  • 一种开源、可线性扩展、分布式和容错的 NoSQL 数据库。设计用于处理海量数据。

Main Feature ​

主要特点:

  • 大规模可扩展架构
  • 无主架构
  • 线性扩展性能
  • 无单点故障
  • 故障节点可轻松恢复
  • 具有灵活、动态的数据模型,可调整的数据一致性,多数据中心复制
  • 数据压缩效率高

Cassandra与传统关系型数据库的主要区别是什么? ​

  • 传统关系型数据库面向行设计,内部组织结构围绕行的处理,适合 OLTP场景
  • Cassandra 列族数据库面向列设计,主要处理列,适合 OLAP 场景

Cassandra的复制策略? ​

复制策略是指 Cassandra 如何在集群中复制数据,放置数据副本

如何配置数据的复制和分布? ​

Cassandra 提供两种复制策略,包括SimpleStrategy 和 NetworkTopologyStrategy

  • SimpleStrategy 用于只有一个数据中心的情况。SimpleStrategy 会在分区器选择的节点上放置第一个副本。之后,其余副本按顺时针方向放置在节点环中
  • NetworkTopologyStrategy 用于有多个数据中心的情况。在网络拓扑策略中,会为每个数据中心分别设置副本。网络拓扑策略在环中按顺时针方向放置副本,直到到达另一个机架中的第一个节点

Cassandra的数据删除是如何工作的?有没有什么需要注意的地方? ​

  • Cassandra 使用标记删除的方式,而不是立即删除数据。标记删除的数据会在后续的清理过程中删除。 注意的地方:
  • 如果标记删除的数据过多,会影响查询性能,因为查询时需要扫描和过滤这些标记删除的数据。
  • 需要注意Cassandra表的TTL(生存时间)设置,如果TTL设置不当,可能导致大量的tombstone积累。

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

Cassandra Query Language(CQL)是 Cassandra 数据库的查询语言。

Cassandra的设计目标是什么? ​

Apache Cassandra 的设计目标主要围绕着可扩展性、高可用性和无单点故障展开。

Cassandra的主要成分是什么? ​

Cassandra 的主要成分包括:

  • 节点
  • 数据中心
  • 集群
  • 分区器

请描述一个实际应用场景,说明为什么选择使用 Cassandra数据库? ​

社交媒体的评论管理 Cassandra 面向列设计,适合处理大量数据,适合社交媒体评论管理场景,可以快速写入和读取评论数据,支持高并发读写操作。