全球级的分布式数据库 Google Spanner原理

https://blog.csdn.net/heiyeshuwu/article/details/8619357

Spanner 是Google的全球级的分布式数据库 (Globally-Distributed Database) 。Spanner的扩展性达到了令人咋舌的全球级,可以扩展到数百万的机器,数已百计的数据中心,上万亿的行。更给力的是,除了夸张的扩展性之外,他还能 同时通过同步复制和多版本来满足外部一致性,可用性也是很好的。冲破CAP的枷锁,在三者之间完美平衡。

Spanner是个可扩展,多版本,全球分布式还支持同步复制的数据库。他是Google的第一个可以全球扩展并且支持外部一致的事务。Spanner能 做到这些,离不开一个用GPS和原子钟实现的时间API。这个API能将数据中心之间的时间同步精确到10ms以内。因此有几个给力的功能:无锁读事务, 原子schema修改,读历史数据无block。

Spanner背景

要搞清楚Spanner原理,先得了解Spanner在Google的定位。

分布式数据库 Google Spanner相关推荐

  1. Google Spanner:谷歌的全球分布式数据库

    目录 1. 介绍 2. 实现 3. TrueTime 4. 并发控制 5. 实验分析 6. 相关工作 7. 未来的工作 8. 总结 Spanner: Google' s Globally-Distri ...

  2. 全球分布式数据库:Google Spanner翻译

    本文总体转自: http://www.sohu.com/a/126470421_463989 但在原博客基础上有批注. 目录 1 介绍 2 实现 2.1 Spanserver 软件栈 2.2 目录和放 ...

  3. Google Spanner (中文版)

    温馨提示:本论文由厦门大学计算机系林子雨翻译自英文论文,转载请注明出处,仅用于学习交流,请勿用于商业用途. [本文翻译的原始出处:厦门大学计算机系数据库实验室网站林子雨老师的云数据库技术资料专区htt ...

  4. Google Spanner论文翻译

    2019独角兽企业重金招聘Python工程师标准>>> [摘要]Spanner 是谷歌公司研发的.可扩展的.多版本.全球分布式.同步复制数据库.它是第一个把数据分布在全球范围内的系统 ...

  5. 从分布式到云端服务:Google Spanner 成长之路

    Spanner 技术概括       简介 Spanner 是 Google 的可扩展.多版本支持.全球分布式的同步备份数据库,领军人物是 Eric Brewer,他是 CAP 理论的创造者.超级大牛 ...

  6. 从分布式数据库的CAP特性说起

    在传统RDBM系统中,对于事务处理必须保证为一个完整的逻辑处理过程,具备ACID四个特性,A Atonomy 事务处理的原子性,要么成功,要么失败 ,C Consistency 一致性,数据库必须保持 ...

  7. 开源分布式数据库RadonDB的核心技术与实现

    本文根据张雁飞在[IT168微学堂 第61期]的演讲内容整理而成. 讲师介绍: 张雁飞,TokuDB内核贡献者.维护者,TokuDB企业级热备工具作者.曾就职于阿里云数据库内核团队,目前为青云Qing ...

  8. 强!分库分表与分布式数据库技术选项分析

    最近经常被问到分库分表与分布式数据库如何选择,网上也有很多关于中间件+传统关系数据库(分库分表)与NewSQL分布式数据库的文章,但有些观点与判断是我觉得是偏激的,脱离环境去评价方案好坏其实有失公允. ...

  9. Google Spanner 论文笔记

    Google Spanner 论文笔记 架构 复制与一致性 TrueTime 事务 数据迁移 Google Spanner是谷歌的全球级分布式数据库(Golbally-Distributed Data ...

最新文章

  1. java weakhashmap用法_Java WeakHashMap指南
  2. AI Frontiers | 微软首席 AI 科学家邓力演讲:口语对话系统的分类及三代演变
  3. windows下自制动画层引擎 - 放两个demo
  4. 两个Python web框架:Django Tornado比较
  5. macOS彻底卸载/删除Microsoft相关的程序
  6. android9叫什么名字,白猜这么多名字!谷歌Android 9.0正式发布:命名Android Pie
  7. 扩展log4j系列[二]为DailyRollingFileAppender加上maxBackupIndex属性
  8. linux,让网卡随着系统启动自动生效
  9. QT出现 Cannot create children for a parent that is in a different thread 的解决方法:
  10. [转载] java中对象作为参数传递给一个方法,到底是值传递,还是引用传递
  11. 阶段2 JavaWeb+黑马旅游网_15-Maven基础_第5节 使用骨架创建maven的java工程_16maven工程servlet实例之jar包冲突...
  12. 面向对象15:单例设计模式、main方法的使用
  13. Kaggle Tabular Playground Series - Jan 2022 学习笔记2(使用时间序列的线性回归)
  14. manjaro linux vmware,Manjaro Linux处理vmware的vmmon、vmnet8、Network configuration is missing一堆问题的记录...
  15. JUnit5 + JMockit 知识整理
  16. matlab中ga函数的用法,[转载]MATLAB中自带遗传算法函数GA的用法
  17. vue中属性key的作用(了解diff),为什么不建议index作为key
  18. arduino读取控制手柄
  19. 不能邮箱登录的网站都是耍流氓【无力吐槽】
  20. 【机器视觉系统】基于3DOF机械臂的五子棋机器人(1)

热门文章

  1. golang定义空指针_Go语言指针声明及操作方法
  2. golang printf 格式化输出
  3. 关于Android 设置Button 属性background失效问题
  4. java反射invoke方法的使用
  5. 分辨mqtt在线与离线_【案例】某区VOC在线监测系统实施案例
  6. 计算机的利弊四级作文,四级作文范文:网络的利弊
  7. 阿里搅局个人网盘市场,为时未晚
  8. linux xmanager端口,Xmanager远程连接Linux系统图形界面详解-Go语言中文社区
  9. 【正项级数】敛散性判别(二)
  10. 0. Google机器学习(ML)课程---简介