从分布式存储设计到自动化运维的演进

运维 系统运维 分布式 自动化
其实不仅是存储,整个运维工作,都应该向自动化演进,你可以想象:一个晴朗的下午,工程师带着耳机听着歌,将需求模型输入之后,一个红按钮一按,代码已经写好,test自动开始,AB test,staging,一切OK,自动分发到了各处。本文总结了分布式存储设计和自动化运维那些事儿。

三年前在infoq发表的一篇关于两种特别有代表性的分布式存储的设计思路解析,三年过去了,今天再来总结看看这几年的变化。

实际上,这三年,还是两个东西,一直没有冒出来更牛x的东西。

[[74528]]

一、dynamo代表作riak特点

早几年以cassandra为代表此类项目,固定特点为:水平扩展、无中心节点、多备份、最终一致性、性能一般、适合海量数据。因为cassandra在业界的使用失败案例太多,让大家避而远之。这两年,以erlang开发的riak又冒出水面。

1.1 erlang

这作为riak的最大特点一点也不为过,因为语言在分布式领域的独特能力,使得riak的源代码十分简洁干净。不过一万多行的代码,在第一次读到它的代码时,我也感叹,几年前,傻希希的用java代码堆了十几万行的nuclear代码,真是太笨了。

1.2 完整的dynamo实现

在cassandra的年代,许多东西不方便实现,版本控制的向量时钟使用了timestamp代替,vnode在cassandra上是非常大的区块,在进行负载均衡时有很大可能不均匀。到了riak的时代,所有的特点,在erlang的支持下,完成了各种细节。并且增加了:1.http存取的支持。2.双向索引。3.搜索支持。4.m/r支持。

二、bigtable代表作hbase特点

与dynamo对应的解决方案bigtable的历史更加悠久一些,开源项目也进行了很多年,hbase社区也正在不断地完善。

1.1 偷懒地依赖hdfs

严格说来hbase的实现,只主要关心了regionServer(中心节点所在,用来分配数据所在位置),所以说偷懒地在底下使用了hdfs完成备份工作。

1.2 列簇

在借用hdfs之后,在其上实现的存储格式让hbase可以满足各式各样的需求,当然了,这么复杂的交互,最好还是使用ssd之类的高速度的存储介质。

三、发展方向及特点

在回顾了两大阵营的各自特点之后,再来看看未来。

3.1 mysql时代

招一堆的mysql dba,指哪打哪,哪坏修哪。工作得很好!

3.2 nosql时代

开发工程师了解了dba的苦逼,以及老板招不到dba的苦逼,决定将数据结构化,简化代码的数据结构。

典型的代表key-value系统。

再基于这些单一的结构,做一堆的自动加机器自动转数据的功能。riak在此列。hbase略高于此。

3.3 未来时代

不仅是存储,整个运维工作,都应该是自动化演进,你可以想象:一个晴朗的下午,工程师带着耳机听着歌,将需求模型输入之后,一个红按钮一按,代码已经写好,test自动开始,AB test,staging,一切OK,自动分发到了各处。上线五分钟,某处开始报警,中央自动判断如何添加机器,执行添加。

--写在32位服务器已经过时了的日子,纪念一下,中国都应该记住。

原文链接:http://www.54chen.com/architecture/distributed-auto-ops.html

责任编辑:黄丹 来源: 五四陈科学院
相关推荐

2024-06-07 07:41:03

2022-06-14 15:28:37

数据库存储系统变革趋势

2018-05-02 11:16:27

数据中心

2018-04-25 09:01:02

2011-05-30 17:50:23

分布式测试

2011-05-31 18:17:07

分布式测试

2018-04-23 08:44:41

滴滴DB自动化运维

2012-10-22 14:54:48

2018-06-28 08:18:56

Ceph运维存储

2014-08-04 10:10:35

IT运维自动化运维

2020-10-20 09:38:15

分布式存储Ceph

2021-04-29 19:07:33

Redis演进微服务

2018-06-23 07:31:05

2018-07-16 09:00:06

Ceph运维开源

2022-09-16 10:04:59

分布式云扩展自动化

2017-10-13 13:14:35

互联网

2016-01-13 10:09:49

自动化运维运维思想

2018-10-29 12:51:35

分布式存储元数据

2024-04-22 08:10:29

2024-05-16 07:51:55

分布式系统架构
点赞
收藏

51CTO技术栈公众号