Apache Cassandra 介绍

1. Apache Cassandra

在本章中,将了解什么是Cassandra,什么是NoSQL数据库以及关系/ SQL与NoSQL数据库的简短介绍,还将了解不同的Apache Cassandra功能,Cassandra历史,Cassandra架构。 此外,将介绍Apache Cassandra Applications和Cassandra Data Model。

随着技术的进步,数据也在不断扩大和成倍增长。 因此,需要新的数据库来满足所有的需求。 在许多数据库之后,Apache Cassandra最终出现了,满足了所有要求。

2. 什么是NOSQL数据库?

有两种类型的数据库,Relational或SQL Database和NoSQL Database。 关系数据库提供了一种通过表格关系存储和检索数据的机制。 换句话说,它由关系数据组成。 而NoSQL数据库由非关系数据组成。 与SQL或关系数据库相比,此NoSQL数据库具有一些优势。 它们可以处理大量数据并支持轻松复制,并且还具有简单的API。 在这种情况下,与关系型数据库相比,NoSQL数据库使用不同的数据结构。

——- add picture here—-

关系数据库的示例:MySQL,IBM DB2,Oracle DB等

NoSQL数据库的示例:Apache Cassandra,Apache HBase,MongoDB等。

3.什么是Apache Cassandra?

Apache Cassandra是NoSQL数据库,它是一个分布式,去中心的和开源数据库或存储系统。 它主要用于管理大量结构化数据。 没有单点故障,提供高可用性服务的数据库。

4. Cassandra的特点

在本节中,我们来讨论了Cassandra的一些重要特性:

——add picture here ——-

Apache Cassandra Tutorial- Cassandra Features

去中心化

集群中的每个节点都是相同的。 没有单点故障。

容错性

由于数据被复制到多个节点,因此容错性非常高。 

高性能

Apache Cassandra的基本架构非常强大, 能够提供很好的性能。

可扩展

具有线性可扩展性。随着增加Cassandra集群中的节点数量,吞吐量会增加。

已经被证明的NoSQL 数据库

Apache Cassandra用于各种公司。 其中一些是Netflix,GoDaddy,GitHub,eBay等。

5. CAP 定理

CAP 代表“一致性、可用性和分区容错性”。CAP 定理由 Eric Brewer 在 2000 年首次提出,该定理表明,在任何共享数据系统中,最多只能获得这些属性中的两个。所以必须选择两个属性;不能选择所有属性。

CAP 定理与 Cassandra 相关,所以理解该定理很重要,因为它可能帮助判断 Cassandra 是不是 NoSQL 数据库解决方案的最佳选择。在任何情况下,都应该首先考虑解决方案在一致性和可用性方面的约束,这很有帮助。

依据 CAP 定理,对于任何分布式系统,都必须为它选择两种最重要的保证,可以拥有 Cassandra 中的所有 3 种保证,但不能同时拥有它们。因此,在想要获得一个不会宕机且高度可用的数据库,而且不想遭遇偶然的硬件故障时,Cassandra 是专注于可用性和分区容错性的解决方案的最佳选择。

这与传统关系数据库管理系统 (RDBMS)(比如 MySQL、DB2、Oracle 和 Sybase)的 ACID(原子性、一致性、隔离性、耐久性)属性相反。 Cassandra 数据不是隔离的或耐久的,这些不是 Cassandra 的主要关注点。该数据库天生就是分布式的,能随着数据和应用程序事务的增长而轻松扩展。

—–add picture here—–

CAP 定理的保证与 Cassandra

6. Cassandra历史

Avinash Lakshman和Prashant Malik最初在Facebook开发了Cassandra。 2008年7月,Facebook发布了Cassandra作为Google Code的开源项目。 2009年3月晚些时候,它成为了Apache Incubator项目。 最终,它在2010年2月成为一个顶级项目。

请见如下发布历史:

1542291695633610.png

7. Cassandra 架构

Cassandra的架构有各种组件,如下所示:

—–add picture here—-

 节点

数据存储在节点上

数据中心

它是相关节点的集合

—–add picture here —-

Apache Cassandra – Data Center

Commit Log

这是Cassandra 出现故障时恢复的一种机制

Cluster

数据中心的集合

Mem-Table

驻留在内存中的数据结构

SSTable

当mem-table的内容达到阈值时,数据在此处被刷新到硬盘

Bloom Filter

用于测试元素是否是集合的成员

Compaction

这是通过合并大量累积数据文件来释放空间的过程

8. Cassandra应用

Cassandra用于许多应用, 一些Cassandra应用程序如下:

AppScale:Google App Engine应用程序的后端;

思科的WebEx:近乎实时的用户馈送和活动存储;

Globo.com:Back-end数据库的流媒体服务;

Mahalo.com:Record用户活动日志和问答网站的主题;

Netflix:用于流媒体服务的后端数据库;

Nutanix:存储元数据和统计信息;

1542291854151360.png

Apache Cassandra 介绍

发表评论

邮箱地址不会被公开。 必填项已用*标注

÷ 五 = 二

滚动到顶部