PingCAP
  • PingCAP University
  • 文档
  • 案例
  • 社区
  • 博客
  • 关于
  • 问答
  • 联系我们
PingCAP
  • 文档
  • 案例
  • 社区
  • 博客
  • 关于
  • 问答
  • 联系我们
  • PingCAP University

Contact

  • Wechat qrCode

    微信扫一扫
    微信ID:pingcap2015

English
Meetup
  • 2019(34)
    • 2019-12(2)
      • 【Infra Meetup No.120】丰巢支付平台的 TiDB 迁移之旅 & TiKV 优化之路
      • 【Infra Meetup No.119】Pulsar 事务简介 & TiDB 悲观事务的设计与实现
    • 2019-11(1)
      • 流量和延迟减半!挑战 TiDB 跨数据中心难题
    • 2019-10(3)
      • 【Infra Meetup No.117】TiDB 悲观事务的设计与实现 & Introduction to performance engineering
      • 【Infra Meetup No.116】SQL 语言漫谈 & 构建高可用数据库服务
      • 【Infra Meetup No.115】Infra Meetup X Kubernetes & Cloud Native Meetup
    • 2019-09(3)
      • 【Infra Meetup No.114】ACMUG 专场
      • 【Infra Meetup No.113】TiDB Operator 的设计与实现
      • 【Infra Meetup No.112】华泰证券 x PingCAP:分布式数据库 TiDB 的探索与应用
    • 2019-08(2)
      • 【Infra Meetup No.111】网易分布式时序数据库 NTSDB & 数据库构建背后的故事
      • 【Infra Meetup No.110】Linux 内核虚拟机 BPF 原理及应用
    • 2019-07(1)
      • 【Infra Meetup No.109】TiKV internal & 基于 Kafka 的数据处理微服务链
    • 2019-06(4)
      • 【Infra Meetup No.108】TiDB DDL & 数据云平台访问 & 同盾大数据平台
      • 【Infra Meetup No.107】SQLFlow:Brings SQL and AI together
      • 【Infra Meetup No.106】 Alluxio & 仿真技术 & TiDB 的 HTAP 之路 & Zeppelin
      • 【Infra Meetup No.105】 Happy Hacking TiDB & Chaos Practice in TiDB
    • 2019-05(5)
      • 势高,则围广:TiDB 的架构演进哲学
      • 【Infra Meetup No.104】 云原生数据库的核心特点 - TiDB 架构及发展 & 反应式编程之 Spring WebFlux
      • 【Infra Meetup No.103】 TiDB 开源社区专题
      • 【Infra Meetup No.102】 How We Build TiDB & TiDB Ecosystem Tools 概览
      • 【Infra Meetup No.101】 Log, Observability and Filebeat & 易果集团的数据平台建设历程 & The Evolution of TiKV
    • 2019-04(6)
      • 【Infra Meetup No.99】数据中台 & WiredTiger 引擎实现原理 & JIT in Databases
      • 【Infra Meetup No.98】Everything You Always Wanted to Know About Compiled and Vectorized Queries But Were Afraid to Ask
      • 【Infra Meetup No.97】What's New in TiDB 3.0 & An Introduction to Failpoint Design
      • 【Infra Meetup No.96】Introduction to Titan
      • 【Infra Meetup No.95】Introduction of TiDB SQL Layer
      • 【Infra Meetup No.94】TiFlash、Spark SQL
    • 2019-03(4)
      • 【Infra Meetup No.93】A Study of LSM-Tree
      • 【Infra Meetup No.92】Introduction to TiDB Statistics
      • 【Infra Meetup No.91】Head First Distributed Transaction in TiDB
      • 【Infra Meetup No.90】知乎已读服务架构演进
    • 2019-02(1)
      • 【Infra Meetup No.89】TiKV 最新性能优化
    • 2019-01(2)
      • 【Infra Meetup No.88】小红书的社区架构 & TiDB 在小红书的实践案例分享 & Vectorized Execution Explained
      • 【Infra Meetup No.87】摩拜数据复制中心 Gravity 介绍
  • 2018(24)
    • 2018-12(3)
      • 【Infra Meetup No.85】宝尊 + Apache Spark + TiDB SQL Layer
      • 【Infra Meetup No.84】如何在三分钟内跑完千万测试 case & 硬核 Paper Reading
      • 【Infra Meetup No.83】What's New in TiDB 2.1 and What's Next
    • 2018-11(4)
      • 【Infra Meetup No.82】数据库统计信息的自动挖掘与维护 & What's New in TiDB
      • 【Infra Meetup No.81】基于 TiKV 的 Redis 协议兼容层 Titan
      • 【Infra Meetup No.80】从实现角度看 Aurora
      • 【Infra Meetup No.79】小米开源 SQL 优化工具 SOAR 技术内幕
    • 2018-10(4)
      • 【Infra Meetup No.78】Bigdata@Bilibili & Chaos Practice in TiDB
      • 【Infra Meetup No.77】我司成都分舵第一次 Meetup
      • 【Infra Meetup No.76】列式存储如何进行在线更新
      • 【Infra Meetup No.75】这次我们聊了聊 Google F1 的最新论文
    • 2018-09(2)
      • 【Infra Meetup No.74】TitanDB 首次公开分享
      • 【Infra Meetup No.73】TiKV 原理剖析
    • 2018-08(1)
      • 【Infra Meetup No.72】TiDB Operator,让 TiDB 成为真正的 Cloud-Native 数据库
    • 2018-07(1)
      • 【Infra Meetup No.71】TiDB 2.1 新特性与未来规划
    • 2018-06(2)
      • 【Infra Meetup No.70】Paper Party:CEO 解读 TiDB 下一代存储引擎
      • 【Infra Meetup No.69】CASPaxos,一个有趣的 RSM 算法
    • 2018-05(2)
      • 【Infra Meetup No.68】虚怀迎远客 魔都 Talk 「长」
      • 【Infra Meetup No.67】杭州站
    • 2018-04(2)
      • 【Infra Meetup No.66】Application of TLA+ at PingCAP
      • 【Infra Meetup No.65】「四美具,二难并」之成都行
    • 2018-03(1)
      • 【Infra Meetup No.64】Chaos Practice in TiDB
    • 2018-02(1)
      • 【Infra Meetup No.63】深入了解 TiDB 新执行框架
    • 2018-01(1)
      • 【Infra Meetup No.62】Apache Pulsar
  • 2017(23)
    • 2017-12(1)
      • 【Infra Meetup No.60】初探 Orca 查询优化器
    • 2017-11(1)
      • 【Infra Meetup No.58】TiSpark 架构设计与实现
    • 2017-10(1)
      • 【Infra Meetup No.57 Rust 专场】Rocket Web 框架解析
    • 2017-09(2)
      • 【Infra Meetup No.56】MonetDB/X100 Paper 解读
      • 【Infra Meetup No.55】TiDB Pre-GA 版本新特性介绍以及后续功能展望
    • 2017-08(2)
      • 【Infra Meetup No.54】数据库计算存储分离架构分析
      • 【Infra Meetup No.53】知乎数据平台实践
    • 2017-07(2)
      • 【Infra Meetup No.52】TiDB 自动化运维管理 —— TiDB-Operator
      • 【Infra Meetup No.51】百度统一分布式计算框架 Bigflow (内附 PPT 下载链接)
    • 2017-06(1)
      • 【Infra Meetup No.49】TiDB Best Practice
    • 2017-05(2)
      • 【Infra Meetup No.48】分布式对象存储面临的挑战
      • 【Infra Meetup No.47】分布式定时任务中间件架构 Elastic-Job 的两种实现
    • 2017-04(3)
      • 【Infra Meetup No.46】MySQL 5.7 的特性及实践
      • 【Infra Meetup No.45】Rust 专场
      • 【Infra Meetup No.44】Elasticsearch 运维
    • 2017-03(4)
      • 【Infra Meetup No.43】RocksDB 专场分享
      • 【Infra Meetup No.42】Spark 与机器学习
      • 【Infra Meetup No.41】大容量 redis 存储中间件(onestore)架构实践 & TiKV RC2 性能大幅提升的秘密
      • 【Infra Meetup No.40】tcp 链接的建立与释放 & 分布式数据库中统计信息的收集和使用
    • 2017-02(2)
      • 【Infra Meetup No.39】百度 Galaxy 集群管理系统
      • 【Infra Meetup No.38】深入解读 Google Spanner
    • 2017-01(2)
      • 【Infra Meetup No.37】PD 调度的实现 & 主流分布式文件系统对比介绍
      • 【Infra Meetup No.36】Tera 的单机存储引擎 & 机器学习之我见
  • 2016(27)
    • 2016-12(4)
      • 【Infra Meetup No.35】Sofa-pbrpc 设计与实现 & 自底向上纵览 TiKV 架构
      • 【Infra Meetup No.34】Pegasus:一个分布式 KV 系统的设计过程 & TiDB 架构介绍
      • 【Infra Meetup No.33】zeppelin 的设计与实现 & 海量结构化数据库 Tera 总览
      • 【Infra Meetup No.32】百度文件系统-面向实时应用的分布式文件系统 & TiDB - The Future of Database
    • 2016-11(4)
      • 【Infra Meetup No.31】PD 的实现和演进 & 从容器和微服务的发展看基础架构变迁
      • 【Infra Meetup No.30】深度学习,众包数据与短时临近预报系统 & 谈谈 TiDB-Binlog 的设计
      • 【Infra Meetup No.29】映客直播服务端架构优化之路 & MySQL 与 TiDB 的事务机制
      • 【Infra Meetup No.28】Spark 架构设计要点剖析 & Performing group-by before join
    • 2016-10(3)
      • 【Infra Meetup No.27】Impala 在用户行为分析中的应用与优化 & How we build CI/CD for TiDB at scale
      • 【Infra Meetup No.26】京东分布式数据库实践 & 深度探索分布式系统测试
      • 【Infra Meetup No.25】分布式数据处理在个性化系统的应用 & TiKV 性能优化
    • 2016-09(3)
      • 【Infra Meetup No.24】LLVM 简介及其在大规模 OLAP 中的应用 & 阻塞访问数据库的相关问题
      • 【Infra Meetup No.23】How to write a good commit message & QuorumKV:微信分布式 KV 存储系统
      • 【Infra Meetup No.22】360开发的大容量redis -pika & 分布式对象存储系统设计介绍
    • 2016-08(3)
      • 【Infra Meetup No.21】An Introduction to Join-Reorder in TiDB & MPP and SMP in TiDB
      • 【Infra Meetup No.20】搜索引擎背后的万亿量级存储系统 Tera & Cloudtable:分布式强一致的 KV 存储系统
      • 【Infra Meetup No.19】What's New in Spark 2.0 & An Overview of Cost Based Optimization and Join Reorder
    • 2016-07(5)
      • 【Infra Meetup No.18】Kudu 的设计思想和具体实现 & Kubernetes in PingCAP
      • 【Infra Meetup No.17】How does TiKV auto-balance work?
      • 【Infra Meetup No.16】基于 Ceph 构建文件共享服务的实践 & Cool Extensions of Raft for NewSQL
      • 【Infra Meetup No.15】TiDB 存储模型变更 & TiDB 优化器统计信息的采集
      • 【Infra Meetup No.14】HashData 数据仓库的动态缩容扩容实现 & TiDB Beta 版现场演示
    • 2016-06(3)
      • 【Infra Meetup No.13】百度 redis3 生产环境实践 & TiKV Auto Balance
      • 【Infra Meetup No.12】rocksdb 日志分析和性能调优经验
      • 【Infra Meetup No.11】TiKV 的结构化存储模型优化 & 深入解析 LevelDB
    • 2016-05(2)
      • 【Infra Meetup No.10】TiKV 的网络模拟测试 & TiDB 的条件下推优化
      • 【Infra Meetup No.9】SQL 子查询优化 & TiKV MVCC 和 GC 实现

【Infra Meetup No.54】数据库计算存储分离架构分析

  • Date iconFri, Aug 25, 2017
  • Pen icon 郁白

上周六,PingCAP Infra Meetup 第 54 期,我们邀请到了知乎大 V 李凯(知乎 ID:郁白)为大家分享了《数据库计算存储分离架构分析》。在活动现场,郁白老师跟小伙伴们有一番深度的交流与思想碰撞。长话短说,小编带你一起回顾精彩现场。

精彩视频

视频 | Infra Meetup No.54:数据库计算存储分离架构分析

精彩现场

现场图片

现场图片

PingCAP Infra Meetup 第 54 期的活动现场十分火爆,活动签到时间未开始,小伙伴们就早早来到现场占位置,我想说早来的小伙伴们还是很明智的。因为……

现场图片

后续到场的小伙伴只能酱婶儿滴扎堆在门口竖起耳朵听了,这场活动简直是一场郁白大神与粉丝的见面会。

郁白

说了这么多,先上一张郁白老师的图吧~ 🙂

技术干货节选

大数据下公有云面临的 5 个挑战

谈到存储架构分离,为什么现在会有 Aurora 架构?包括前一阵阿里的 PolarDB 推出来以后,他们也在分析为什么要做这个东西。

郁白老师认为单就公有云来说,现在云数据面临的挑战有以下 5 个:

  1. 跨 AZ 的可用性与数据安全性。 现在都提多 AZ 部署,亚马逊在全球有 40 多个 AZ, 16 个 Region,基本上每一个 Region 之内的那些关键服务都是跨 3 个 AZ。你要考虑整个 AZ 意外宕机或者计划内维护要怎么处理,数据迁移恢复速度怎么样。以传统的 MySQL 为例,比如说一个机器坏了,可能这个机器上存了几十 T、上百 T 的数据,那么即使在万兆网卡的情况下,也要拷个几分钟或者几十分钟都有可能。那么有没有可能加快这个速度。 还有一个就是服务恢复的速度。可能大家广为诟病就是基于 MySQL Binlog 复制。在主机压力非常大的情况下,是有可能在切换到备机以后,这个备机恢复可能需要几分钟甚至几十分钟。关键因素是回放 Binlog 的效率,MySQL 即使最新版本也只能做到 Group Commit 内的并发回放。这是数据库 RTO 指标,能不能在秒级、分钟级把这个服务恢复起来,这是一个在设计系统的时候要考虑的关键问题。

  2. 读写分离与弹性扩展。 一般来说我们讲云上数据库基本上都是集中化的,一写多读的,那这里会涉及到读写分离,把主库上一致性要求不高的读流量分给备库,这种情况下读写分离的备库能不能弹性扩展?我们知道 MySQL 可以通过 Binlog 复制来扩展备机,但是扩展的过程中就意味着复制一份完整数据,就像我们刚才提到的数据恢复一样,他要把整个数据全部复制过去然后把 Binlog 接上,这个时间可能你要真做的话几十分钟就过去了。如果说你的业务真撑不住说我赶快要加备机,那这个东西怎么去解决?

  3. 资源的按需分配。 这点其实云计算上的云数据库一定程度上已经做到了,当然有些可能不一样,比如说有硬件独享的数据库就很难做到按需分配。像阿里可能会把 EBS 接到它的数据库虚拟机上,这样的话其实你接上了弹性化存储以后也基本上做到一个弹性的分配,要 1G 给 1G,再要 1G 再给 1G,不说一开始就把资源分配了,这是云上的一个弹性的东西。

  4. 高性能。 现在大家都要看跑分,除了跑分,还要看跑实际业务的时候到底行不行,有没有办法去优化。

  5. 生态兼容性。 比如说为什么 TiDB 一定要做 MySQL 的兼容?我觉得可能也是考虑这一点,现在开源领域最强的生态可能还是 MySQL,开源的数据库如果不做 MySQL 兼容,别人可能不一定会来用。

从以上这几点出发的话,我们就可以考虑一个云数据库到底怎么去发展。

AWS Aurora 的架构特点及优势

PPT 节选

郁白老师选择这几个具有代表性的数据库存储与计算架构做了重点讲解,他介绍到定义数据库服务器集群的架构决策的关键点在于集群共享发生的程度,它定义协调动作发生在什么层以及哪个层( PE 计算层和 SE 存储层 )将被复制或者共享。这不仅确定了系统在可扩展性和灵活性上的权衡,而且关系到每一种架构在现成的数据库服务器上的适用性。

PPT 节选

PPT 节选

AWS Aurora 计算存储分离架构的优势主要体现在高可用、数据安全、弹性部署、性能方面。在介绍这个环节时,现场小伙伴提问不断,讨论非常激烈,强烈感受到思想碰撞在一起擦除的火花,郁白老师也针对大家的问题做了深度交流。

计算存储分离架构的 4 个关键技术

PPT 节选

郁白老师总结出计算存储分离架构的四个关键技术与大家一起探讨,接下来将一一解析这些技术的关键点。

PPT 节选

关键技术一:跨 AZ 协同复制

PPT 节选

关键技术二:Cache Coherence 与一致性读

PPT 节选

关键技术三:统一 Log Structured Storage

PPT 节选

关键技术四:数据分片存储

以上就是郁白老师带给大家的部分精彩分享,干货满满,特别感谢郁白老师精心准备的内容,意犹未尽的小伙伴们可以观看完整版演讲视频,慢慢 Enjoy~  也敬请期待我们下一期的内容 :)

附:完整 PPT 链接

产品

  • TiDB
  • TiSpark
  • TiDB 路线图

文档

  • 快速入门
  • 最佳实践
  • 常见问题解答
  • TiDB 周边工具
  • 版本发布说明

资源

  • 博客
  • GitHub
  • 知乎专栏
  • PingCAP University
  • 联合解决方案
  • Ask TUG

公司

  • 关于我们
  • 招贤纳士
  • 新闻报道

联系我们

  • Twitter
  • LinkedIn
  • Reddit
  • Google Group
  • Stack Overflow
  • 微信公众号
    Wechat qrCode

    微信扫一扫
    微信ID:pingcap2015

© 2019 北京平凯星辰科技发展有限公司

English