分布式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发布相关推荐

  1. await原理 js_「速围」Node.js V14.3.0 发布支持顶级 Await 和 REPL 增强功能

    本周,Nodejs v14.3.0 发布.这个版本包括添加顶级 Await.REPL 增强等功能. REPL 增强 通过自动补全改进对 REPL 的预览支持,例如,下图中当输入 process.ver ...

  2. Boost 1.53.0 发布,可移植的C++标准库

    Boost 1.53.0 发布了,包含了 5 个新的库,修复了一些安全漏洞以及 Boost.Locale 组件的 bug . 新增的 5 个库包括: Boost.Atomic Boost.Corout ...

  3. java 开源sns_JEESNS V1.0发布,JAVA 开源 SNS 社交系统

    JEESNS V1.0 发布了,本次更新内容: 增加后台管理员授权与取消功能 增加私信模块 解决在微博页面,左侧微博点赞过后,左侧展示列表小手会变黑,但是右侧热门出小手依然是白色 修复后台添加栏目.文 ...

  4. EOSIO Dawn 4.0 发布

    链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. 关于Dawn 4.0 RAM分配的反馈 一些社区成员表示担心,在其他任何人发现之前,有些人会通过购买便宜的内存来获得不合 ...

  5. Element 2.6.0 发布,基于 Vue 2.0 的桌面端组件库

    开发四年只会写业务代码,分布式高并发都不会还做程序员?   Element 2.6.0 发布了,Element 是一套为开发者.设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库,提供了配套设 ...

  6. Git 2.25.0发布,支持部分clone、稀疏checkout

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者 | oschina 来源 | https://www.osc ...

  7. Sequelize 4.43.0 发布,基于 Nodejs 的异步 ORM 框架

    Sequelize 4.43.0 发布了,Sequelize 是一款基于 Nodejs 的异步 ORM 框架,它同时支持 PostgreSQL.MySQL.SQLite 和 MSSQL 多种数据库,很 ...

  8. pxeconfig 4.2.0 发布,PXE 首要启动设备

    pxeconfig 4.2.0 发布了,pexconfig 可以让你使用支持 PXE 的网卡作为系统的首要启动设备.该软件包括 PXE 菜单工具用于控制网络计算机直接在 BIOS 级别上从控制台上启动 ...

  9. Ionic 4.3.0 发布,移动应用开发框架

    Ionic 4.3.0 发布了,Ionic 是一个高级的 HTML5 移动端应用框架,也是一个开发混合移动应用的前端框架. Bug 修复 action-sheet:默认按钮清空数组(9e63947) ...

最新文章

  1. SAP MM Transportation of PR Release Strategy with Classification
  2. ns-3 NetAnim遇到了一个问题
  3. 《Introduction to Tornado》中文翻译计划——第五章:异步Web服务
  4. okhttp连接池_OkHttp配置HTTPS访问+服务器部署
  5. 从EXCEL文件将数据导入数据库的向导程序设计!
  6. OpenSSL以及私有CA的搭建
  7. 美团点评联盟广告场景化定向排序机制
  8. [HEOI2013]ALO(待更)
  9. jcifs java_通过jcifs实现java访问网络共享文件
  10. 满屏的指标?删了吧,手把手教你裸 K 交易!
  11. 在Windows上安装Nexus
  12. “支付功能”怎么测试?
  13. Centos6.7 简单搭建dns服务器
  14. skywalking 6.1 简明指南
  15. 【演讲之路】钱塘TMC互联网思维分享会
  16. diy计算机工作站,程序猿 篇一:迟到的 618 攒机实录:自建巨硬工作站
  17. 解决Android打包Entry name ‘res/animator/linear_indeterminate_line1_head_interpolator.xml‘ collided
  18. qt服务器项目总结报告,ea项目总结报告-20210805131110.docx-原创力文档
  19. HBASE RegionServer异常退出 Failed to close inode
  20. 魔兽世界怀旧服上线,你是曾经500万中的一员吗?

热门文章

  1. 牛客 - sequence(笛卡尔树+线段树)
  2. CodeForces - 1333D Challenges in school №41(构造+模拟)
  3. XJOJ - 选信封(离散化+增广路)
  4. POJ - 3678 Katu Puzzle(2-SAT)
  5. HDU - 5090 Game with Pearls(二分图最大匹配)
  6. 特征值与特征向量_机器学习和线性代数 - 特征值和特征向量
  7. python画平面直角坐标系_Python之OpenGL笔记(20):画平面直角坐标系
  8. mysql免安装数据库用法_MySQL数据库之mysql免安装制作使用说明
  9. 第一个Canvas实例-钟表
  10. hdu3549(网络流入门题-最大流的Ford-Fulkerson算法)