`
大涛学长
  • 浏览: 110547 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

数据中台的存储系统和计算平台枚举

阅读更多
作者:向师富 转自:阿里巴巴数据中台官网 [https://dp.alibaba.com](https://dp.alibaba.com/) 
**采集&传输层**

*   Sqoop 
    Hadoop、关系型数据库之间传输数据的工具。传输时,会启动多个MR作业并发的传输数据
*   DataX 
    阿里巴巴开源的数据同步工具,用来在各种异构数据源之间同步数据。比如 RDBMS<->Hadoop/MaxCompute、RDBMS<->hbase/ftp等等。部署、运维非常简单,将DataX的jar包copy到linux系统中即可运行
*   Flume 
    分布式的高可用的数据收集、聚集的工具。通常用于从其他系统搜集数据,如web服务器产生的日志,结合Kafka的消息队列功能,实现实时日志处理、离线日志投递。 典型的使用方案是:

离线计算:应用系统日志 -> flume -> kafka -> hdfs -> MR作业 
实时计算:应用系统日志 -> flume -> kafka -> blink/jstorm/storm/spark streaming

*   Logstash 
    服务器端数据收集工具,能够同时从多个来源采集、转换数据。日志收集功能与Flume比较类似
*   Kafka 
    基于发布/订阅机制的分布式的消息系统。常用于日志投递、分发场景
*   RocketMQ 
    阿里巴巴开源的消息队列工具。经过了双11场景的洗礼,稳定性、可靠性非常好

**存储层**

*   HDFS 
    Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS放宽了一部分POSIX约束,来实现流式读取数据文件
*   HBase 
    Hbase是分布式、KV查询的开源数据库(其实准确的说是面向列族)。HDFS为Hbase提供可靠的底层数据存储服务,MapReduce为Hbase提供高性能的计算能力,Zookeeper为Hbase提供稳定服务和Failover机制,LSM数据存储格式提供了高性能读写能力
*   Redis 
    Redis是key-value存储系统。采用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志格式,并提供多种语言的API。提供了哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等数据结构
*   Ceph 
    开源分布式存储系统,提供了块储存RDB、分布式文件储存Ceph FS、以及分布式对象存储Radosgw三大储存功能,是目前为数不多的集各种存储能力于一身的开源存储中间件
*   存储格式 
    常见的有Apache Parquet,Apache ORC、华为Carbondata、Kudu、Avro等。在大数据领域,面向不同的业务场景,采用不同的数据存储格式。这几类存储格式的差异点,主要体现在行、列存储、预计算

**计算层**

1、离线计算

*   Hive 
    Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。是事实上的离线数据仓库标准。
*   Spark 
    Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行框架,Spark,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是——Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。
*   MaxCompute 
    阿里巴巴开发,基于MR原理的大数据处理平台,已经通过阿里云对外输出,是一种快速、完全托管的TB/PB级数据仓库解决方案。
*   CDH 
    CDH是Cloudera的软件发行版,包含Apache Hadoop及相关项目。所有组件都是100%的开源(Apache许可证)。

2、实时计算

*   Storm/Jstorm 
    分布式的、高容错的实时计算系统,2014年以前应用非常广泛,近几年初步被其他流计算产品替代。
*   Flink 
    Flink是一个低延迟、高吞吐、统一的大数据计算引擎。在阿里巴巴的生产环境中,Flink的计算平台可以实现毫秒级的延迟情况下,每秒钟处理上亿次的消息或者事件。同时Flink提供了一个Exactly-once的一致性语义。保证了数据的正确性。这样就使得Flink大数据引擎可以提供金融级的数据处理能力。
*   Spark Streaming 
    Spark Streaming 类似于 Apache Storm,是一个流计算处理框架。Spark Streaming 有高吞吐量和容错能力强这两个特点。

在 Spark Streaming 中,处理数据的单位是一批而不是单条,而数据采集却是逐条进行的,因此 Spark Streaming 系统需要设置间隔使得数据汇总到一定的量后再一并操作,这个间隔就是批处理间隔。批处理间隔是 Spark Streaming 的核心概念和关键参数,它决定了 Spark Streaming 提交作业的频率和数据处理的延迟,同时也影响着数据处理的吞吐量和性能。

**数据服务层**

*   Kylin 
    开源的分布式分析引擎,提供Hadoop/Spark之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据。核心原理是数据预计算,利用空间换时间来加速查询模式固定的OLAP查询。最新的版本已经支持了实时数据导入。
*   Druid 
    Druid也是一款非常流行的olap引擎,基于MPP架构,采用了 预聚合、列式存储、字典编码、位图索引 4个方法,加速查询性能。 截止2019年9月22日,Druid原生不支持数据精确去重功能。快手已经将Druid应用于生产环境。
*   Presto 
    Presto是一个开源的分布式SQL查询引擎,适用于交互式分析查询,数据量支持GB到PB字节。Presto的设计和编写完全是为了解决像Facebook这样规模的商业数据仓库的交互式分析和处理速度的问题。
*   Lucene 
    Lucene 是一个基于Java 的全文信息检索工具包,目前主流的搜索系统Elasticsearch和solr都是基于lucene的索引和搜索能力进行。
*   ElasticSearch 
    基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎。
*   Solr 
    Solr是Apache Lucene项目的开源企业搜索平台。其主要功能包括全文检索、命中标示、分面搜索、动态聚类、数据库集成,以及富文本的处理。Solr是高度可扩展的,并提供了分布式搜索和索引复制。Solr是最流行的企业级搜索引擎,Solr 4还增加了NoSQL支持。
*   Palo 
    百度开源的olap引擎,在百度内部使用比较广泛。基于MPP架构,集成了Google Mesa、Cloudera Impala。

阿里巴巴数据中台团队,致力于输出阿里云数据智能的最佳实践,助力每个企业建设自己的数据中台,进而共同实现新时代下的智能商业! 
阿里巴巴数据中台解决方案,核心产品: 
Dataphin,以阿里巴巴大数据核心方法论OneData为内核驱动,提供一站式数据构建与管理能力; 
Quick BI,集阿里巴巴数据分析经验沉淀,提供一站式数据分析与展现能力; 
Quick Audience,集阿里巴巴消费者洞察及营销经验,提供一站式人群圈选、洞察及营销投放能力,连接阿里巴巴商业,实现用户增长。

 

 

[原文链接](https://yq.aliyun.com/articles/721953?utm_content=g_1000085052)

本文为云栖社区原创内容,未经允许不得转载。
分享到:
评论

相关推荐

    数据中台机器学习数据中台v0.3.pdf

    总结来说,微博机器学习数据中台是一个综合性的大数据处理和机器学习平台,它通过集成多种计算服务、数据服务和管理工具,实现了对海量用户数据的高效处理、分析和应用,以驱动业务创新和提升用户体验。

    枚举系统所有进程的资源

    "枚举系统所有进程的资源"这一主题,涉及了如何获取并分析操作系统中运行的所有进程及其所占用的资源。下面我们将详细探讨这个知识点。 首先,枚举系统所有进程意味着我们需要列出当前操作系统中正在运行的所有任务...

    强琦:阿里实时计算平台解析

    另外,文档也描述了阿里实时计算平台的数据管理,包括源表、目标表、维度表、临时表、中间表等概念,以及数据在不同存储状态(有状态或无状态)、不同处理粒度(如增量、全量)下的生命周期管理。这些管理机制保证了...

    VC++语言编写,枚举当前系统中的所有RS232串口.zip

    4. 上位机开发:上位机是在嵌入式系统架构中,与嵌入式设备相对的主机部分,通常负责数据处理、用户界面显示和与下位机的通信。在本例中,VC++和MFC被用来构建这样的上位机应用程序。 5. 文件解析: - EnumSerial....

    枚举系统磁盘驱动器的资源

    在计算机系统中,枚举(Enumeration)是一种编程技术,用于获取和列举系统中特定资源的信息。在这个场景下,"枚举系统磁盘驱动器"指的是通过编程方式获取计算机上所有可用的磁盘驱动器信息。这包括驱动器的字母、...

    VC++通过枚举获取系统中已安装的硬件设备.zip

    - 然后在源文件中,创建一个设备枚举的循环,调用上述提到的API函数,将获取的设备信息显示在界面上或者存储在数据结构中。 - 通常,会创建一个对话框(Dialog)来展示这些信息,例如,`dDlg.cpp`和`dDlg.h`文件...

    文件枚举工具

    它可以接收当前文件的信息,并根据需求执行相应的操作,如读取文件内容、计算文件大小,或者将文件信息存储到数据结构中。这样,开发者可以灵活地定制枚举过程中的行为,而不必修改原始的枚举代码。 实现这样的文件...

    说说Java中的枚举 转 可以了,够了 包括EnumSet(Map)

    总的来说,Java中的枚举是一种强大的特性,提供了类型安全的常量集合,并结合`EnumSet`和`EnumMap`这两个工具类,可以在处理枚举数据时实现高效的编程。理解并善用这些概念,将有助于编写更加可靠和高效的Java代码。

    易语言枚举IP地址映射表

    在易语言中,这些数据需要被正确地存储和处理。 5. **循环枚举**:程序会遍历获取到的IP地址列表,对每一个IP地址发送ARP请求,然后接收并解析ARP响应,从而得到IP和MAC的映射关系。这需要对循环和条件判断有深入...

    易语言C枚举常量转换

    在C语言中,枚举类型是整数的别名,而易语言中的枚举则是一个独立的数据类型,它有自己的类型标识和存储方式。因此,当我们在易语言中尝试直接使用C语言的枚举常量时,可能因为类型不匹配导致错误。 为了在易语言中...

    自己整理的目录枚举工具

    目录枚举是信息技术领域中一个基础且重要的概念,主要用于遍历和检索文件系统中的目录结构。在编程和系统管理中,目录枚举工具扮演着关键角色,帮助用户快速、高效地获取目录信息,包括文件名、大小、创建时间、修改...

    易语言枚举注册表项与键值

    注册表是Windows操作系统中的一个重要数据库,存储了系统的配置信息、应用程序设置和硬件设备参数。通过操作注册表,我们可以直接修改系统行为和软件配置。 枚举(Enumeration)在编程中是指遍历并访问特定集合中的...

    易语言枚举串口

    2. 注册表操作:在Windows操作系统中,注册表是一个数据库,存储了系统和应用程序的配置信息。在易语言中,操作注册表涉及以下几个步骤: - 打开注册表项:这是访问注册表的前提,需要指定一个根键(如HKEY_LOCAL_...

    阿里专家强琦-流式计算的系统设计和实现

    增量快照(Incremental Snapshot)技术的引入,进一步优化了数据存储和访问的效率。 在强琦分享的这些知识中,可以看到阿里云在流式计算技术领域已构建了一个完整的生态系统,涵盖了从实时计算模型、技术架构到应用...

    易语言枚举系统字体源码.zip易语言项目例子源码下载

    然后,这些信息可能被存储在一个列表或者其他数据结构中,供后续的处理和展示。 对于学习易语言的初学者来说,这个项目是一个很好的实践案例,能够帮助他们理解如何与操作系统进行交互,以及如何使用易语言的基本...

    Qt实现串口通信(利用windows API实现串口枚举,多线程、生产者消费者模型实现数据解析)

    串口通信是计算机之间通过串行接口进行数据传输的一种方式,广泛应用于嵌入式系统、工业设备和实验室设备中。在Qt中,我们可以利用QSerialPort模块来处理串口相关的操作,如打开、关闭、读写数据等。 1. **利用...

    易语言源码易语言枚举窗口信息.rar

    4. **数据结构**:为了存储枚举到的窗口信息,我们可以定义一个自定义结构体,例如`WINDOW_INFO`,包含窗口句柄、标题和类名等字段。 5. **主程序**:在主程序中,我们首先注册回调函数,然后调用`EnumWindows`启动...

    VC枚举串口号(串口名)

    总之,VC++中的"EnumSerial"类提供了一种高效且灵活的方式来枚举系统中的串口,包括物理和虚拟串口,这对于串行通信的软件开发至关重要。通过阅读和理解相关代码,开发者可以掌握这一技术,并将其应用到自己的项目中...

    易语言源码易语言枚举注册表项与键值.rar

    注册表是Windows操作系统中的一个重要组成部分,它存储了系统和应用程序的各种配置信息,如启动项、用户设置、软件安装路径等。在易语言中,通过编程可以对这些信息进行访问和修改,以实现特定的功能或优化系统性能...

    易语言枚举MTP设备

    1. **设备枚举**:这部分代码会扫描系统中所有可用的MTP设备,通过Windows API函数(如SetupDiGetClassDevs)获取设备列表。设备枚举不仅包括找到设备,还可能涉及获取设备的详细信息,如设备名、制造商等。 2. **...

Global site tag (gtag.js) - Google Analytics