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
NewSQL 介绍的更多相关文章
- 数据库的发展现状与前景——NewSQL界的佼佼者,如Couchbase、Aerospike、Marklogic和 SequoiaDB,NewSQL的许多厂商,如:MemSQL、VoltDB、ScaleDB和CitusDB
转自:http://news.sequoiadb.com/cn/Detail-id-42 2015-03-20 Strata+Hadoop World(SHW)大会是全世界最大的大数据大会之一. ...
- NewSQL数据库VoltDB特性简介
VoltDB是一个革命性的新型数据库产品,被称作NewSQL数据库.它基于H-Store,号称比当前数据库产品的吞吐量高45倍,同时又具有很高的扩展性.它的特性主要有以下几点: Ø 高吞吐.低延迟: ...
- 从NoSQL到NewSQL,谈交易型分布式数据库建设要点
在上一篇文章<从架构特点到功能缺陷,重新认识分析型分布式数据库>中,我们完成了对不同"分布式数据库"的横向分析,本文Ivan将讲述拆解的第二部分,会结合NoSQL与Ne ...
- 守护客户数据价值:企业级NewSQL HTAP分布式云TBase架构详解
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 作者:jasonys,隶属于腾讯技术工程事业群数据平台部,负责TBase数据的技术研发和架构设计,有超过10年的数据库内核开发设计经验,完成 ...
- Google NewSQL之Spanner
谷歌分布式三宝 BigTable.GFS.MapReduce这传说中的谷歌分布式三驾马车,虽然谷歌没有公开具体实现代码,但却公布了相应论文,对分布式文件系统.大数据挖掘和NoSQL流行起了重大促进作用 ...
- 02-MySQL 介绍和安装
MySQL 介绍和安装 1.什么是数据? 数据: 文字.图片.视频...人类认知的数据表现方式 计算机: 二进制.16进制的机器语言 基于数据的重要性和复杂性的不同,我们可能有不同的管理方式. 哪些数 ...
- 分库分表 or NewSQL数据库?终于看懂应该怎么选!【转】
最近与同行科技交流,经常被问到分库分表与分布式数据库如何选择,网上也有很多关于中间件+传统关系数据库(分库分表)与NewSQL分布式数据库的文章,但有些观点与判断是我觉得是偏激的,脱离环境去评价方案好 ...
- Kafka、RabbitMQ、RocketMQ等 消息中间件 介绍和对比
文章目录 1.前言 2.概念 2.1.MQ简介 2.2.MQ特点 2.2.1.先进先出 2.2.2.发布订阅 2.2.3.持久化 2.2.4.分布式 3.消息中间件性能究竟哪家强? 3.1.Kafka ...
- Kafka、RabbitMQ、RocketMQ等消息中间件的介绍和对比(转)
前言在分布式系统中,我们广泛运用消息中间件进行系统间的数据交换,便于异步解耦.现在开源的消息中间件有很多,前段时间产品 RocketMQ (MetaQ的内核) 也顺利开源,得到大家的关注. 概念MQ简 ...
随机推荐
- 关于matlab向文件写入数据的方法——留着备用
MATLAB数据采集的时候,往往需要把得到的数据保存下来. fid = fopen(文件名,‘打开方式’): 说明:fid用于存储文件句柄值,如果fid>0,这说明文件打开成功.打开方式有如下选 ...
- wpf在image控件上快速显示内存图像
这是在博客园的第一篇文章 如果你在寻找能够快速在image控件刷新大图像(比如分辨率3000*3000的图像)的办法,尤其是想把内存中的裸数据(只有图像的数据,不包含图像头等信息)快速显示到界面,那么 ...
- canvas反向裁剪技巧
我们都知道在canvas 可以通过clip来实现剪裁功能,其步骤一般是先设置要裁剪的区域(路径),然后通过ctx.clip()的实现裁剪,裁剪之后,后续的绘制只能在裁剪的区域显示效果,比如如下一段代码 ...
- arp与rarp
- Netty源码分析第2章(NioEventLoop)---->第8节: 执行任务队列
Netty源码分析第二章: NioEventLoop 第八节: 执行任务队列 继续回到NioEventLoop的run()方法: protected void run() { for (;;) ...
- 线程_synchronized_volatile_ReentranLock
线程:cpu同时执行多个任务 synchonized 代码块,对象,类 同步方法和非同步方法可以同时执行同步方法可以调用同步方法(重入)脏读:之同步写,不同步读死锁的demo 一个线程先对A加锁 ...
- xocde missing file 解决方法
创建一个警告里丢失的文件 托到警报的目录下 重启xcode 警告消失 在xcode中选中这个文件右键delete再次删掉文件,就OK了.
- spring-boot rabbitMq 完整项目搭建,包括创建、发送、监听
写在开始 rabbitMq 代码按照三部分介绍 第一部分 交换机和队列的创建 第二部分 消息发送 第三部分 消息监听 第一部分 1 建立queue 2 建立exchange 3 exchange绑定q ...
- js备忘录6
- Scrum Meeting 11 -2014.11.17
今天和其他两个小组讨论了关于整合问题,在数据库连接等具体方面上还需要继续商讨. 我们小组内部讨论了,这周还是需要在处理整合的同时做项目整体的测试与改进的. Member Today’s task Ne ...