从业务视角看开源数据存储技术选型

背景

在业务场景技术选型的过程中,存储技术通常是必不可少的一环,而当前存储技术繁杂多样,如何迅速选择合适业务的技术非常重要。本文根据业务特点抽象核心需求,根据不同需求采取对应的最佳方案。

业务需求抽象

业务特点抽象由广到窄分为如下几点:

  • 是否结构化数据。这里非结构化数据主要是图片、视频和语音等二进制信息。

  • 是否分析型服务。存储服务一般分为在线业务型和分析型。在线业务型用于在线服务增产改查和一些事务性需求;分析型服务一般是运营、产品和分析型对离线数据进行洞察分析。

  • 是否关系型数据。这里主要区分SQL和NoSQL。关系型数据按结构化关系来存储(数据存储模型符合第三范式),其一般是传统行式数据库。非关系存储一般是K-V存储和文档存储。

  • 是否有数据更新和低延迟需求。主要用于对分析型服务分类,数据更新一般是对已有数据进行update修改,低延迟通常是指秒级延迟需求。

  • 是否水平扩展。这里水平扩展主要对newSQL和SQL进行分类。因为传统关系型数据库的扩展性比较弱,主要通过上层sharding方案实现扩展,其存储在设计方面的可扩展性很弱,没有自动数据balance、数据迁移功能。可水平扩展就说明该存储在设计上就实现了数据自动balance、对新加入节点进行用户透明的数据迁移。

  • 是否预聚合。这里主要是对OLAP进行分类,OLAP分为ROLAP和MOLAP,ROLAP类似传统关系型数据库,对分析需求进行adhoc查询,非常灵活,查询延迟一般在秒级以上。MOLAP主要是对数据先预聚合再查询,因为预聚合要管理员提前定义聚合指标,所以查询灵活度较低,但是响应非常迅速,一般在亚秒级。

技术选型图

在这里插入图片描述

闭源技术补充

本图主要划分了开源数据库技术选型,但除了开源选型,在当前的云计算时代,也有很多大厂对应的闭源技术可以选择,下面列举一二并给出选择参考。

非结构化存储

除了开源的ceph,闭源的有AWS的S3、Google的cloud storage、阿里云的OSS和百度云的BOS等。

关系型水平扩展数据库

除了开源的TiDB,还有AWS的Aurora、Google的cloud spanner、阿里云的Oceanbase和百度对开源CockroachDB封装的版本等。

分析型数据库

开源的分析型数据库比较丰富,可根据具体团队状况、技术栈、社区活跃度情况选择。闭源方面可以使用AWS的Redshift、Google的BigQuery、阿里云的ADS和百度云的Palo等。

总结

开源技术丰富多样,一般针对不同场景都有对应的实现技术方案,比较灵活多样,用户根据需求抽象再参考本文就可以选择合适的存储技术。

对于使用云的用户,各家厂商都有完备的对应技术方案,开箱即用。

关注公众号我们可以更方便沟通交流:水木之椿

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值