上海品茶

您的当前位置:上海品茶 > 报告分类 > PDF报告下载

2019年饿了么自研分布式KV数据库的架构与实践.pdf

编号:97332 PDF 29页 1.60MB 下载积分:VIP专享
下载报告请您先登录!

2019年饿了么自研分布式KV数据库的架构与实践.pdf

1、饿了么自研分布式KV数据库的架构与实践Agenda历史与需求核心特性选择和对比架构简介架构设计中的权衡未来的规划历史MySQL+RedisMySQLNoSQL(Redis,Cassandra,MongoDB,Hbase)MySQLNoSQL(Redis,EKV)需求 痛点 海量的、持久化的数据存储 对于我们自己 统一NoSQL使用、统一运营、降低成本、适用多种场景 对于我们的使用者 简单易用 其他需求点 数据可靠、服务稳定、高性能、低维护成本Agenda历史与需求核心特性选择和对比架构简介架构设计中的权衡未来的规划小调查 什么是强一致性?你认为数据库需要强一致性吗?What is EKV我们我

2、们EKV是一个强一致性数据库是一个强一致性数据库选择强一致 未来的方向 MySQL 从v5.7开始,支持Group Replication,采用Paxos MongoDB 从v3.4开始,支持类Raft复制协议 Hbase 类似于BigTable/GFS*NewSQL Spanner,TiDB,CockroachDB等数据库采用Paxos或Raft 除元数据存储以外,越来越多的数据库采用类Paxos算法 越来越多的数据库采用强一致性*从 GFS 失败的架构设计来看一致性的重要性,陈东明,https:/ 对比三个典型系统 MySQL Redis CassandraMySQL MySQL 主备异步

3、复制 非强一致性的(在出现故障时)Lost data 使用建议 Strong DBA for failover Carefully programming with slave node 架构经验异步复制不能保证强一致异步复制不能保证强一致Redis Redis 异步复制 WAIT指令,同步复制 副本不一致(即便使用WAIT)非原子 使用建议 WAIT不应该成为一个对外暴露的API Carefully programming with WAIT 架构经验同步复制不能保证强一致同步复制不能保证强一致Cassandra/Dynamo WRN策略 Quorum(W+RN)副本不一致 Stale Re

4、ad 并发冲突 如何解决副本不一致?再读一次(试试运气)Read Repair Replica synchronizationCassandra/Dynamo 冲突解决 Last Write Win Clock skew(或者叫时钟不同步)Cassandra/Dynamo-最终”正确”一致性 Cassandra/Dynamo 最终一致性(任何情况下,即便W+RN)使用建议 放在无需数据正确性的场景 或者做好补偿措施 架构经验 W+RN不能保证强一致性不能保证强一致性 在并发或者故障时最终一致性最终一致性保证最终正确的一致性保证最终正确的一致性使用强一致的原因 数据正确性 一致性本质上是并发问题

5、和故障处理问题 低开发成本 易懂 易用 易维护 让开发这个事更方便,解放开发者Agenda历史与需求核心特性选择和对比架构简介架构设计中的权衡未来的规划架构 分片(Sharding)海量数据存储海量数据存储Paxos多副本(高可靠高可靠)大多数原则Fault-tolerant(高可用高可用)强一致性强一致性其他功能 多数据模型 Structured KV模型 Integer String Sorted Hash(稀疏大表)Redis模型 异地多活 水平扩容Agenda历史与需求核心特性选择和对比架构简介架构设计中的权衡未来的规划是否有这样的疑虑 强一致性的系统可用性不好?强一致性的系统性能不好

6、?强一致vs.可用性 CAP定理 Availability,指的是100%绝对可用(任何时间,哪怕只剩一个节点)CAP定理不适用Paxos Paxos容忍少数宕机,虽然没有达到完全可用,但仍然很高的可用性 需要绝对可用的架构设计吗?不,需要是实际的高可用实际的高可用,Effectively CA*,*Google的强一致系统达到99.99958%的实际可用性 网络分区并是不可用的主要原因,架构选择可用性架构选择可用性实际获得高可用实际获得高可用*Spanner,TrueTime&The CAP Theorem,Eric Brewer,https:/ 数据库不应该放弃 Consistency,陈

7、东明,https:/ What is performance?Throughput 采用数据分片,在大多数场景下Throughput没有影响 Latency 复制过程的Network Round Trip*3个物理机节点,64core,2.8G,256G内存,1块1T的SSD硬盘,库中已有数据500G,200个sharding分片,ValueLength=300BPaxoslatencylatency强一致vs.性能 Round Trip(以三个节点为例)Write Network RT:异步复制 N)同步复制0RT1RT1RT1RT0最快的最快的全部 Read Network RT:异步复制=Paxos=同步复制 N)0RT0RT0RT1RT000最快的 我们的实践,Write latency=5ms,Read latency N 强一致 最终一致性 保证最终正确的一致性 重新考虑CAP的二选一:架构上选择可用性 实际上获得高可用 架构上选择一致性 实际上可用性低,仍然可以实际高可用 强一致性 低性能系统架构设计的经验:总结(2)构建了一个自研的、不同于现有NoSQL数据库的:EKV是多数据模型、强一致的key-value数据库 EKV具有高可用、高可靠性、海量存储、高性能的能力

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(2019年饿了么自研分布式KV数据库的架构与实践.pdf)为本站 (云闲) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
会员购买
客服

专属顾问

商务合作

机构入驻、侵权投诉、商务合作

服务号

三个皮匠报告官方公众号

回到顶部