Cassandra基本介绍(1)-关系型数据库(RDBMS)概述

    作为一名应用开发者,数据库应用已经非常广泛了。你可能使用过关系型数据,比如MySQL、PostgreSQL,也可能使用过文档存储,比如MongoDB,或者key-value数据库,比如redis。每一种数据库都有它的长处,也许你还正在考虑使用分布式数据库,比如Cassandra,来解决你手头上的工作。

成都创新互联专注于贾汪企业网站建设,成都响应式网站建设,商城网站定制开发。贾汪网站建设公司,为贾汪等地区提供建站服务。全流程按需网站策划,专业设计,全程项目跟踪,成都创新互联专业和态度为您提供的服务

    使用这些数据产品并不是要取代原有的数据产品,而是为不同的应用场景提供更多的选择。NOSQL代表着:选择合适的方案处理合适的业务场景。

    在“Cassandra基本介绍”这个课程,我们将讨论从关系型数据库转变为Cassandra的主要原因,以及Cassandra基本特点。 在本章结束后,你应该学些到:

  1. RDBMS特点

  2. RDBMS是否适合大数据

  3. 第三范式不可扩展

  4. Sharding是一个恶梦

  5. 高可用..不是真实的

  6. 缺点总结

  7. 课程总结


    下面我们就先介绍一下,关系型数据库:

  •     RDBMS特点

  1. RDBMS适合中型数据,在单台机器上工作良好,比如MySQL、PostgreSQL。

  2. 对于数百个并发用户支持较好。

  3. ACID支持良好

  •    RDBMS是否适合大数据

    对于大数据,必然需要水平扩展,MySQL的master/slave模式,将导致ACID(A:原子性,C:一致性,I:隔离性,D:持久性)不复存在

Cassandra基本介绍(1) - 关系型数据库(RDBMS)概述

  • 第三范式不可扩展(没有冗余)

    由于查询的复杂性,以及用户同时需要快速响应,因为用户是没有耐心的,导致数据必须反范式化设计。

  • Sharding是一个恶梦

  1. 数据位于每一个shard

  2. join和聚合困难

  3. 需要反范式化

  4. 查询需要使用shard规则或路由,来命中shard

  5. 添加shard需要手动迁移数据

Cassandra基本介绍(1) - 关系型数据库(RDBMS)概述

  • 高可用..不是真实的

  1. master为单点故障

  2. 不支持多数据中心

Cassandra基本介绍(1) - 关系型数据库(RDBMS)概述

  • 缺点总结

  1. 水平扩展是头疼的一件事

  2. ACID在本地是best,多机存在一致性问题

  3. 重新sharding需要手动迁移数据

  4. 往往为了性能需要反范式化

  5. 高可用复杂,需要额外操作

  • 课程总结

既然RDBMS有以上缺点,那我们就需要解决它们:

  1. 强一致性是不现实的:So,放弃他

  2. 重新sharding是困难的:So,我们需要自动完成

  3. Master failover:So,我们应该不使用master/slave模式

  4. 数据分布式和聚合 no good:So,对于实时查询性能,需要进行反范式化,目的是让查询总是命中在1台机器上


本文名称:Cassandra基本介绍(1)-关系型数据库(RDBMS)概述
文章源于:http://myzitong.com/article/pcepgj.html