- Cassandra 教程
- Cassandra - 首页
- Cassandra - 简介
- Cassandra - 架构
- Cassandra - 数据模型
- Cassandra - 安装
- Cassandra - 参考 API
- Cassandra - Cqlsh
- Cassandra - Shell 命令
- Cassandra Keyspace 操作
- Cassandra - 创建 Keyspace
- Cassandra - 修改 Keyspace
- Cassandra - 删除 Keyspace
- Cassandra 表格操作
- Cassandra - 创建表格
- Cassandra - 修改表格
- Cassandra - 删除表格
- Cassandra - 清空表格
- Cassandra - 创建索引
- Cassandra - 删除索引
- Cassandra - 批处理
- Cassandra CURD 操作
- Cassandra - 创建数据
- Cassandra - 更新数据
- Cassandra - 读取数据
- Cassandra - 删除数据
- Cassandra CQL 类型
- Cassandra - CQL 数据类型
- Cassandra - CQL 集合
- CQL 用户自定义数据类型
- Cassandra 有用资源
- Cassandra - 快速指南
- Cassandra - 有用资源
- Cassandra - 讨论
Cassandra - 简介
Apache Cassandra 是一个高度可扩展、高性能的分布式数据库,旨在跨多个商品服务器处理大量数据,提供高可用性,且没有单点故障。它是一种 NoSQL 数据库。让我们首先了解一下 NoSQL 数据库的功能。
NoSQL 数据库
NoSQL 数据库(有时称为 Not Only SQL)是一种数据库,它提供了一种存储和检索数据的机制,不同于关系数据库中使用的表格关系。这些数据库是无模式的,支持轻松复制,具有简单的 API,最终一致,并且可以处理海量数据。
NoSQL 数据库的主要目标是拥有
- 简单的设计,
- 水平扩展,以及
- 对可用性的更精细控制。
NoSQL 数据库与关系数据库相比使用了不同的数据结构。这使得 NoSQL 中的一些操作更快。给定 NoSQL 数据库的适用性取决于它必须解决的问题。
NoSQL 与关系数据库
下表列出了区分关系数据库和 NoSQL 数据库的要点。
关系数据库 | NoSQL 数据库 |
---|---|
支持强大的查询语言。 | 支持非常简单的查询语言。 |
它具有固定的模式。 | 没有固定的模式。 |
遵循 ACID(原子性、一致性、隔离性和持久性)。 | 它仅“最终一致”。 |
支持事务。 | 不支持事务。 |
除了 Cassandra 之外,我们还有以下一些非常流行的 NoSQL 数据库:
Apache HBase - HBase 是一个开源的、非关系型的、分布式的数据库,其模型参考了 Google 的 BigTable,并用 Java 编写。它是作为 Apache Hadoop 项目的一部分开发的,运行在 HDFS 之上,为 Hadoop 提供类似 BigTable 的功能。
MongoDB - MongoDB 是一个跨平台的面向文档的数据库系统,它避免使用传统的基于表格的关系数据库结构,而是采用类似 JSON 的文档以及动态模式,从而使某些类型应用程序中的数据集成更加轻松和快速。
什么是 Apache Cassandra?
Apache Cassandra 是一个开源的、分布式的和去中心化/分布式存储系统(数据库),用于管理分布在世界各地的海量结构化数据。它提供高可用服务,且没有单点故障。
下面列出了一些 Apache Cassandra 的显著特点:
它是可扩展的、容错的和一致的。
它是一个面向列的数据库。
其分布式设计基于 Amazon 的 Dynamo,其数据模型基于 Google 的 Bigtable。
它创建于 Facebook,与关系数据库管理系统截然不同。
Cassandra 实现了一个 Dynamo 风格的复制模型,没有单点故障,但添加了一个更强大的“列族”数据模型。
Cassandra 正在被一些最大的公司使用,例如 Facebook、Twitter、Cisco、Rackspace、eBay、Twitter、Netflix 等。
Cassandra 的特性
Cassandra 由于其出色的技术特性而变得如此受欢迎。以下是 Cassandra 的一些特性:
弹性伸缩性 - Cassandra 具有高度的可扩展性;它允许根据需要添加更多硬件以容纳更多客户和更多数据。
始终在线架构 - Cassandra 没有单点故障,并且始终可用于无法承受故障的关键业务应用程序。
快速线性扩展性能 - Cassandra 具有线性可扩展性,即随着集群中节点数量的增加,吞吐量也会增加。因此,它可以保持快速的响应时间。
灵活的数据存储 - Cassandra 可以适应所有可能的数据格式,包括:结构化、半结构化和非结构化数据。它可以根据您的需要动态适应数据结构的更改。
轻松的数据分发 - Cassandra 提供了在需要的地方分发数据的灵活性,方法是在多个数据中心复制数据。
事务支持 - Cassandra 支持原子性、一致性、隔离性和持久性 (ACID) 等属性。
快速写入 - Cassandra 旨在运行在廉价的商品硬件上。它执行极快的写入操作,并且可以存储数百 TB 的数据,而不会牺牲读取效率。
Cassandra 的历史
- Cassandra 是在 Facebook 为收件箱搜索而开发的。
- 它于 2008 年 7 月由 Facebook 开源。
- Cassandra 于 2009 年 3 月被纳入 Apache Incubator。
- 自 2010 年 2 月起,它成为 Apache 的顶级项目。