MPPDB/分布式数据库NoSQL/HDFS笔记

1、MPPDB架构

大规模并行处理(MPP)架构

《MPPDB/分布式数据库NoSQL/HDFS笔记》
《MPPDB/分布式数据库NoSQL/HDFS笔记》

Master进行集群的管理及数据分布式处理

一般会有一个Coordinator Node,客户端直接与CN交互,CN与Master交互获得全局事务和数据分布信息,下发任务到DataNode,执行真正的数据处理,CN可以针对处理结果进行汇2聚等,并返回最终的结果

2、NoSQL分布式数据库

key-value方式,分布式集群管理,集群节点数一般能达到上百个(mongodb有商用的实践不超过1000),集群节点数越大,集群管理(元数据、节点状态、故障/扩缩容等)会变复杂,

HDFS的分布式节点数能达到几千台

3、HDFS

分布式文件系统,将单机无法存储/处理的文件,分布到N台机器上存储,上层应用通过路径文件名即可写入读取

HDFS上的数据,一般存储的是原始的,并不经过预处理(maybe存储数据的时候,还不知道该如何预处理)

4、SQL-on-Hadoop

sparksql、hive、hive on spark、impala等等,与mppdb类似,基于sql的交互,前三个实际处理时会将sql转换成MR或者RDD/DS进行处理,impala是直接基于HDFS提供sql能力的

5、对比

1)MPPDB一般在load阶段,会把数据存储成合适的格式;SQL-on-Hadoop相当于是数据湖,存储的是原始的,在分析阶段根据具体的业务场景再处理;

2)MPPDB对SQL的支持比SQL-on-Hadoop好,后面这个差距可能会越来越小

3)MPPDB一般都是基于列的存储,以Scan为基础,适合做交互的实时查询;Hadoop类适合对海量数据做批处理或者自定义UDF的场景

4)MPPDB的可扩展性比Hadoop类要差

5)MPPDB/SQL-on-Hadoop更适用于一次写,多次读,NoSql支持频繁的写入/更新/删除等

6)NoSql在大数据的场景下,可配合其他技术栈使用,比如HDFS存储原始数据,MR/SPARK等根据数据分析的具体场景,scan全量数据(长时间)进行数据处理/预处理,将处理的结果,存储到NoSql中,可供外部交互式查询

    原文作者:Big唐
    原文地址: https://zhuanlan.zhihu.com/p/44597109
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞