Cockroach DB 1.0发布
分布式SQL数据库Cockroach DB遵循软件产品以动物命名的模式。近日,该数据库的第一个生产就绪版本1.0发布。
许多人将Cockroach DB视为Google Spanner的开源版本。后者是一个强一致性、横向可扩展的RDBMS,它起初是一个服务于谷歌服务的内部项目,近日加入了谷歌云。和NuoDB一样,这些数据库都致力于解决同样的问题,那个NoSQL数据库在过去十年中设法从不同角度解决的问题。高可用性、线性可扩展性、强一致性、运行中复制技术以及快速响应和呈指数增长的数据集,所有这些问题都是数据库供应商数十年来致力于解决的问题。
NoSQL供应商采用的一种方法是放松关系型数据库强加的部分约束,一致性、可用性或分区容错性,就像CAP理论所描述的那样。SQL支持即使存在,大多数时候也是受限的。
另一方面,有时称为“NewSQL”数据库的方法是从头设计一种完全兼容SQL的数据库系统,并且仍然设法满足上述所有需求。
构建分布式数据库的其中一个最大的挑战是事件顺序。一个事务中的有序操作可以确保读取者和写入者有一致的数据视图。
根据谷歌发表的论文,Google Spanner使用了TrueTime概念中的GPS和原子钟在几毫秒内实现不同节点之间的同步。Cockroach的全局排序方法使用了他们在博客中描述的混合逻辑时钟。据称,两种方法都违背了CAP理论的定律,就是在一个分布式系统中,我们无法通过稍微不同的实现同时保证一致性、高可用性和分区容错性。
Cockroach的第一个生产就绪版本还提供了零宕机(在线)模式修改、次级索引和外键支持。在提供高可用性的同时,Cockroach还重点强调了一致性,使用每个数据集三个或三个以上的活动副本,所有这些副本都可以同时读/写。除了增加高可用性外,地理上分散的客户端可以连接到最近的服务器进行写入,确保每个客户端的状态在全球范围内都是一致的,在这种情况下,该“多活可用性”模型也很有用。Cockroach的其中一个客户是一家大型游戏公司,他们正积极地在生产环境中使用这项特性。Cockroach的主要客户还包括百度,他们积极地用它处理每秒23000多次的写入操作。
Cockroach DB的一大卖点是,它不需要重写MVC代码或者使用一些中间层翻译ORM和数据库查询,因为它提供了面向许多流行框架(如Ruby on Rails、Hibernate、Python和Node的Sequelize)的连接器及示例代码。GitHub上提供了详细的架构图,企业客户可以获得商业支持。复杂SQL联合查询还不够优化,它的名字也让许多用户心情复杂,但这没有阻止Cockroach于月初在红点创投领投的B轮融资中获得了2700万美元。
Cockroach DB 1.0发布相关推荐
- await原理 js_「速围」Node.js V14.3.0 发布支持顶级 Await 和 REPL 增强功能
本周,Nodejs v14.3.0 发布.这个版本包括添加顶级 Await.REPL 增强等功能. REPL 增强 通过自动补全改进对 REPL 的预览支持,例如,下图中当输入 process.ver ...
- Boost 1.53.0 发布,可移植的C++标准库
Boost 1.53.0 发布了,包含了 5 个新的库,修复了一些安全漏洞以及 Boost.Locale 组件的 bug . 新增的 5 个库包括: Boost.Atomic Boost.Corout ...
- java 开源sns_JEESNS V1.0发布,JAVA 开源 SNS 社交系统
JEESNS V1.0 发布了,本次更新内容: 增加后台管理员授权与取消功能 增加私信模块 解决在微博页面,左侧微博点赞过后,左侧展示列表小手会变黑,但是右侧热门出小手依然是白色 修复后台添加栏目.文 ...
- EOSIO Dawn 4.0 发布
链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. 关于Dawn 4.0 RAM分配的反馈 一些社区成员表示担心,在其他任何人发现之前,有些人会通过购买便宜的内存来获得不合 ...
- Element 2.6.0 发布,基于 Vue 2.0 的桌面端组件库
开发四年只会写业务代码,分布式高并发都不会还做程序员? Element 2.6.0 发布了,Element 是一套为开发者.设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库,提供了配套设 ...
- Git 2.25.0发布,支持部分clone、稀疏checkout
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者 | oschina 来源 | https://www.osc ...
- Sequelize 4.43.0 发布,基于 Nodejs 的异步 ORM 框架
Sequelize 4.43.0 发布了,Sequelize 是一款基于 Nodejs 的异步 ORM 框架,它同时支持 PostgreSQL.MySQL.SQLite 和 MSSQL 多种数据库,很 ...
- pxeconfig 4.2.0 发布,PXE 首要启动设备
pxeconfig 4.2.0 发布了,pexconfig 可以让你使用支持 PXE 的网卡作为系统的首要启动设备.该软件包括 PXE 菜单工具用于控制网络计算机直接在 BIOS 级别上从控制台上启动 ...
- Ionic 4.3.0 发布,移动应用开发框架
Ionic 4.3.0 发布了,Ionic 是一个高级的 HTML5 移动端应用框架,也是一个开发混合移动应用的前端框架. Bug 修复 action-sheet:默认按钮清空数组(9e63947) ...
最新文章
- SAP MM Transportation of PR Release Strategy with Classification
- ns-3 NetAnim遇到了一个问题
- 《Introduction to Tornado》中文翻译计划——第五章:异步Web服务
- okhttp连接池_OkHttp配置HTTPS访问+服务器部署
- 从EXCEL文件将数据导入数据库的向导程序设计!
- OpenSSL以及私有CA的搭建
- 美团点评联盟广告场景化定向排序机制
- [HEOI2013]ALO(待更)
- jcifs java_通过jcifs实现java访问网络共享文件
- 满屏的指标?删了吧,手把手教你裸 K 交易!
- 在Windows上安装Nexus
- “支付功能”怎么测试?
- Centos6.7 简单搭建dns服务器
- skywalking 6.1 简明指南
- 【演讲之路】钱塘TMC互联网思维分享会
- diy计算机工作站,程序猿 篇一:迟到的 618 攒机实录:自建巨硬工作站
- 解决Android打包Entry name ‘res/animator/linear_indeterminate_line1_head_interpolator.xml‘ collided
- qt服务器项目总结报告,ea项目总结报告-20210805131110.docx-原创力文档
- HBASE RegionServer异常退出 Failed to close inode
- 魔兽世界怀旧服上线,你是曾经500万中的一员吗?
热门文章
- 牛客 - sequence(笛卡尔树+线段树)
- CodeForces - 1333D Challenges in school №41(构造+模拟)
- XJOJ - 选信封(离散化+增广路)
- POJ - 3678 Katu Puzzle(2-SAT)
- HDU - 5090 Game with Pearls(二分图最大匹配)
- 特征值与特征向量_机器学习和线性代数 - 特征值和特征向量
- python画平面直角坐标系_Python之OpenGL笔记(20):画平面直角坐标系
- mysql免安装数据库用法_MySQL数据库之mysql免安装制作使用说明
- 第一个Canvas实例-钟表
- hdu3549(网络流入门题-最大流的Ford-Fulkerson算法)