| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx

高性能分布式数据库系统 OceanBase

0

OceanBase是一个支持海量数据的高性能分布式数据库系统,实现了数千亿条记录、数百TB数据上的跨行跨表事务,由淘宝核心系统研发部、运维、DBA、广告、应用研发等部门共同完成。

!OceanBase解决什么问题

许多公司的核心资产是各种各样的商业数据,例如淘宝的商品、交易、订单、购物爱好等等,这些数据通常是结构化的,并且数据之间存在各种各样的关联,传统的 关系数据库曾经是这些数据的最佳载体。然而,随着业务的快速发展,这些数据急剧膨胀,记录数从几千万条增加到数十亿条,数据量从百GB增加到数TB,未来 还可能增加到数千亿条和数百TB,传统的关系型数据库已经无法承担如此海量的数据。!OceanBase解决不断增加的结构化数据存储与查询的问题。

从Eric Brewer教授的CAP(一致性C: Consistency, 可用性A: Availability,分区容错性P: Tolerance of network Partition)理论角度分析,作为电子商务企业,淘宝和其他公司的业务对一致性和可用性的要求高于分区容错性,数据特征是数据总量庞大且逐步增加, 单位时间内的数据更新量并不大,但实时性要求很高。这就要求我们提供一套更加偏重于支持CA特性的系统,同时兼顾可分区性,并且在实时性、成本、性能等方 面表现良好。

!OceanBase的架构

!OceanBase的逻辑架构简图

高性能分布式数据库系统 OceanBase

!OceanBase架构的一些基本概念

主键

row key,也称为primary key,类似于DBMS的主键,与DBMS不同的是,!OceanBase的主键总是二进制字符串(binary string),但可以有某种结构。!OceanBase以主键为顺序存放表格数据

sstable

一种数据存储格式,!OceanBase用来存储一个或几个表的一段按主键连续的数据

tablet

一个表按主键划分的一个(前开后闭的)范围,通常包含一个或几个sstable,一个tablet的数据量通常在256MB左右

基准数据和动态数据

!OceanBase以增量方式记录一段时间内的表格数据的增删改,从而保持着表格主体数据在一段时间内相对稳定,其中增删改的数据称为动态数据(通常在 内存,也称为内存表),而一段时间内相对稳定的主体数据称为基准数据,基准数据和转储后(保存到SSD固态盘或磁盘)的动态数据以sstable格式存储

!ChunkServer

保存基准数据的服务器,通常是多台,为了避免软件硬件故障导致的服务中断,同一份基准数据通常保存了3份并存储在不同!ChunkServer上

!UpdateServer

保存动态数据的服务器,一般是单台服务器。为了避免软件硬件故障导致的服务中断,!UpdateServer记录commit log并通常使用双机热备

!MergeServer

进行静态动态数据合并的服务器,常常与!ChunkServer共用一台物理服务器。!MergeServer使得用户能够访问到完整的最新的数据

!RootServer

配置服务器,一般是单台服务器。为了避免软件硬件故障导致的服务中断,!RootServer记录commit log并通常采用双机热备。由于!RootServer负载一般都很轻,所以它常常与!UpdateServer共用物理机器

冻结

指动态数据(也称为内存表)的更新到一定时间或者数据量达到一定规模后,!OceanBase停止该块动态数据的修改,后续的更新写入新的动态数据块(即新的内存表),旧的动态数据块不再修改,这个过程称为冻结

转储

出于节省内存或者持久化等原因将一个冻结的动态数据块(内存表)持久化(转化为sstable并保存到SSD固态盘或磁盘上)的过程

数据合并(merge)

查询时,查询项的基准数据与其动态数据(即增删改操作)合并以得到该数据项的最新结果的过程。此外,把旧的基准数据与冻结的动态数据进行合并生成新的基准数据的过程也称为数据合并

联表(join)

一张表与另一张或几张表基于主键的左连接关系,类似于DBMS的自然连接

COW

Copy on Write的缩写,在OceanBase中特指BTree在更新时复制数据备份写入,避免系统锁的技术手段

!OceanBase的特点

!OceanBase功能

!OceanBase设计和实现的时候暂时摒弃了不紧急的DBMS的功能,例如临时表,视图(view),研发团队把有限的资源集中到关键点上,当 前!OceanBase主要解决数据更新一致性、高性能的跨表读事务、范围查询、join、数据全量及增量dump、批量数据导入。

!OceanBase数据访问特点

虽然数据总量比较大,但跟许多行业一样,淘宝业务一段时间(例如小时或天)内数据的增删改是有限的(通常一天不超过几千万次到几亿次),根据这个特 点,!OceanBase把一段时间内的增删改等修改操作以增量形式记录下来(称之为动态数据,通常保存在内存中),这样也使得了主体数据在一段时间内保 持了相对稳定(称之为基准数据)。

由于动态数据相对较小,通常情况下,!OceanBase把它保存在独立的服务器!UpdateServer的内存中。以内存保存增删改记录极大地提高了 系统写事务的性能。此外,假如每条修改平均消耗100 Bytes,那么10GB内存可以记录100M(即1亿)条修改,且扩充!UpdateServer内存即增加了内存中容纳的修改量。不仅如此,由于冻结 后的内存表不再修改,它也可以转换成sstable格式并保存到SSD固态盘或磁盘上。转储到SSD固态盘后所占内存即可释放,并仍然可以提供较高性能的 读服务,这也缓解了极端情况下!UpdateServer的内存需求。为了应对机器故障,动态数据服务器!UpdateServer写commit log并采取双机(乃至多机)热备。由于!UpdateServer的主备机是同步的,因此备机也可同时提供读服务。

因为基准数据相对稳定,!OceanBase把它按照主键(primary key,也称为row key)分段(即tablet)后保存多个副本(一般是3个)到多台机器(!ChunkServer)上,避免了单台机器故障导致的服务中断,多个副本也 提升了系统服务能力。单个tablet的尺寸可以根据应用数据特点进行配置,相对配置过小的tablet会合并,过大的tablet则会分裂。

由于tablet按主键分块连续存放,因此!OceanBase按主键的范围查询对应着连续的磁盘读,十分高效。

对于已经冻结/转储的动态数据,!OceanBase的!ChunkServer会在自己不是太繁忙的时候启动基准数据与冻结/转储内存表的合并,并生成新的基准数据。这种合并过程其实是一种范围查询,是一串连续的磁盘读和连续的磁盘写,也是很高效的。

传统DBMS提供了强大的事务性、良好的一致性和很短的查询修改响应时间,但数据规模受到严重制约,缺乏扩展性;现代云计算提供了极大的数据规模、良好的 扩展性,但缺乏跨行跨表事务、数据一致性也较弱、查询修改响应时间通常也较长,!OceanBase的设计和实现融合了二者的优势:


!UpdateServer:类似于DBMS中的DB角色,提供跨行跨表事务和很短的查询修改的响应时间以及良好的一致性。

!ChunkServer:类似于云计算中的工作机(如GFS的chunk server),具有数据多副本(通常是3)、中等规模数据粒度(tablet大小约256MB)、自动负载平衡、宕机恢复、机器plug and play等特点,系统容量及性能可随时扩展。

!MergeServer:结合ChunkServer和UpdateServer,获得最新数据,实现数据一致性。

!RootServer:类似于云计算中的主控机(如GFS master),进行机器故障检测、负载平衡计算、负载迁移调度等。


上述的DBMS和云计算技术的优势互补使得!OceanBase既具有传统DBMS的跨行跨表事务、数据的强一致性以及很短的查询修改响应时间,还有云计算的海量数据管理能力、自动故障恢复、自动负载平衡以及良好的扩展性。

!OceanBase当前在淘宝的应用

!OceanBase现在已经应用于淘宝收藏夹,用于存储淘宝用户收藏条目和具体的商品、店铺信息,每天支持4~5千万的更新操作。等待上线的应用还包括CTU、SNS等,每天更新超过20亿,更新数据量超过2.5TB,并会逐步在淘宝内部推广,也期待外部合作者。

44个答案

0

It is right in leftover dynamic and thinking about each life occasions. In any case, a sex-denied, desolate or even sex-excited individual ought to apply brakes at one point. On the off chance that one is searching for Chennai Escorts, ensure that you are not expected to stress over anything. From here, you will unquestionably get the ideal and profoundly loved kind of grown-up adoration.

0

Im so grateful that I found some valuable content. Thank you for sharing 라이브 카지노

0

자신의 내용을 언급하기 위해 노력하는 것만으로도 믿을 수 있습니다. 귀하의 게시물과 함께 이러한 명확성은 훌륭합니다! 감사합니다. 수백 명이 당신과 함께 즐겁게 일을 끝내야 합니다. 라이브 바카라 조작 나는 그것을 발견하게 된 것을 기쁘게 생각합니다. 곧 어떤 추가 게시물이 포함되어 있는지 알아보기 위해 다시 확인하겠습니다. 

0

바카라 타이 의 확률은 대략 9.528%정도로 10%채 되지 않습니다. 타이의 배당이 8배당임을 감안하면 실질적 배당 8배는 너무 손해라는 뜻이지요.하지만 이것이 꼭 타이 배팅으로 이득을 볼 수 없다는 것은 아닙니다. 어떤 배팅과도 똑같게 “내가 배팅하는 타이밍”에 타이가 나오게되면 이득을 낼 수 있습니다.어떤 도박이든 확률에 의거하여 배팅해야 하는 것은 같습니다.

0

This is really awesome. I really found some 국내 온라인 카지노 amazing sites on your blog. I hope you will share some more information about this post. Please keep sharing.

0

우리카지노주소 고객에게 최고의 카지노를 추천하기 위해 최선을 다할 것입니다. 항상 회원의 관점에서 생각하고 행동하는 고객 중심의 서비스를 제공 할 것을 약속드립니다. 한국카지노 방문해주신 고객 여러분께 감사드리며 머리를 숙이고 있습니다

0

한국카지노 게임사이트 하면 어떤 것을 떠올리나요? 많은 라이브바카라 있는나라 중에서도 한국카지노 게임사이트 말을 들었을 때 많은 분들은 온라인카지노 를 떠올리곤 할 것입니다. 라이브바카라 - 온라인카지노 & 생방송카지노 게임

0

인터넷카지노사이트 – 바카라사이트 – 온라인카지노 – 더킹카지노 주소 만을 추천합니다.카지노, 바카라, 온라인카지노, 라이브카지노, 사설카지노, 등 각종 게임을 제공하는 신뢰할 수 있는 통합사이트와 함께 다양한 이벤트 쿠폰 및 가입머니를 받아가세요!

0

I just want you to know that I really appreciate your website. Please visit their website more often 바카라사이트

0

There is a lot you should know about this subject. I agree with every argument you stated. 바카라사이트

0

This website has all of the required information on this subject, and I was unsure who to ask 온라인바카라

0

I truly enjoy your blog. Very nice colors and themes 카지노사이트

0

카지노사이트주소 - 온라인카지노 라이브카지노 & 온라인카지노 는 안전하고 안전하며 라이센스가 있으며 수백 가지 흥미 진진한 게임으로 가득합니다.우리는 발굴 전용 카지노 보너스는,검토 대한민국 최고의 카지노사이트에서 세부사항

0

바카라사이트 - 온라인카지노 인터넷카지노추천 & 라이브바카라 최고의 또한 바카라게임 을 제공하고 있으며, 선 시티 카지노 플러스 카지노 킹 카지노 코인 카지노 메리트 카지노 샌즈 카지노 등 다양한 카지노 사이트에서 바카라 게임을 제공합니다.

0

This is very interesting, Actually I’m a regular guest of Your site. You’re a very skilled blogger. Your post is 온라인카지노 awesome, nice written and come with approximately all important info's. Thanks for sharing your article. 

0

인터넷바카라 - 온라인카지노 카지노사이트주소 낮은 하우스 에지와 함께 흥분을 제공하는 카지노게임 을 시도하려는 사람들은 인터넷바카라카지노 를 시도해 볼 수 있습니다. 언뜻보기에는 다소 복잡한 테이블 게임처럼 보일 수 있지만 실제로 온라인바카라

0

바카라카지노 - 월드라이브바카라 오랜 역사를 자랑하는 카지노 검증된 인터넷카지노 인만큼 보다 안전하게 이용하실 수 있으며 회원님들의 입장을 반영하여 차별화된 시스템과 향상된 서비스를 제공해드리고 있습니다 또한

0

바카라사이트 – 인터넷바카라게임 실시간카지노의 시스템은 언제나 공정한 결과를 얻으실 수 있습니다. 계열의 모든 브랜드 는 최고 수준의 비디오 스트리밍과 소프트웨어를 사용하여, 라이브 환경을 한차원 높게 서비스 할것임

0

Situs judi slot online terpercaya menyediakan banyak tipe judi online dan di dukung provider slot terbaik, deposit dan withdraw cepat serta banyak bonus jackpot

judi slot online terpercaya

0

MBS88 menjelaskan secara detail mengenai daftar teratas situs judi slot online terbaik 2021 yang juga memiliki judi casino online, poker online dan bola online.

judi slot online terpercaya

1 2 3