加入收藏 | 设为首页 | 会员中心 | 我要投稿 衡阳站长网 (https://www.0734zz.cn/)- 数据集成、设备管理、备份、数据加密、智能搜索!
当前位置: 首页 > 服务器 > 安全 > 正文

专家观察 | 林尚泉:“小米结构化存储系统及融合云平台的设计与

发布时间:2021-01-21 04:10:44 所属栏目:安全 来源:网络整理
导读:《专家观察 | 林尚泉:“小米结构化存储系统及融合云平台的设计与实践”》要点: 本文介绍了专家观察 | 林尚泉:“小米结构化存储系统及融合云平台的设计与实践”,希望对您有用。如果有疑问,可以联系我们。 由工业和信息化部指导,中国信息通信研究院主办,
副标题[/!--empirenews.page--]

《专家观察 | 林尚泉:“小米结构化存储系统及融合云平台的设计与实践”》要点:
本文介绍了专家观察 | 林尚泉:“小米结构化存储系统及融合云平台的设计与实践”,希望对您有用。如果有疑问,可以联系我们。

由工业和信息化部指导,中国信息通信研究院主办,业界知名组织云计算开源产业联盟(OSCAR)承办的2017全球云计算开源大会于4月19日-20日在北京国家会议中心顺利召开.本文为本届大会嘉宾分享的大会演讲速记内容,敬请浏览.

嘉宾介绍:林尚泉

公司职务:小米科技开发工程师

大会演讲速记

我是来自小米的云平台的工程师林尚泉,下面我来给大家介绍一下小米结构化存储系统以及融合云平台的设计和实践.

这个是今天的演讲大纲,比较简单.

结构化存储是一个分布式NoSQL数据库服务,对标AWS DynamoDB,我们的目标是要把它做成一个弹性可扩展、高可用、低延时、稳定可靠的数据库服务.

首先介绍一下项目的背景,HBase在小米用的比较好,但是用着就发现了一些问题,包括一些认证和环境配置比较复杂,还有多语言支持的不太好等等,到后面我们还要支持生态链公司的一些结构化数据的存储需求,所以我们需要在公网里面提供访问.

HBase在公网直接提供访问也不大方便,所以我们就做了这套服务,它是基于HBase的,对外提供无状态的公网访问,简化了客户的配置,支持多种主流语言的SDK,因为一个集群供多个用户一起使用,所以需要支持多租户的功能,包括访问控制和流量控制,并且我们还在原生的HBase上做了一些功能扩展,因为原生的HBase是只支持按主键索引,没有二级索引,也没有数据类型的概念.

我们在上面做了一些功能扩展,包括数据类型、二级索引、stream、还有软删除和数据冷备等等这些功能.现在这个服务不仅支持了小米内部业务,包括MIUI、小米网等等,还支持了十几家生态链公司的结构化存储的业务.

看一下应用规模,我们在北京天津美国新加坡都有相应的集群,机器规模一百多台,支持的业务数二十几个,数据量一百多TB还有数千亿行,看起来不是很多,但是前段时间统计,现在的数据量是以每两个月翻倍的在增长,现在单集群的QPS大概是几十万级别.

专家观察 | 林尚泉:“小米结构化存储系统及融合云平台的设计与实践”

这是结构化存储一个典型的部署,分为主备结构、底层是Zookeeper/HDFS/HBase等系统,主集群使用ssd盘,备集群使用hdd盘,在HBase上面那层我们封了一层libsds,主要对HBase做了一些功能扩展,在libsds库上,我们是直接对外提供服务的ThriftServer,使用Thrift 的RPC框架,支持多种语言的SDK,还有流量控制等功能.主集群是直接供用户的线上访问,备集群除了充当主集群的热备之外还会给用户跑一些离线作业.

下面首先介绍一下libsds库,主要在HBase上做了以下的功能扩展,一个是规范化的数据模型,还有一些数据类型的支持,还有局部二级索引以及全局二级索引,下面分别介绍一下几个功能,规范化的数据模型意思是在libsds那层,表是有schema的,

专家观察 | 林尚泉:“小米结构化存储系统及融合云平台的设计与实践”

这个图就是对应HBase的一个KeyValue,还支持了多种数据类型,包括各种基本类型和集合类型.

我们采用了HBase8201和SQLite编码方案对RowKey进行编码,保证跟原来的数据类型的顺序是一致的,还可以支持逆序.

局部二级索引,这种二级索引是实体组内部的索引,索引数据是和原数据存在同一张表上的不同Column Family,我们实现了个基于正则表达式的前缀分割策略,确认保证同一个实体组键里面的数据是在同一个Hbase region上面,并且不能被split的,这两个图刚才介绍过,一个是原数据的,我们建了局部索引,除了写原数据还会加一行索引数据,就是下面这个图.

RowKey的排列是实体组键到索引键再到主键,可以看到原数据和索引数据的实体组键是一样的,然后根据我们实现的前缀分割策略就可以保证原数据和索引数据在同一台机器上,就可以比较简单的去保证这两个数据写入的原子性.

(编辑:衡阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读