加入收藏 | 设为首页 | 会员中心 | 我要投稿 温州站长网 (https://www.0577zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

如何设计大数据存储

发布时间:2022-12-19 15:39:30 所属栏目:大数据 来源:互联网
导读: 假设时间回到2003年,在Google发布大数据“三驾马车”的三篇论文之前,我们知道计算机单机的性能已经到达瓶颈,单机的读写性能有限,磁盘容量也有限大数据存储,如何才能存储互联网上日益膨

假设时间回到2003年,在Google发布大数据“三驾马车”的三篇论文之前,我们知道计算机单机的性能已经到达瓶颈,单机的读写性能有限,磁盘容量也有限大数据存储,如何才能存储互联网上日益膨胀的数据呢?

首先需要考虑到的是性能,包括写文件、读文件的性能,并且有足够大的存储空间。基于这个目的,一个很自然的想法就是采用多台机器来支持并发的读写,这样首选就需要把文件分片,不同的片写到不同的服务器上,这样读写的时候就能充分利用多台机器的性能来最大化整体的读写效率。

分片后会自然引入另外一个问题,如何保证在读一个文件的所有文件片段是可以正常读到的,如果某个分片所在的服务器挂掉了怎么办?这时候就要引入多副本机制,每个分片保存多个副本,一般是3个,通过多副本机制提高系统容错能力。

大数据 数据存储_大数据 存储_大数据存储

引入多副本后又带来另外一个问题,即多副本同步也就是副本一致性问题。每次写入的时候怎么样才算是写入成功的呢?是所有副本都写入,还是存在某个leader副本,leader副本写完之后才算成功?

作为一名架构师,我们的职责就是解决问题,将复杂的问题简单化,最重要的手段就是分治法,想想实现这样的大数据存储系统需要包含哪些功能。

基于上述的背景,我们归纳下,一个大数据存储至少需要实现以下几个功能:

分片管理服务。负责保存文件和文件分片的关联关系、管理每个文件分片和数据存储节点的对照关系。

副本管理服务。记录每个分片及其副本的对照关系,并记录活跃状态,哪些当前是有效可以对外服务的。每个分片的副本应该只会有一个对外提供服务,所以应该存在leader副本的概念。

文件读写请求处理服务。负责处理单个文件的读写请求。

文件分片读写请求处理服务。负责处理单个文件分片的读写请求。

(编辑:温州站长网)

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