b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

用于分析Internet技术体系结构的分布式存储(第2部分)(2)

电脑杂谈  发布时间:2020-05-01 09:27:24  来源:网络整理

分布式存储系统有两个目标: 可伸缩性+全功能SQL基本在Megastore上实现. 当然,Megastore也存在一些问题,其中一些问题来自底层的Bigtable,例如单一副本等. 实际上,在Google,Megastore已过时,并重新开发了革命性的分布式系统Spanner来解决这些问题.

4. 分布式

关系汇集了计算机领域的智慧,也为当今的Internet和大数据铺平了道路. 在Internet时代,如何横向扩展是传统关系数据的最大挑战.

MySQL分片

通常,水平扩展方法是应用程序层根据规则将数据拆分为多个碎片,然后将其分发到多个节点,并引入一个中间层应用程序以在稍后阶段屏蔽拆分的细节.

类似地,它在MySQL分片中类似:

如上所示,通常分为: 应用程序端,中间层dbproxy群集,组,元数据服务器等.

1)应用程序/客户端: 通过MySQL与客户端交互并支持JDBC,从而使原始独立无缝连接.

2)中间层dbproxy: 解析客户SQL并转发到后端. 分析MySQL协议,执行SQL路由,过滤,读写分离,结果合并,排序和分组. 此外,可以引入LVS(Linux虚拟服务器)来实现负载平衡.

3)组dbgroup: 每个dbgroup由n台机,一个主机和其余的从机组成. 主服务器负责所有事务并具有强大的一致性读取,并复制到备用计算机.

4)元数据服务器: 维护dbgroup拆分规则,并用于dbgroup选举. dbproxy通过元数据服务器拆分规则确定SQL执行计划. 另外,zk用于实现HA的多个副本.

值得注意的是,如果请求数据仅涉及一个组,则中间层转发请求并等待结果返回给客户端;如果涉及多个组,则中间层将合并结果,组和排序. 将操作返回给客户端后,中间层协议与MySQL兼容,因此对客户端是透明的.

Google Spanner

最后来到Google Spanner,Google Spanne是Google的全球分布式存储系统. Spanner的可扩展性已达到全球水平,可以扩展数百个数据中心,数百万台计算机,数万亿行记录.

Spanner使分布式技术和技术的组合有机,分布式和可扩展,并且是一个关系数据模型.

回顾CAP理论:

分布式存储网络_分布式存储 架构_小文件分布式存储

上图中的CAP定理指的是在网络分区发生故障的情况下一致性和可用性不可用的事实. 例如,在银行等应用程序中,一致性非常重要. 另一个例子是众所周知的MongoDB不支持复杂的事务,仅支持少量的原子操作,因此它不适合“转移”以及对事务和一致性有较高要求的其他场合. 这需要一个关系来高层地控制事务.

Spanner还支持同步复制,多版本控制和跨数据中心事务,完全打破了CAP的束缚,并完美地平衡了这三个方面. 无论是从学术界还是工程界,Spanner都可谓是划时代的分布式存储系统. 扳手可以做到这一点. Google使用GPS和原子钟实现的时间API. 该API可以将数据中心之间的时间同步同步到10ms以内. 因此,实现了以下功能: 无锁读取事务,原子模式修改以及无块读取历史数据.

Google F1 RDBMS

说到Spanner,我们不得不提到F1,赛车吗? Google研究院推出了一个名为F1的新. F1是Google创建的新的RDBMS. 作为一个混合,它将BigTable的高可伸缩性与SQL的可用性和功能结合在一起. 支持拥有高度可扩展的,而无需切换到NoSQL.

如上所示,F1当前支持Google的AdWords核心业务,并且AdWords的后台F1已从MySQL子迁移到表Spanner.

F1系统架构和功能:

为什么Google仍然需要F1而不使用BigTable?由于BigTable提供了最终的一致性,因此无法使用某些需要事务处理级别的应用程序. 同时,BigTable仍然是NoSql,并且许多应用程序场景都需要一个关系模型. 就像现在许多Internet公司都使用Mysql而不是HBase一样,Google的可伸缩也只有F1. Spanner是F1最重要的基础存储技术.

扳手数据模型

数据模型类似于Megastore系统. Spanner的表是分层表,底层是目录表目录,可以使用INTERLEAVE IN PARENT创建其他表来表达分层关系. 该目录类似于megastore中的实体组. 在实际存储中,同一目录的数据将放在一起,并且同一目录的每个副本将分配给同一台计算机. 因此,除非目录很大,否则对同一目录的读写通常不涉及跨机器.

Google新设计了GFS 2- Colossus,主要提高了实时性能并支持大量小文件.

扳手基本概念

Universe: Spanner部署实例称为Universe. 目前,世界上只有三种,一种用于开发,一种用于测试,一种用于.

区域: 每个区域都属于一个数据中心,一个数据中心可以包含多个区域. 跨区域通信非常昂贵.

Universal Master: 在这种情况下监视区域级别的状态信息

展示位置驱动程序: 提供跨区域数据迁移

位置代理: 提供获取数据位置信息的服务;

Spanserver: 提供存储服务,类似于bigtable中的平板电脑服务器

Spanner还通过Paxos协议在数据中心的多个副本之间实现了一致性. 每个主副本所驻留的spanserver还实现了用于并发控制的锁.

TrueTime

为了实现并发,需要为每个事务分配一个全局唯一的事务ID. 但是,在分布式系统中,很难生成全局唯一的ID. Google Creative选择了TrueTime机制.

TrueTime是提供本地时间并可以同步全局时间的接口. 该API的实现依赖于GPS和原子钟. 引入了两种类型,以避免当GPS无法干扰时,原子钟非常稳定而不会发生偏差. 在实际部署中,每个数据中心都需要部署一个主计算机,而其他计算机则需要一个从服务器来与主进行同步.

借助TrueTime,Spanner可以控制并发性,实现外部一致性并支持以下事务:

读写,只读,快照读取,读写事务.

[Google2012] James C. Corbett,Jeffrey Dean,Michael Epstein等. Spanner: Google的全球分布式. OSDI’2012.

我们期待看到山寨开源产品,例如Spanner和F1. 当然,在2014年和2015年,我们看到了一个类似于Spanner的开源项目. 值得注意的是,其作者是Google的前雇员,CockroachDB,中文叫蟑螂?小强谁死不了. 目前,CockroachDB已发布Beta版,并获得了大量风险投资.

CockroachDB: 可扩展的,地理复制的事务性数据存储

在过去的十年中,美国在中国睡眠期间,依靠强大的基础研究和硅谷的高科技工程师来开创Internet + DT的新时代. 在接下来的十年中,当美国人睡觉时,中国公司也开始支付大量的基础研究费用. 中国会赢吗?

好的,我们的分布式存储在这里已经结束了,写作很辛苦. 它指的是很多网络资源,包括英文文档. 本文基本上是一门通俗的科学和入门级著作. 作者希望在学习过程中与极客朋友分享.

发布于2018-08-11 20: 57micwinread(...)评论(...)编辑


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-195115-2.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...