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

  • 相关阅读:
    使用CSS3的@media来编写响应式的页面
    转帖 移动端h5页面不同尺寸屏幕适配兼容方法
    转 关于HTML5中meta name="viewport" 的用法 不同分辨率手机比例缩放
    转帖 移动前端开发之viewport的深入理解
    Python学习---字符串操作
    Python学习---基础篇
    Qt托盘程序
    MySQL常用语句
    C++模式学习------适配器模式
    C++模式学习------原型模式
  • 原文地址:https://www.cnblogs.com/GO-NO-1/p/10774226.html
Copyright © 2011-2022 走看看