前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >新一代大数据平台存储反思

新一代大数据平台存储反思

作者头像
wubx
发布2021-04-26 11:16:25
9000
发布2021-04-26 11:16:25
举报
文章被收录于专栏:MySQLBeginner

  大数据平台是一个发展非常迅速的方向。本周Apache撤回了13个和Hadoop相关的项目,也给还在鼔吹Hadoop大数据生态的可以说是当头一棒。这几年社区里开始出现很多公司使用ClickHouse替换Hadoop生态的现象,让ClickHouse成为大数据的新宠。这一块我也对ClickHouse这个方向及大数据存储方向做一个反思,给大家一些参考。

   首先我们看一下ClickHouse的集群架构:

  官方的ClickHouse集群采用的shared nothing架构,该架构如果写入时直接写分布式表,对Zk的压力非常大。所以在该架构下主要还是写入local table,在海量数据写入时对于数据加载也是一个非常有挑战的工作。

该架构有以下优点:

  1. 结构清晰,由以前的使用昂贵的共享存储转变成为了PC结构的存储
  2. 每个table可以跨节点进行水平分区,每个节点有自已本地存储
  3. 高可用架构简洁,非常方便运维
  4. 对于“星型”模型有良好的扩展性
  5. 成就了当代很多分布式Data Warehouse的基本架构

该架构也有以下缺点:

  1. 节点融合了计算和存储,在扩容方面必然会带来较高的成本。例如从节点,较少担任计算,但也需要提供较强的计算能力。
  2. “弹性”不足集群扩容和缩容必然面临数据分布的调整。
  3. 从节点的计算资源大部分是闲置的。
  4. 数据高速写入时对Zk及网络数据同步都有较大的压力。
  5. 该结构升级或是运维中如果出现性能或是故障问题,很容易导致整体服务不可用。

由于以上的原因ClickHouse在原始结构下不好直接应用到海量数据存储架构下,主要就是存储和计算成本非常高。但在单体可用情况下ClickHouse非常的简单,特别是Clikchouse和MySQL结合的HTAP场景;或是提供一些简单无join的环境非常方便。业界也有把ClickHouse的存储放到HDFS实现计算和存储分离的模型(快手),但这种架构对于运维及公司的研发成本都比较高。

那么新一代的大数据或是数据平台存储方面有什么改善呢?

说到新一代的大数据平台,不得不提当前的明星产品Snowflake。Snowflake俨然进一步定义了现代数据仓库发展的方向。Snowflake提出了data-warehouse-as-service(DaaS)基于云原生的数据仓库Saas服务(No hardware, no software, and completely maintained on cloud)

Snowflake提出一个Mutli-Clusetr Shared Data架构,下面我们看一下Snowflake的架构:

从Snowflake的架构可以看出底层使用了Shared Data架构即云厂商提供的S3类的对象存储能力,S3本身是云厂商提供的跨数据中心及一个近似于无限扩容机制,所以用户在数据存储及安全方面基本无需担心。

再说Snowflake的计算层即计算集群,计算集群在同一个数据中心内,只要保障网络传输的性能,就可以把查询解析后分发到计算层集群执行从Shared Data中获取数据。在这个环节上利用了云上基础资源减少了私有构建方面的IT麻烦。

再往上是官方提出的cloud service或是元数据管理层,这一层是无状态的,可以非常方便解决高可用问题。

最上层是负载均衡器,可以进行服务的冗余和负载处理,连接保持等。

从架构及分层上看Snowflake也是完全按Cloud Native Database架实现,但Cloud Service层更加复杂。

该架构优点:

  1. 数据统一存储,没有数据孤岛的概念,利用S3存储,把存储和计算进行分离。
  2. 基于S3类对象存储可以去存储结构化和非结构化数据,基于S3类的存储基本可以无限扩展。
  3. 集群的计算节点是无状态,可以快速弹性扩展收缩。支持多种规格选择。
  4. 最上层提供一个数据湖管理服务,一个完整的SaaS平台,可以用于管理存储、计算、机器学习等管理角色。
  5. 所有分层相对独立,按需扩展, 易于管理。
  6. 开箱即用,随时关闭不需要的计算资源。
  7. 每个计算资源可以访问全部数据。
  8. 可以实现对用户透明的升级管理。

该架构缺点:

1. 基于云上的架构开发,比较难于私有部署。

2. 目前没有开源 (强加一个缺点)。

可以说目前大数据平台,数据平台都在从shared nothing架构向Shared Data在进行过渡,由传统的OS Database模型向计算和存储分离过渡。慢慢向SaaS化的应用过渡(云公司也会向着更加专业的IT设备提供商转型,越来越多的SaaS服务商也会出现)。

国内的情况可能慢一点,现在国内上云的情况还是比较少,大多数公司还停留在什么事都想自已干,更多的公司现在还在寄希望于自研,然后干出来一个AWS的生意。但可以看到全球目前这块成功的也就:AWS, Google, Aliyun, Tencent。其他的公司能满足自身公司的业务就不错了。但现在可以说是基于云原生创业的最佳时期。

总结:

  1. 适用ClickHouse的环境,数据量不大,没有上规模,对于机器的成本不敏感,实现大于成本阶段。ClickHouse非常优秀,一般的环境利用单机都已获得非常不错的性能。
  2. 新一代的大数据平台计算和存储分离已经成为趋势。
  3. 短时间个人自研的存储很难达到云厂家提供的S3类对象存储 ,S3类对象存储也将会成为新一代数据库,数据平台的存储架构。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-04-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 MySQLBeginner 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档