zoukankan      html  css  js  c++  java
  • NewSQL 介绍

    1、CAP:

    CAP原理:
    • Consistency(一致性): 数据一致更新,所有数据变动都是同步的
    • Availability(可用性): 好的响应性能
    • Partition tolerance(分区耐受性): 可靠性

    上面的解释可能显得太过抽象,举例来说在高可用的网站架构中,对于数据基础提出了以下的要求:
    • 分区耐受性
    保证数据可持久存储,在各种情况下都不会出现数据丢失的问题。为了实现数据的持久性,不但需要在写入的时候保证数据能够持久存储,还需要能够将数据备份一个或多个副本,存放在不同的物理设备上,防止某个存储设备发生故障时,数据不会丢失。
    • 数据一致性
    在数据有多份副本的情况下,如果网络、服务器、软件出现了故障,会导致部分副本写入失败。这就造成了多个副本之间的数据不一致,数据内容冲突。
    • 数据可用性
    多个副本分别存储于不同的物理设备的情况下,如果某个设备损坏,就需要从另一个数据存储设备上访问数据。如果这个过程不能很快完成,或者在完成的过程中需要停止终端用户访问数据,那么在切换存储设备的这段时间内,数据就是不可访问的。

    CAP原理认为,一个提供数据服务的存储系统无法同时完美的满足一致性(Consistency)、数据可用性(Availability)、分区耐受性(Partition Tolerance)这三个条件


    2、关系型数据库和非关系型数据库

    2.1、关系型数据库(MySQL、PostgreSQL等)问题:
    满足CP,但A不完美
    2.2、非关系型数据库(Redis、MongoDB、HBase等)问题:
    满足AP,但C不完美


    3、NewSQL

    可以同时满足CAP

    理想下能做到:

    支持标准SQL
    水平扩容,自动容灾
    库表权限控制(读写分离)
    资源限额

    详细可见NewSQL对比,开源主要由TiDB和CockroachDB

  • 相关阅读:
    《分布式系统关注点——数据一致性(上篇)》阅读笔记
    2.23寒假学习记录
    2.22寒假学习记录
    2.21寒假学习记录
    2.20寒假学习记录
    2.19寒假学习记录
    2.18寒假学习记录
    2.17寒假学习记录
    2.17周一毕设改进计划
    2.16寒假学习记录
  • 原文地址:https://www.cnblogs.com/GO-NO-1/p/10774226.html
Copyright © 2011-2022 走看看