Cassandra 教程

🌙
手机阅读
本文目录结构

Apache Cassandra 是一个高度可扩展的高性能分布式数据库,用于处理大量商用服务器上的大量数据,提供高可用性,无单点故障。这是一种 NoSQL 类型的数据库。 让我们先了解一下 NoSQL 数据库。

NoSQL 数据库

NoSQL 数据库(有时称为“不是唯一的 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 的文档,使得在某些类型的应用程序中的数据集成更容易和更快。

Cassandra 的历史

  • Cassandra 在 Facebook 上开发了收件箱搜索。
  • 它是由 Facebook 在 2008 年 7 月开放了源代码。
  • Cassandra 于 2009 年 3 月被纳入 Apache 孵化器。
  • 它自 2010 年 2 月以来成为一个 Apache 顶级项目。

什么是 Apache Cassandra?

Apache Cassandra 是一个开源,分布式和分散式 / 分布式存储系统(数据库),用于管理遍布世界各地的大量结构化数据。它提供高可用性的服务,没有单点故障。

下面列出了 Apache Cassandra 的一些值得注意的地方:

  • 它是可扩展,容错和一致的。

  • 它是一个面向列的数据库。

  • 它的分布设计基于 Amazon 的 Dynamo 及其在 Google 的 Bigtable 上的数据模型。

  • 创建在 Facebook,它与关系数据库管理系统有很大的不同。

  • Cassandra 实现了一个没有单点故障的 Dynamo 风格的复制模型,但增加了一个更强大的“列族”数据模型。

  • Cassandra 被一些最大的公司使用,如 Facebook,Twitter,Cisco,Rackspace,ebay,Netflix 等。

Cassandra 的特点

Cassandra 因其卓越的技术特性而变得如此受欢迎。下面给出了 Cassandra 的一些特性:

  • 弹性可扩展性 - Cassandra 是高度可扩展的;它允许添加更多的硬件以适应更多的客户和更多的数据根据要求。

  • 始终基于架构 - Cassandra 没有单点故障,它可以连续用于不能承担故障的关键业务应用程序。

  • 快速线性性能 - Cassandra 是线性可扩展性的,即它为你增加集群中的节点数量增加你的吞吐量。因此,保持一个快速的响应时间。

  • 灵活的数据存储 - Cassandra 适应所有可能的数据格式,包括:结构化,半结构化和非结构化。它可以根据您的需要动态地适应变化的数据结构。

  • 便捷的数据分发 - Cassandra 通过在多个数据中心之间复制数据,可以灵活地在需要时分发数据。

  • 事务支持 - Cassandra 支持属性,如原子性,一致性,隔离和持久性(ACID)。

  • 快速写入 - Cassandra 被设计为在廉价的商品硬件上运行。 它执行快速写入,并可以存储数百 TB 的数据,而不牺牲读取效率。


AXIHE / 精选资源

浏览全部教程

面试题

学习网站

前端培训
自己甄别

前端书籍

关于朱安邦

我叫 朱安邦,阿西河的站长,在杭州。

以前是一名平面设计师,后来开始接接触前端开发,主要研究前端技术中的JS方向。

业余时间我喜欢分享和交流自己的技术,欢迎大家关注我的 Bilibili

关注我: Github / 知乎

于2021年离开前端领域,目前重心放在研究区块链上面了

我叫朱安邦,阿西河的站长

目前在杭州从事区块链周边的开发工作,机械专业,以前从事平面设计工作。

2014年底脱产在老家自学6个月的前端技术,自学期间几乎从未出过家门,最终找到了满意的前端工作。更多>

于2021年离开前端领域,目前从事区块链方面工作了