当前位置: 首页 > news >正文

建设行业网站大概需要都少钱网站代码制作

建设行业网站大概需要都少钱,网站代码制作,网站建设多久学会,模板网站修改随着近几年数据湖概念的兴起#xff0c;业界对于数据仓库和数据湖的对比甚至争论就一直不断。有人说数据湖是下一代大数据平台#xff0c;各大云厂商也在纷纷的提出自己的数据湖解决方案#xff0c;一些云数仓产品也增加了和数据湖联动的特性。但是数据仓库和数据湖的区别到…随着近几年数据湖概念的兴起业界对于数据仓库和数据湖的对比甚至争论就一直不断。有人说数据湖是下一代大数据平台各大云厂商也在纷纷的提出自己的数据湖解决方案一些云数仓产品也增加了和数据湖联动的特性。但是数据仓库和数据湖的区别到底是什么二者是水火不容还是互为补充本文从历史的角度对数据湖和数据仓库的来龙去脉进行剖析来阐述两者融合演进的新方向——湖仓一体并就主流大厂设计方案进行介绍。 大数据领域回顾 概述 大数据领域从本世纪初发展到现在观察其中的发展规律可以高度概括成如下五个方面 1. 数据保持高速增长 - 从5V核心要素看大数据领域保持高速增长对于新兴企业大数据领域增长超过年200%。 2. 大数据作为新的生产要素得到广泛认可 - 大数据领域价值定位的迁移从“探索”到“普惠”成为各个企业/政府的核心部门并承担关键任务。 3. 数据管理能力成为新的关注点 - 数仓中台能力流行起来如何用好数据成为企业的核心竞争力。 4. 引擎技术进入收敛期 - 随着Spark通用计算、Flink流计算、HbaseKV、Presto交互分析、ElasticSearch搜索、Kafka数据总线自从2010-2015年逐步占领开源生态最近5年新引擎开源越来越少但各引擎技术开始向纵深发展更好的性能、生产级别的稳定性等。 5. 平台技术演进出两个趋势数据湖 VS 数据仓库 - 两者均关注数据存储和管理平台技术但方向不同。 图1. 阿里巴巴双十一单日处理数据量增长 从大数据技术发展看湖和仓 首先数据仓库的概念出现的要比数据湖早的多可以追溯到数据库为王的上世纪 90 年代。因此我们有必要从历史的脉络来梳理这些名词出现的大概时间、来由以及更重要的背后原因。大体上计算机科学领域的数据处理技术的发展主要分为四个阶段 1. 阶段一数据库时代。数据库最早诞生于 20 世纪的 60 年代今天人们所熟知的关系型数据库则出现在 20 世纪 70 年代并在后续的 30 年左右时间里大放异彩诞生了很多优秀的关系型数据库如 Oracle、SQL Server、MySQL、PostgresSQL 等成为当时主流计算机系统不可或缺的组成部分。到 20 世纪 90 年代数据仓库的概念诞生。 此时的数据仓库概念更多表达的是如何管理企业中多个数据库实例的方法论但受限于单机数据库的处理能力以及多机数据库分库分表长期以来的高昂价格此时的数据仓库距离普通企业和用户都还很遥远。人们甚至还在争论数据仓库统一集中管理和数据集市按部门、领域的集中管理哪个更具可行性。 2. 阶段二大数据技术的「探索期」。时间进入到 2000 年附近随着互联网的爆发动辄几十亿、上百亿的页面以及海量的用户点击行为开启了全球的数据量急剧增加的新时代。 传统的数据库方案再也无力以可接受的成本提供计算力巨大的数据处理需求开始寻找突破口大数据时代开始萌芽。2003、2004、2006 年 Google 先后 3 篇经典论文GFS、MapReduce、BigTable奠基了这个大数据时代的基本技术框架即分布式存储、分布式调度以及分布式计算模型。 随后几乎是在同一时期诞生了包括 Google微软 Cosmos 以及开源 Hadoop 为代表的优秀分布式技术体系如阿里巴巴的飞天系统。此时人们兴奋于追求数据的处理规模即『大』数据没有闲暇争论是数据仓库还是数据湖。 3. 阶段三大数据技术的「发展期」。来到 21 世纪的第二个 10 年随着越来越多的资源投入到大数据计算领域大数据技术进入一个蓬勃发展的阶段整体开始从能用转向好用。 代替昂贵的手写 MapReduce 作业的则是如雨后春笋般出现的各种以 SQL 为表达的计算引擎。这些计算引擎针对不同的场景进行针对性优化但都采用门槛极低的 SQL 语言极大降低了大数据技术的使用成本数据库时代人们梦想的大一统的数据仓库终于成为现实各种数据库时代的方法论开始抬头。这个时期技术路线开始出现细分。 云厂商主推的如 AWS Redshift、Google BigQuery、Snowflake包括 MaxCompute 这样的集成系统称为大数据时代的数据仓库。而以开源 Hadoop 体系为代表的的开放式 HDFS 存储、开放的文件格式、开放的元数据服务以及多种引擎Hive、Presto、Spark、Flink 等协同工作的模式则形成了数据湖的雏形。 4. 阶段四大数据技术「普及期」。当前大数据技术早已不是什么火箭科技而已经渗透到各行各业大数据的普及期已经到来。市场对大数据产品的要求除了规模、性能、简单易用提出了成本、安全、稳定性等更加全面的企业级生产的要求。 开源 Hadoop 线引擎、元数据、存储等基础部件的迭代更替进入相对稳态大众对开源大数据技术的认知达到空前的水平。一方面开放架构的便利带来了不错的市场份额另一方面开放架构的松散则使开源方案在企业级能力构建上遇到瓶颈尤其是数据安全、身份权限强管控、数据治理等方面协同效率较差如 Ranger 作为权限管控组件、Atlas 作为数据治理组件跟今天的主流引擎竟然还无法做到全覆盖。同时引擎自身的发展也对已有的开放架构提出了更多挑战Delta Lake、Hudi 这样自闭环设计的出现使得一套存储、一套元数据、多种引擎协作的基础出现了某种程度的裂痕。真正将数据湖概念推而广之的是AWS。AWS 构筑了一套以 S3 为中心化存储、Glue 为元数据服务E-MapReduce、Athena 为引擎的开放协作式的产品解决方案。它的开放性和和开源体系类似并在2019年推出Lake Formation 解决产品间的安全授信问题。虽然这套架构在企业级能力上和相对成熟的云数据仓库产品相去甚远但对于开源技术体系的用户来说架构相近理解容易还是很有吸引力。AWS 之后各个云厂商也纷纷跟进数据湖的概念并在自己的云服务上提供类似的产品解决方案。云厂商主推的数据仓库类产品则发展良好数仓核心能力方面持续增强。性能、成本方面极大提升MaxCompute 完成了核心引擎的全面升级和性能跳跃式发展连续三年刷新 TPCx-BigBench 世界记录数据管理能力空前增强数据中台建模理论、智能数仓企业级安全能力大为繁荣同时支持基于 ACL 和基于规则等多种授权模型列级别细粒度授权可信计算存储加密数据脱敏等在联邦计算方面也普遍做了增强一定程度上开始将非数仓自身存储的数据纳入管理和数据湖的边界日益模糊。 综上所述数据仓库是个诞生于数据库时代的概念在大数据时代随云厂商的各种数仓服务落地开花目前通常指代云厂商提供的基于大数据技术的一体化服务。而数据湖则脱胎于大数据时代开源技术体系的开放设计经过 AWS 整合宣传通常是由一系列云产品或开源组件共同构成大数据解决方案。 图2. 20年大数据发展之路 什么是数据湖 近几年数据湖的概念非常火热但是数据湖的定义并不统一我们先看下数据湖的相关定义。   Wikipedia对数据湖的定义 数据湖是指使用大型二进制对象或文件这样的自然格式储存数据的系统。它通常把所有的企业数据统一存储既包括源系统中的原始副本也包括转换后的数据比如那些用于报表, 可视化, 数据分析和机器学习的数据。数据湖可以包括关系数据库的结构化数据(行与列)、半结构化的数据(CSV日志XML, JSON)非结构化数据 (电子邮件、文件、PDF)和 二进制数据(图像、音频、视频)。储存数据湖的方式包括 Apache Hadoop分布式文件系统 Azure 数据湖或亚马逊云 Lake Formation云存储服务以及诸如 Alluxio 虚拟数据湖之类的解决方案。数据沼泽是一个劣化的数据湖用户无法访问或是没什么价值。 AWS的定义相对简洁 数据湖是一个集中式存储库允许您以任意规模存储所有结构化和非结构化数据。您可以按原样存储数据无需先对数据进行结构化处理并运行不同类型的分析 – 从控制面板和可视化到大数据处理、实时分析和机器学习以指导做出更好的决策。 Azure等其他云厂商也有各自的定义本文不再赘述。 但无论数据湖的定义如何不同数据湖的本质其实都包含如下四部分 1. 统一的存储系统 2. 存储原始数据 3. 丰富的计算模型/范式 4. 数据湖与上云无关 从上述四个标准判断开源大数据的Hadoop HDFS存储系统就是一个标准的数据湖架构具备统一的原始数据存储架构。而近期被广泛谈到的数据湖其实是一个狭义的概念特指“基于云上托管存储系统的数据湖系统架构上采用存储计算分离的体系”。例如基于AWS S3系统或者阿里云OSS系统构建的数据湖。 下图是数据湖技术架构的演进过程整体上可分为三个阶段 图3. 数据湖技术架构演进 1. 阶段一自建开源Hadoop数据湖架构原始数据统一存放在HDFS系统上引擎以Hadoop和Spark开源生态为主存储和计算一体。缺点是需要企业自己运维和管理整套集群成本高且集群稳定性差。 2. 阶段二云上托管Hadoop数据湖架构即EMR开源数据湖底层物理服务器和开源软件版本由云厂商提供和管理数据仍统一存放在HDFS系统上引擎以Hadoop和Spark开源生态为主。 这个架构通过云上 IaaS 层提升了机器层面的弹性和稳定性使企业的整体运维成本有所下降但企业仍然需要对HDFS系统以及服务运行状态进行管理和治理即应用层的运维工作。同时因为存储和计算耦合在一起稳定性不是最优两种资源无法独立扩展使用成本也不是最优。 3. 阶段三云上数据湖架构即云上纯托管的存储系统逐步取代HDFS成为数据湖的存储基础设施并且引擎丰富度也不断扩展。除了Hadoop和Spark的生态引擎之外各云厂商还发展出面向数据湖的引擎产品。 如分析类的数据湖引擎有AWS Athena和华为DLIAI类的有AWS Sagemaker。这个架构仍然保持了一个存储和多个引擎的特性所以统一元数据服务至关重要如AWS推出了Glue阿里云EMR近期也即将发布数据湖统一元数据服务。该架构相对于原生HDFS的数据湖架构的优势在于 帮助用户摆脱原生HDFS系统运维困难的问题。HDFS系统运维有两个困难1存储系统相比计算引擎更高的稳定性要求和更高的运维风险 2与计算混布在一起带来的扩展弹性问题。存储计算分离架构帮助用户解耦存储并交由云厂商统一运维管理解决了稳定性和运维问题。分离后的存储系统可以独立扩展不再需要与计算耦合可降低整体成本当用户采用数据湖架构之后客观上也帮助客户完成了存储统一化解决多个HDFS数据孤岛的问题 下图是阿里云EMR数据湖架构图它是基于开源生态的大数据平台既支持HDFS的开源数据湖也支持OSS的云上数据湖。 图4. 阿里云EMR数据湖架构 企业使用数据湖技术构建大数据平台主要包括数据接入、数据存储、计算和分析、数据管理、权限控制等下图是Gartner定义的一个参考架构。当前数据湖的技术因其架构的灵活性和开放性在性能效率、安全控制以及数据治理上并不十分成熟在面向企业级生产要求时还存在很大挑战在第四章会有详细的阐述。 图5. 数据湖架构图来自网络 什么数据仓库 数仓的主要作用就是提供数据支撑形成数据集进行报表展示可视化管理为企业战略提供数据支撑。 Wikipedia对数据仓库的定义 在计算机领域数据仓库英语data warehouse也称为企业数据仓库是用于报告和数据分析的系统被认为是商业智能的核心组件。数据仓库是来自一个或多个不同源的集成数据的中央存储库。数据仓库将当前和历史数据存储在一起用于为整个企业的员工创建分析报告。 比较学术的解释是数据仓库由数据仓库之父W.H.Inmon于1990年提出主要功能乃是将组织透过信息系统之在线交易处理(OLTP)经年累月所累积的大量数据透过数据仓库理论所特有的数据存储架构作一有系统的分析整理以利各种分析方法如在线分析处理(OLAP)、数据挖掘(Data Mining)之进行并进而支持如决策支持系统(DSS)、主管信息系统(EIS)之创建帮助决策者能快速有效的自大量数据中分析出有价值的信息以利决策拟定及快速回应外在环境变动帮助建构商业智能(BI)。 包括如下概念 ODS层(Operational Data Store)“操作数据存储”它是数据仓库体系结构中的一个重要组成部分。ODS层位于源系统和数据仓库之间它旨在提供一个介于实时操作系统和数据仓库之间的中间层用于存储和维护最新的业务操作数据。 DWDData Warehouse Detail存储详细数据通常采用事实表和维度表的结构。 DWMData Warehouse Middle存储经过轻度汇总的数据用于支持部门级别的数据分析。 DWSData Warehouse Service按照主题业务组织主题宽表,用于OLAP分析 DMData Market存储高度汇总的数据用于支持企业级别的数据报告和分析。 形成一个主题域的报表数据 数据仓库的概念最早来源于数据库领域主要处理面向数据的复杂查询和分析场景。随大数据技术发展大量借鉴数据库的技术例如SQL语言、查询优化器等形成了大数据的数据仓库因其强大的分析能力成为主流。 近几年数据仓库和云原生技术相结合又演生出了云数据仓库解决了企业部署数据仓库的资源供给问题。云数据仓库作为大数据的高阶企业级平台能力因其开箱即用、无限扩展、简易运维等能力越来越受到人们的瞩目。   数据仓库的本质包含如下三部分   1. 内置的存储系统数据通过抽象的方式提供例如采用Table或者View不暴露文件系统。 2. 数据需要清洗和转化通常采用ETL/ELT方式。 3. 强调建模和数据管理供商业智能决策。 从上述的标准判断无论传统数据仓库如Teradata还是新兴的云数据仓库系统AWS Redshift、Google BigQuery、阿里云MaxCompute均体现了数仓的设计本质它们均没有对外暴露文件系统而是提供了数据进出的服务接口。 比如Teradata提供了CLI数据导入工具Redshift提供Copy命令从S3或者EMR上导入数据BigQuery提供Data Transfer服务MaxCompute提供Tunnel服务以及MMA搬站工具供数据上传和下载。这个设计可以带来多个优势 1. 引擎深度理解数据存储和计算可做深度优化。 2. 数据全生命周期管理完善的血缘体系。 3. 细粒度的数据管理和治理。 4. 完善的元数据管理能力易于构建企业级数据中台。 阿里巴巴飞天大数据平台采用了数据仓库的架构即MaxCompute大数据平台。MaxCompute原ODPS)实现阿里云上一种安全可靠、高效能、低成本、从GB到EB级别按需弹性伸缩的在线大数据计算服务图6.是MaxCompute产品架构具体详情请点击阿里云MaxCompute官网地址。 图6. MaxCompute云数仓产品架构 得益于MaxCompute数据仓库的架构阿里巴巴上层逐步构建了“数据安全体系”、“数据质量”、“数据治理”、“数据标签”等管理能力并最终形成了阿里巴巴的大数据中台。可以说作为最早数据中台概念的提出者阿里巴巴的数据中台得益于数据仓库的架构。 图7. 阿里巴巴数据中台架构 数据湖 VS 数据仓库 综上数据仓库和数据湖是大数据架构的两种设计取向。两者在设计的根本分歧点是对包括存储系统访问、权限管理、建模要求等方面的把控。   数据湖优先的设计通过开放底层文件存储给数据入湖带来了最大的灵活性。进入数据湖的数据可以是结构化的也可以是半结构化的甚至可以是完全非结构化的原始日志。另外开放存储给上层的引擎也带来了更多的灵活度各种引擎可以根据自己针对的场景随意读写数据湖中存储的数据而只需要遵循相当宽松的兼容性约定这样的松散约定当然会有隐患后文会提到。 但同时文件系统直接访问使得很多更高阶的功能很难实现例如细粒度小于文件粒度的权限管理、统一化的文件管理和读写接口升级也十分困难需要完成每一个访问文件的引擎升级才算升级完毕。 而数据仓库优先的设计更加关注的是数据使用效率、大规模下的数据管理、安全/合规这样的企业级成长性需求。数据经过统一但开放的服务接口进入数据仓库数据通常预先定义 schema用户通过数据服务接口或者计算引擎访问分布式存储系统中的文件。 数据仓库优先的设计通过抽象数据访问接口/权限管理/数据本身来换取更高的性能无论是存储还是计算、闭环的安全体系、数据治理的能力等这些能力对于企业长远的大数据使用都至关重要我们称之为成长性。 下图是针对大数据技术栈分别比较数据湖和数据仓库各自的取舍。 图8. 数据湖和数据仓库在技术栈上的对比 灵活性和成长性对于处于不同时期的企业来说重要性不同。 1. 当企业处于初创阶段数据从产生到消费还需要一个创新探索的阶段才能逐渐沉淀下来那么用于支撑这类业务的大数据系统灵活性就更加重要数据湖的架构更适用。 2. 当企业逐渐成熟起来已经沉淀为一系列数据处理流程问题开始转化为数据规模不断增长处理数据的成本不断增加参与数据流程的人员、部门不断增多那么用于支撑这类业务的大数据系统成长性的好坏就决定了业务能够发展多远。数据仓库的架构更适用。 本文有观察到相当一部分企业尤其是新兴的互联网行业从零开始架构的大数据技术栈正是伴随开源 Hadoop 体系的流行经历了这样一个从探索创新到成熟建模的过程。在这个过程中因为数据湖架构太过灵活而缺少对数据监管、控制和必要的治理手段导致运维成本不断增加、数据治理效率降低企业落入了『数据沼泽』的境地即数据湖中汇聚了太多的数据反而很难高效率的提炼真正有价值的那部分。 最后只有迁移到数据仓库优先设计的大数据平台才解决了业务成长到一定规模后所出现的运维、成本、数据治理等问题。 图9. 数据湖的灵活性 VS 数据仓库的成长性的示意图 下一代演进方向湖仓一体 经过对数据湖和数据仓库的深入阐述和比较本文认为数据湖和数据仓库作为大数据系统的两条不同演进路线有各自特有的优势和局限性。 数据湖和数据仓库一个面向初创用户友好一个成长性更佳。对企业来说数据湖和数据仓库是否必须是一个二选一的选择题是否能有一种方案同时兼顾数据湖的灵活性和云数据仓库的成长性将二者有效结合起来为用户实现更低的总体拥有成本   将数仓和数据湖融合在一起也是业界近年的趋势多个产品和项目都做过对应的尝试 1. 数仓支持数据湖访问 2017年Redshift推出Redshift Spectrum支持Redsift数仓用户访问S3数据湖的数据。2018年阿里云MaxCompute推出外表能力支持访问包括OSS/OTS/RDS数据库在内的多种外部存储。 但是无论是 Redshift Spectrum 还是 MaxCompute 的外部表仍旧需要用户在数仓中通过创建外部表来将数据湖的开放存储路径纳入数仓的概念体系——由于一个单纯的开放式存储并不能自描述其数据本身的变化因此为这些数据创建外部表、添加分区本质上是为数据湖中的数据建立 schema无法完全自动化需要人工或者定期触发 Alter table add partition 或 msck。这对于低频临时查询尚能接受对于生产使用来说未免有些复杂。 2. 数据湖支持数仓能力 2011年Hadoop开源体系公司Hortonworks开始了Apache Atlas和Ranger两个开源项目的开发分别对应数据血缘追踪和数据权限安全两个数仓核心能力。但两个项目发展并不算顺利直到 2017 年才完成孵化时至今日在社区和工业界的部署都还远远不够活跃。核心原因数据湖与生俱来的灵活性。例如Ranger作为数据权限安全统一管理的组件天然要求所有引擎均适配它才能保证没有安全漏洞但对于数据湖中强调灵活的引擎尤其是新引擎来说会优先实现功能、场景而不是把对接Ranger作为第一优先级的目标使得Ranger在数据湖上的位置一直很尴尬。2018年Nexflix开源了内部增强版本的元数据服务系统Iceberg提供包括MVCC多版本并发控制在内的增强数仓能力但因为开源HMS已经成为事实标准开源版本的Iceberg作为插件方式兼容并配合HMS数仓管理能力大打折扣。2018-2019年Uber和Databricks相继推出了Apache Hudi和DeltaLake推出增量文件格式用以支持Update/Insert、事务等数据仓库功能。新功能带来文件格式以及组织形式的改变打破了数据湖原有多套引擎之间关于共用存储的简单约定。为此Hudi为了维持兼容性不得不发明了诸如 Copy-On-Write、Merge-On-Read 两种表Snapshot Query、Incremental Query、Read Optimized Query 三种查询类型并给出了一个支持矩阵如图10极大提升了使用的复杂度。 图10. Hudi Support Matrix来自网络 而DeltaLake则选择了保证以Spark为主要支持引擎的体验相对牺牲对其他主流引擎的兼容性。这对其他引擎访问数据湖中的Delta数据造成了诸多的限制和使用不便。例如Presto要使用DeltaLake表需要先用Spark创建manifest文件再根据manifest创建外部表同时还要注意manifest文件的更新问题而Hive要使用DeltaLake表限制更多不仅会造成元数据层面的混乱甚至不能写表。 上述在数据湖架构上建立数仓的若干尝试并不成功这表明数仓和数据湖有本质的区别在数据湖体系上很难建成完善的数仓。数据湖与数据仓库两者很难直接合并成一套系统因此作者团队开始基于融合两者的思路进行探索。 所以提出下一代的大数据技术演进方向湖仓一体即打通数据仓库和数据湖两套体系让数据和计算在湖和仓之间自由流动从而构建一个完整的有机的大数据技术生态体系。 构建湖仓一体需要解决三个关键问题 1. 湖和仓的数据/元数据无缝打通且不需要用户人工干预。 2. 湖和仓有统一的开发体验存储在不同系统的数据可以通过一个统一的开发/管理平台操作。 3. 数据湖与数据仓库的数据系统负责自动caching/moving系统可以根据自动的规则决定哪些数据放在数仓哪些保留在数据湖进而形成一体化。
http://www.dnsts.com.cn/news/8053.html

相关文章:

  • 外贸做零售的网站网站建设运营必备人员
  • 西宁市城乡规划和建设局网站无锡模板网站
  • 企业网站制作公司盈利做问卷不花钱的网站
  • 微信网站如何制作做网站网页版和手机版
  • psd转wordpress碉堡了seo博客
  • 百度自助建站官网sem代运营托管公司
  • 如何做网站家具导购仿牌外贸网站推广
  • 如何让百度收录中文域名网站建设网站赚的是什么钱
  • 焦作商城网站建设网店推广渠道有哪些
  • 网站页面设计素材哪里有做网站的教程
  • 新浪虚拟主机做网站连云港网站建设培训
  • 营销型网站 平台dedecms网站搬家后登陆后台跳转后一片空白是怎么回事
  • 松原公司做网站网站的好坏
  • 湖南网站建设网络公司本机快速做网站
  • 给装修公司做网站网页托管服务是什么
  • 学校网站建设招标网站快照描述
  • 如何编辑网站wordpress固定链接精简
  • 领导视察网站建设安徽省建设监理协会新网站
  • 免费地方门户网站系统自动算税软件
  • 一起做网店网站打不开网上做网站怎么做下拉菜单
  • wordpress新建网站后台无法登陆上海企业网络营销推广多少钱
  • 网站建设进度图seo网站推广软件排名
  • 成都php网站制作程序员河南省建设厅53号文
  • 达建网站的需要天津网站建设天津
  • 创建一个个人网站需要多少钱小程序开发成本
  • 网站添加icp备案号深圳网站建设三把火科技
  • 建站记录查询建设银行网银盾连接不上网站
  • 学做披萨的网站福州网站设计招聘
  • 网站开发需要哪些人辽宁建设集团招聘信息网站
  • 网站建设哈尔滨杭州哪家公司网站做的好