关于数据湖:读Paimon源码聊设计引子

最近我司开始摸索Paimon在局部场景下的应用,因而我这边须要做一些技术储备,缓缓关注起来Paimon的一些实现细节。 简略介绍一下前辈Iceberg个别的数据湖都会设计成凋谢通用的,即不和特定的存储、计算引擎(比方Spark和Flink)绑定。所以数据湖的定位是在计算引擎之下,又在存储之上,将其称之为table format。须要强调的是数据湖个别是面向OLAP场景的,所以个别存储会抉择分布式文件系统。当初OLAP底层存储反对对象存储根本算是快成业界共识了,这玩意儿挺划算的。 数据湖的前辈根本就是Hive了。过后大家用Hive碰到的问题就是Hive耦合HDFS很厉害,最次要体现在: Hive上的计算执行首先依赖于list操作。在对象存储上做list是个很慢的操作。Hive的写数据依赖于rename。但同样这个操作在对象存储上做特地的慢。这两个问题间接导致无奈降本。从这点上来说,Iceberg是本人保护了一套元数据,这块网上十分的全,就不再赘述了,google上搜iceberg file layout一大把。 Hive还有其余的问题,如: metastore的瓶颈问题。没有ACID保障。parition字段必须显示的在query里。下推能力无限。Hive只能通过partition和bucket对须要扫描哪些文件进行过滤,无奈更加粗疏。只管parquet文件里保留了max和min值能够用于进一步的过滤,但没软用。Iceberg把这些都解了。基于快照实现事务、数据的更新,快照的数据也容许跳版本读取来做工夫回溯。同时收集的统计信息也更加细粒度,不仅仅是文件parition级别的,还会记录文件级的内容(比方一个文件中的min、max值)和实现文件内容级的信息——一个文件中的min、max等等。 听起来所有都还很美妙。惟一美中不足的就是Iceberg对于实时场景反对得不好: Flink写入Iceberg会引发小文件的问题。Iceberg不反对CDC(OLAP反对CDC确实有点离谱,然而确实有需要呀)。Iceberg主键表不反对局部字段更新。这在实时数仓的场景中有点离谱。Paimon能够解决什么问题目前看来Paimon基于Iceberg的场景上,去反对流读流写(这块后续会做源码剖析),甚至还反对了点查和预聚合。实质是分布式文件系统上套了一个LSM,这样数据都是有序写入——将屡次写入优化成一次程序写入,对存储系统上比拟敌对的。同时LSM能够作为一个简略的缓存,且有序写入为前面查问也能够缩小代价,这都能够为查问缩小代价。 从场景上来说它能够解决一些准实时业务的场景。因为基于对象存储来做底层存储,尤其还是列式存储。无论如何都不好做到实时场景: Paimon的CDC依据不同的模式,会有不同的新鲜度。收回残缺CDC的模式要抉择Lookup。个别是Checkpoint的距离+10s多新鲜度,这是比拟好的性能考量下。具体还要看数据量、分桶数、小文件数量的影响。实时场景要求是毫秒级点查响应。Paimon反对的是秒级点查。但事实中真正须要实时类场景的业务有多少呢?因为数据的新鲜度往往和业务决策周期有关系。这么来看,数据新鲜度的要求从高到低,对于业务场景的总数来说,肯定是一个金字塔形态的。 咱们后面提到过数据湖个别不会和任何计算引擎绑定。因而业界还有一种玩法叫湖上建仓,计算能力用的是OLAP,数据来自数据湖。这样就很有想象力了,因而当初一些实时+离线的场景会用不同的存储引擎,那么数据就会拷贝好几份。如果数据都放在同一个数据引擎中,这样能够缩小不少的存储老本。(对于通用型设计 这块后续会做源码剖析) 具体实现还是看对于性能的要求的: 要求低就做一些简略的优化间接捞数据。再高点就缓存到OLAP里。再高点就不仅仅是缓存到OLAP里,还会做物化视图。Trade OffServing、Trascantion、Analytics依据业界常识,咱们会发现: 面向在线利用,高并发、疾速、简略,如:HBase、Redis面向剖析的,大规模数据扫描、过滤、汇总,如:Hive、Presto面向事务、随机读写的,如:MySQL,PostgreSQL数据湖是典型的OLAP产物。但联合上文,它确实具备肯定的随机读写能力。 Buffer、Mutable、Ordered存储构造有三个常见变量:是否应用缓冲、应用不可变的还是可变的文件,以及是否按顺序存储值(有序性)。 因为TiDB底层的RocksDB用了LSM。因而应用了缓冲、不可变性以及程序性。 RUM有一种风行的存储构造开销模型思考了如下三个因素:读取(Read)、更新(Update)和内存(Memory)开销。它被称为RUM猜测。 RUM猜测指出,缩小其中两项开销将不可避免地导致第三项开销的好转,并且优化只能以就义三个参数中的一个为代价。咱们能够依据这三个参数对不同的存储引擎进行比拟,以理解它们针对哪些参数进行了优化,以及其中隐含着哪些可能的衡量。 一个现实的解决方案是领有最小的读取开销,同时放弃较低的内存与写入开销。但在事实中,这是无奈实现的,因而咱们须要进行取舍。 Paimon容许在配置中自在设置LSM的高度,以便获取读与写之前的衡量。 底细鸟瞰后面说到过,计算局部是依赖于计算引擎实现的,自身Paimon没有提供计算能力。存储则是基于局部是文件系统做了薄薄的一层LSM。 从文件布局来看,Partition相当于是一级索引,和Hive一样。Bucket为二级索引,每个Bucket下都会有Data file和Change log file。这意味着如果命中了Parition和Bucket条件,有一些额定的条件查问也不会太慢——个别都会收集文件级的统计信息,并对文件的Reader做一些过滤优化。 整体的布局还是和Iceberg挺像的,这边不再过多赘述。 小结在这篇文章中我简略的介绍了一下Paimon要解决的问题,以及它的前辈Iceberg的弱小与不足之处。 目前该我的项目还处于孵化中,后续我会始终关注其实现细节,敬请期待。

February 26, 2024 · 1 min · jiezi

关于数据湖:Hudi源码解读Archive-流程

简介在数据一直写入 Hudi 期间,Hudi 会一直生成 commit、deltacommit、clean 等 Instant 记录每一次操作类型、状态及具体的元数据,这些 Instant 最终都会存到 .hoodie 元数据目录下,为了防止元数据文件数量过多,ActiveTimeline 越来越长,须要对比拟长远的操作进行归档(archive),将这部分操作移到 .hoodie/archive 目录下,独自造成一个 ArchivedTimeline。 由此可知,archive 是 Hudi Timeline 上的操作,操作的数据是 instant 粒度。 相干配置// org.apache.hudi.config.HoodieArchivalConfigpublic static final ConfigProperty<String> ASYNC_ARCHIVE = ConfigProperty .key("hoodie.archive.async") .defaultValue("false") .sinceVersion("0.11.0") .withDocumentation("Only applies when " + AUTO_ARCHIVE.key() + " is turned on. " + "When turned on runs archiver async with writing, which can speed up overall write performance.");public static final ConfigProperty<String> MAX_COMMITS_TO_KEEP_PROP = ConfigProperty .key("hoodie.keep.max.commits") .defaultValue("150") .withDocumentation("Archiving service moves older entries from timeline into an archived log after each write, to " + " keep the metadata overhead constant, even as the table size grows." + "This config controls the maximum number of instants to retain in the active timeline. ");public static final ConfigProperty<String> MIN_COMMITS_TO_KEEP_PROP = ConfigProperty .key("hoodie.keep.min.commits") .defaultValue("145") .withDocumentation("Similar to " + MAX_COMMITS_TO_KEEP_PROP.key() + ", but controls the minimum number of" + "instants to retain in the active timeline."); public static final ConfigProperty<String> COMMITS_ARCHIVAL_BATCH_SIZE_PROP = ConfigProperty .key("hoodie.commits.archival.batch") .defaultValue(String.valueOf(10)) .withDocumentation("Archiving of instants is batched in best-effort manner, to pack more instants into a single" + " archive log. This config controls such archival batch size.");MAX_COMMITS_TO_KEEP_PROP:ActiveTimeLine 最多保留的 instant 个数 ...

September 22, 2023 · 3 min · jiezi

关于数据湖:全链路数据湖开发治理解决方案20重磅升级全面增强数据入湖调度和治理能力

简介:  阿里云全链路数据湖开发治理解决方案能力继续降级,公布2.0版本。解决方案蕴含开源大数据平台E-MapReduce(EMR) , 一站式大数据数据开发治理平台DataWorks ,数据湖构建DLF,对象存储OSS等外围产品。反对EMR新版数据湖DataLake集群(on ECS)、自定义集群(on ECS)、Spark集群(on ACK)三种状态,对接阿里云一站式大数据开发治理平台DataWorks,积淀阿里巴巴十多年大数据建设方法论,为客户实现从入湖、建模、开发、调度、治理、平安等全链路数据湖开发治理能力,帮忙客户晋升数据的利用效率。 阿里云全链路数据湖开发治理解决方案能力继续降级,公布2.0版本。解决方案蕴含开源大数据平台E-MapReduce(EMR) , 一站式大数据数据开发治理平台DataWorks ,数据湖构建DLF,对象存储OSS等外围产品。 解决方案已反对EMR新版数据湖DataLake集群(on ECS)、自定义集群(on ECS)、Spark集群(on ACK)三种状态,对接阿里云一站式大数据开发治理平台DataWorks,积淀阿里巴巴十多年大数据建设方法论,为客户实现从入湖、建模、开发、调度、治理、平安等全链路数据湖开发治理能力,帮忙客户晋升数据的利用效率。 重点能力降级加强数据入湖能力DataWorks 数据集成反对 MySQL 整库实时入湖 OSS(HUDI)、Kafka 实时入湖 OSS(HUDI)、MySQL 到 Hive 整库周期同步能力。 在 DataWorks 管控台抉择进入数据集成 在页面间接点击“创立我的数据同步” 抉择起源和去向类型就能够看到对应入湖能力 MySQL 整库实时入湖 OSS(Hudi)反对元数据主动注册到阿里云DLF,不便用户进行湖治理; 反对 MySQL 实例级别的同步,即源端 MySQL 能够同时抉择多个库; 反对依照正则表达式选定起源 MySQL 库和表; 反对主动加库加表,即 MySQL 侧减少库或表后,能够主动同步至 OSS,无需手工干涉和操作。 .png") Kafka 实时入湖 OSS(Hudi)反对 Kafka json 数据增量实时入湖,秒级提早 反对在同步链路中对数据处理,包含数据过滤、脱敏、字符串替换、字段级别赋值等操作 反对依据 kafka json 数据 schema 变动,动静减少字段 反对对接阿里云DLF,入湖元数据主动注册,实时可查可治理 反对自定义 OSS 湖端存储门路 .png") MySQL 整库离线同步至 HiveMySQL 整实例级别离线同步至 Hive,反对配置周期调度,也能够在 DataStudio 中依赖此同步调度节点为上游,反对历史全量同步和离线增量同步 ...

August 22, 2023 · 1 min · jiezi

关于数据湖:StarRocks-30-极速统一的湖仓新范式

2023 年 4 月,StarRocks 3.0 版本正式公布,正式开启了 StarRocks 极速对立的新篇章。从 OLAP 到 Lakehouse,从存算一体到存算拆散,从 ETL 到 ELT,通过两个大版本后 StarRocks 在为用户发明极速对立的数据分析新范式上有了更深一层的思考。本文次要从存算拆散架构、极速数据湖剖析和数据利用三个大方向全面解读 StarRocks 3.0 版本。最初,咱们会对 3.x 后续的布局做一个分享。 StarRocks 社区倒退自2021年9月正式开源以来,StarRocks 社区始终放弃着疾速迭代的节奏。目前,StarRocks 在 GitHub 上已取得了4300+个 star,超过200名贡献者提交了15000+个 PR,并且有上万人通过 GitHub、微信社群、论坛等形式参加社区建设。同时,超过两百家10亿美金估值的大型企业在线上业务应用 StarRocks 。 在过来的两年工夫,StarRocks 实现了 1.x、2.x 大版本的迭代。 在 1.x 系列版本,StarRocks 主打极速 OLAP 剖析,通过 CBO、向量化引擎、Runtime Filer 等技术做到性能业界当先。在 2.x 系列版本,StarRocks 反对主键模型晋升实时剖析场景的能力、反对 Pipeline、Query Cache 来晋升高并发场景的查问能力,反对极速数据湖剖析简化湖上数据分析,帮忙用户实现极速对立的湖仓剖析。StarRocks 3.0 简介 3.0 是 StarRocks 的一个里程碑式的大版本,实现了从计算 OLAP 剖析到对立 Lakehouse 的重大产品能力降级。数据能够批量或者流式的写入到 StarRocks 进行极速剖析,也能够在数据湖上间接应用 StarRocks 剖析减速,并通过一系列技术增强湖仓交融,实现 Lakehouse 一体化。 数据仓库 vs. 数据湖 ...

May 11, 2023 · 3 min · jiezi

关于数据湖:数据湖存储的安全写入之道

背景数据湖的衰亡,给数据存储带来了一轮新的反动。越来越多的公司抉择将存储切换到云上对象存储。因为云上对象存储往往意味着大容量、低成本、易扩容。 说到对象存储,必然波及到 S3 协定,S3 协定曾经事实上成为对象存储的通用协定。不过,市面上不少数据平台公司,也会抉择基于 S3 协定又兼顾 Hadoop 应用习惯的 S3A Connector,比方 Databricks 在对象存储上提供的表数据结构 Delta Lake。 咱们就以 Hadoop 社区中的 S3A Connector 的实现为切入,来剖析一下数据湖写入门路的安全性。 Hadoop S3 的写入反对因为 S3 协定自身不反对增量写入,因而 S3A 实现时默认的写入形式是先通过缓存到本地,最初在文件 close 后再上传到对象存储。然而,这种默认的形式并不一定高效,对大文件来说,在 close 被调用前,本地曾经缓存大量的数据,这样会造成 close 操作十分耗时,文件写入整体看也不高效。 从 Hadoop 2.8.5 版本开始,能够通过设置 fs.s3a.fast.upload 为 true,关上疾速上传来优化写入门路。关上后,能够边写本地缓存块,边将满足大小的块异步上传(默认 100M 一个块)。这样也满足了对象存储中分阶段上传接口的一些限度,比方单个块不能小于 5M,分块总数不能大于 10000。 通过浏览 Hadoop 2.8.5 相干源码,咱们能够发现关上 fs.s3a.fast.upload 后,S3AFileSystem 在创立文件时会关上 S3ABlockOutputStream(Hadoop 3.x 也有相似的 S3AFastOutputStream)随后,S3ABlockOutputStream 在解决 write、flush 等操作时,则会调用一个形象的 S3ADataBlock 来执行。 而 S3ADataBlock 则可由三种工厂办法来创立,别离创立基于堆内存的 ArrayBlock、基于磁盘的 DiskBlock,或者基于堆外内存的 ByteBufferBlock。抉择哪种工厂,由 fs.s3a.fast.upload.buffer 这个配置项管制,默认为磁盘(disk)。其余两种可选配置为堆内存(array)和 堆外内存(bytebuffer)。 ...

March 27, 2023 · 6 min · jiezi

关于数据湖:杭银消金基于-Apache-Doris-的统一数据查询网关改造

导读: 随着业务量快速增长,数据规模的不断扩大,杭银消金晚期的大数据平台在应答实时性更强、复杂度更高的的业务需要时存在瓶颈。为了更好的应答将来的数据规模增长,杭银消金于 2022 年 10 月正式引入 Apache Doris 1.2 对现有的风控数据集市进行了降级革新,利用 Multi Catalog 性能对立了 ES、Hive、GP 等数据源进口,实现了联邦查问,为将来对立数据查问网关奠定了根底;同时,基于 Apache Doris 高性能、简略易用、部署成本低等诸多劣势,也使得各大业务场景的查问剖析响应实现了从分钟级到秒级的逾越。 作者|杭银消金大数据团队 周其进,唐海定, 姚锦权 杭银生产金融股份有限公司,成立于 2015 年 12 月,是杭州银行牵头组建的浙江省首家持牌生产金融公司,通过这几年的倒退,在 2022 年底资产规模冲破 400 亿,服务客户数超千万。公司秉承“数字普惠金融”初心,保持服务传统金融笼罩不充沛的、具备消费信贷需要的客户群体,以“数据、场景、风控、技术”为外围,依靠大数据、人工智能、云计算等互联网科技,为全国消费者提供业余、高效、便捷、可信赖的金融服务。 业务需要杭银消金业务模式是线上业务联合线下业务的双引擎驱动模式。为更好的服务用户,使用数据驱动实现精细化治理,基于以后业务模式衍生出了四大类的业务数据需要: 预警类:实现业务流量监控,次要是对信贷流程的用户数量与金额进行实时监控,呈现问题主动告警。剖析类:反对查问统计与长期取数,对信贷各环节进行剖析,对审批、授信、支用等环节的用户数量与额度状况查问剖析。看板类:打造业务实时驾驶舱与 T+1 业务看板,提供外部管理层与经营部门应用,更好辅助治理进行决策。建模类:反对多维模型变量的建模,通过算法模型回溯用户的金融体现,晋升审批、授信、支用等环节的模型能力。数据架构 1.0为满足以上需要,咱们采纳 Greenplum + CDH 交融的架构体系创立了大数据平台 1.0 ,如下图所示,大数据平台的数据源均来自于业务零碎,咱们能够从数据源的 3 个流向登程,理解大数据平台的组成及分工: 业务零碎的外围零碎数据通过 CloudCanal 实时同步进入 Greenplum 数仓进行数据实时剖析,为 BI 报表,数据大屏等利用提供服务,局部数据进入风控集市 Hive 中,提供查问剖析和建模服务。业务零碎的实时数据推送到 Kafka 音讯队列,经 Flink 实时生产写入 ES,通过风控变量提供数据服务,而 ES 中的局部数据也能够流入 Hive 中,进行相干剖析解决。业务零碎的风控数据会落在 MongoDB,通过离线同步进入风控集市 Hive,Hive 数仓撑持了查问平台和建模平台,提供风控剖析和建模服务。 咱们将 ES 和 Hive 独特组成了风控数据集市,从上述介绍也可知,四大类的业务需要根本都是由风控数据集市来满足的,因而咱们后续的革新降级次要基于风控数据集市来进行。在这之前,咱们先理解一下风控数据集市 1.0 是如何来运行的。 ...

March 27, 2023 · 4 min · jiezi

关于数据湖:查询性能较-TrinoPresto-310-倍提升Apache-Doris-极速数据湖分析深度解读

从上世纪 90 年代初 Bill Inmon 在《building the Data Warehouse》一书中正式提出数据仓库这一概念,至今已有超过三十年的工夫。在最后的概念里,数据仓库被定义为「一个面向主题的、集成的、绝对稳固的、反映历史变动的数据汇合,用于反对管理决策」,而数据湖最后是为了解决数仓无奈存储海量且异构的数据而构建的集中式存储系统。 时代的倒退与用户数据利用诉求的演进,催生了数据架构的一直变革,也衍生了更简单的技术状态。能够清晰看到古代数据架构从计算到存储都在向着交融对立的方向倒退,新的数据湖范式被提出,这也是 Lakehouse 诞生的背景。作为一种全新的、开放式的数据管理架构,Lakehouse 提供了更强的数据分析能力与更好的数据治理能力,也保留了数据湖的灵活性与开放式存储,为用户带来更多价值: 从存储的角度:对立数据集成,防止冗余存储以及跨零碎间 ETL 带来的沉重工程和失败危险;从治理的角度:反对 ACID、Schema Evolution 与 Snapshot,数据与元数据皆可治理;从利用的角度:多引擎拜访反对、可插拔,通过对立接口进行数据拜访,同时实用于多种工作负载 Workload;……如果咱们把 Lakehouse 从零碎层面进行解构,会发现除了须要 Apache Iceberg、Apache Hudi 以及 Delta Lake 等数据湖表格局(Table Format)以外,高性能剖析引擎更是充分发挥湖上数据价值的要害。 作为一款极速易用的开源实时 OLAP 数据库,Apache Doris 自 0.15 版本即开始尝试在 Apache Iceberg 之上摸索与数据湖的能力联合。而通过多个版本的优化迭代,Apache Doris 在数据湖剖析曾经获得了长足的停顿,一方面在数据读取、查问执行以及优化器方面做了诸多优化,另一方面则是重构了整体的元数据连贯框架并反对了更多内部存储系统。因而 Apache Doris 曾经齐全具备了构建极速易用的 Lakehouse 架构的能力,并且也已在多个用户的实在业务场景中失去验证和推广,咱们心愿通过 Apache Doris 能为用户在更多场景中带来价值: 湖仓查问减速   利用 Apache Doris 优良的分布式执行引擎以及本地文件缓存,联合数据湖凋谢格局提供的多种索引能力,对湖上数据及文件提供优良的查问减速能力,相比 Hive、Presto、Spark 等查问引擎实现数倍的性能晋升。对立数据分析网关   利用 Apache Doris 构建欠缺可扩大的数据源连贯框架,便于疾速接入多类数据源,包含各种支流关系型数据库、数据仓库以及数据湖引擎(例如 Hive、Iceberg、Hudi、Delta Lake、Flink Table Store 等),提供基于各种异构数据源的疾速查问和写入能力,将 Apache Doris 打造成对立的数据分析网关。对立数据集成 ...

February 28, 2023 · 3 min · jiezi

关于数据湖:字节跳动基于数据湖技术的近实时场景实践

本文为字节跳动基于数据湖技术的近实时场景实际,次要包含以下几局部内容:数据湖技术的个性、近实时技术的架构、电商数仓实际、将来的挑战与布局。、 数据湖技术个性1.数据湖概念从数据研发与利用的角度,数据湖技术具备以下特点:首先,数据湖可存储海量、低加工的原始数据。在数据湖中开发成本较低,能够反对灵便的构建,构建进去的数据的复用性也比拟强。 其次,在存储方面,老本比拟低廉,且容量可扩展性强。 与传统数仓建模应用的 schema on write 模式相比,数据湖采纳了一种 schema on read 的模式,即不会当时对它的 schema 做过多的定义,而是在应用的时候才去决定 schema,从而反对上游更丰盛、更灵便的利用。 2.字节数据湖Apache Hudi 有上面十分重要的个性: Hudi 不仅仅是数据湖的一种存储格局(Table Format),而是提供了 Streaming 流式原语的、具备数据库、 数据仓库外围性能(高效 upsert/deletes、索引、压缩优化)的数据湖平台。Hudi 反对各类计算、查问引擎(Flink、Spark、Presto、Hive),底层存储兼容各类文件系统 (HDFS、Amazon S3、GCS、OSS)Hudi 应用 Timeline Service 机制对数据版本进行治理,实现了数据近实时增量读、写。Hudi 反对 Merge on Read / Copy on Write 两种表类型,以及 Read Optimized / Real Time 两种 Query 模式,用户能够在海量的低加工的数据之上,依据理论需要,在 “数据可见实时性“和 “数据查问实时性” 上做出灵便的抉择。(其中,Read Optimized Query 是 面向 数据可见实时性 需要的;Real Time Query 是面向数据查问实时性 需要的)业界目前有多套开源的数据湖的实现计划,字节数据湖是基于 Apache Hudi 深度定制,实用于商用生产的数据湖存储计划,其个性如下: 字节数据湖为买通实时计算与离线计算 ,及实时数据、离线数据共通复用提供了桥梁。Hudi 的开源实现反对多种引擎,在字节跳动的实现中,集成了 Flink、Spark、Presto,同时反对 streaming 和 batch 计算。字节数据湖领有良好的元数据管理能力,并在此之上实现了索引。应用行、列存储并用的存储格局,为高性能读写提供松软的根底。字节数据湖新增了多源拼接性能,对于须要交融多种数据源或者构建集市型数据集的场景,多源拼接性能简化了数据操作,使数据集的构建更加简便。字节数据湖反对 read optimize 和 real time 两种 query 模式。同时提供 upsert(主键更新)、append(非主键更新)两种数据更新能力,利用扩展性强,对用户应用敌对。近实时技术架构3.近实时场景特点近实时场景在个别分为为两种类型,第一类是面向剖析型的需要,第二类是面向运维型的需要。 ...

November 22, 2022 · 2 min · jiezi

关于数据湖:字节跳动基于Doris的湖仓分析探索实践

更多技术交换、求职机会,欢送关注字节跳动数据平台微信公众号,回复【1】进入官网交换群Doris简介Doris是一种MPP架构的剖析型数据库,次要面向多维分析,数据报表,用户画像剖析等场景。自带剖析引擎和存储引擎,反对向量化执行引擎,不依赖其余组件,兼容MySQL协定。Apache Doris具备以下几个特点: 良好的架构设计,反对高并发低延时的查问服务,反对高吞吐量的交互式剖析。多FE均可对外提供服务,并发减少时,线性裁减FE和BE即可反对高并发的查问申请。反对批量数据load和流式数据load,反对数据更新。反对Update/Delete语法,unique/aggregate数据模型,反对动静更新数据,实时更新聚合指标。提供了高可用,容错解决,高扩大的企业级个性。FE Leader谬误异样,FE Follower秒级切换为新Leader持续对外提供服务。反对聚合表和物化视图。多种数据模型,反对aggregate,replace等多种数据模型,反对创立rollup表,反对创立物化视图。rollup表和物化视图反对动静更新,无需用户手动解决。MySQL协定兼容,反对间接应用MySQL客户端连贯,十分易用的数据利用对接。Doris由Frontend(以下简称FE)和Backend(以下简称BE)组成,其中FE负责承受用户申请,编译,优化,散发执行打算,元数据管理,BE节点的治理等性能,BE负责执行由FE下发的执行打算,存储和治理用户数据。数据湖格局Hudi简介Hudi是下一代流式数据湖平台,为数据湖提供了表格局治理的能力,提供事务,ACID,MVCC,数据更新删除,增量数据读取等性能。反对Spark,Flink,Presto,Trino等多种计算引擎。Hudi依据数据更新时行为不同分为两种表类型:针对Hudi的两种表格局,存在3种不同的查问类型:Doris剖析Hudi数据的技术背景在数仓业务中,随着业务对数据实时性的要求越来越高,T+1数仓业务逐步往小时级,分钟级,甚至秒级演进。实时数仓的利用也越来越广,也经验了多个倒退阶段。目前存在着多种解决方案。 Lambda架构Lambda将数据处理流分为在线剖析和离线剖析分为两条不同的解决门路,两条门路相互独立,互不影响。离线剖析解决T+1数据,应用Hive/Spark解决大数据量,不可变数据,数据个别存储在HDFS等零碎上。如果遇到数据更新,须要overwrite整张表或整个分区,老本比拟高。在线剖析解决实时数据,应用Flink/Spark Streaming解决流式数据,剖析解决秒级或分钟级流式数据,数据保留在Kafka或定期(分钟级)保留到HDFS中。该套计划存在以下毛病: 同一套指标可能须要开发两份代码来进行在线剖析和离线剖析,保护简单数据利用查问指标时可能须要同时查问离线数据和在线数据,开发简单同时部署批处理和流式计算两套引擎,运维简单数据更新须要overwrite整张表或分区,老本高Kappa架构随着在线剖析业务越来越多,Lambda架构的弊病就越来越显著,减少一个指标须要在线离线别离开发,保护艰难,离线指标可能和在线指标对不齐,部署简单,组件繁多。于是Kappa架构应运而生。Kappa架构应用一套架构解决在线数据和离线数据,应用同一套引擎同时解决在线和离线数据,数据存储在音讯队列上。Kappa架构也有肯定的局限: 流式计算引擎批处理能力较弱,解决大数据量性能较弱数据存储应用音讯队列,音讯队列对数据存储有有效性限度,历史数据无奈回溯数据时序可能乱序,可能对局部对时序要求比拟严格的利用造成数据谬误数据利用须要从音讯队列中取数,须要开发适配接口,开发简单基于数据湖的实时数仓针对Lambda架构和Kappa架构的缺点,业界基于数据湖开发了Iceberg, Hudi, DeltaLake这些数据湖技术,使得数仓反对ACID, Update/Delete, 数据Time Travel, Schema Evolution等个性,使得数仓的时效性从小时级晋升到分钟级,数据更新也反对局部更新,大大提高了数据更新的性能。兼具流式计算的实时性和批计算的吞吐量,反对的是近实时的场景。 以上计划中其中基于数据湖的利用最广,但数据湖模式无奈撑持更高的秒级实时性,也无奈间接对外提供数据服务,须要搭建其余的数据服务组件,零碎较为简单。基于此背景下,局部业务开始应用Doris来承接,业务数据分析师须要对Doris与Hudi中的数据进行联邦剖析,此外在Doris对外提供数据服务时既要能查问Doris中数据,也要能减速查问离线业务中的数据湖数据,因而咱们开发了Doris拜访数据湖Hudi中数据的个性。 Doris剖析Hudi数据的设计原理基于以上背景,咱们设计了Apache Doris中查问数据湖格局Hudi数据,因Hudi生态为java语言,而Apache Doris的执行节点BE为C++环境,而C++ 无奈间接调用Hudi java SDK,针对这一点,咱们有四种解决方案: 实现Hudi C++ client,在BE中间接调用Hudi C++ client去读写Hudi表。该计划须要残缺实现一套Hudi C++ client,开发周期较长,前期Hudi行为变更须要同步批改Hudi C++ client,保护较为艰难。BE通过thrift协定发送读写申请至Broker,由Broker调用Hudi java client读取Hudi表。该计划须要在Broker中减少读写Hudi数据的性能,目前Broker定位仅为fs的操作接口,引入Hudi突破了Broker的定位。第二,数据须要在BE和Broker之间传输,性能较低。在BE中应用JNI创立JVM,加载Hudi java client去读写Hudi表。该计划须要在BE过程中保护JVM,有JVM调用Hudi java client对Hudi进行读写。读写逻辑应用Hudi社区java实现,能够保护与社区同步;同时数据在同一个过程中进行解决,性能较高。但须要在BE保护一个JVM,治理较为简单。应用BE arrow parquet c++ api读取hudi parquet base file,hudi表中的delta file暂不解决。该计划能够由BE间接读取hudi表的parquet文件,性能最高。但以后不反对base file和delta file的合并读取,因而仅反对COW表Snapshot Queries和MOR表的Read Optimized Queries,不反对Incremental Queries。综上,咱们抉择计划四,第一期实现了COW表Snapshot Queries和MOR表的Read Optimized Queries,前面联结Hudi社区开发base file和delta file合并读取的C++接口。 Doris剖析Hudi数据的技术实现Doris中查问剖析Hudi表面应用步骤非常简单。 1. 创立Hudi表面建表时指定engine为Hudi,同时指定Hudi表面的相干信息,如hive metastore uri,在hive metastore中的database和table名字等。建表仅仅在Doris的元数据中减少一张表,无任何数据挪动。建表时反对指定全副或局部hudi schema,也反对不指定schema创立hudi表面。指定schema时必须与hiveMetaStore中hudi表的列名,类型统一。Example: CREATE TABLE example_db.t_hudi ENGINE=HUDI PROPERTIES ( "hudi.database" = "hudi_db", "hudi.table" = "hudi_table", "hudi.hive.metastore.uris" = "thrift://127.0.0.1:9083" ); CREATE TABLE example_db.t_hudi ( column1 int, column2 string) ENGINE=HUDI PROPERTIES ( "hudi.database" = "hudi_db", "hudi.table" = "hudi_table", "hudi.hive.metastore.uris" = "thrift://127.0.0.1:9083" );2. 查问Hudi表面查问Hudi数据表时,FE在analazy阶段会查问元数据获取到Hudi表面的的hive metastore地址,从Hive metastore中获取hudi表的schema信息与文件门路。 ...

September 29, 2022 · 1 min · jiezi

关于数据湖:Google-Cloud-X-Kyligence|如何从业务视角管理数据湖

近日,Google Cloud、Kyligence 和 WebEye 独特举办了「智能数据助力企业数字化转型」的线上研讨会,Kyligence 技术合伙人兼副总裁李栋在会上分享了主题为「Kyligence Cloud 简化数据湖多维分析」的演讲。 以下为李栋演讲实录大家好,我是李栋,Kyligence 是 Google Cloud ISV Partner,往年咱们最新的云原生多维数据库产品 Kyligence Cloud 也反对了 Google Cloud,明天我将会给大家介绍企业如何通过智能多维数据库,从业务视角治理数据湖。 1. 数据湖剖析典型痛点 越来越多企业都开始在云上搭建数据湖,撑持企业外部的数据分析和数据决策,但在数据湖和真正的数据利用之间往往存在很多痛点。现在,少数企业面临的不再是数据量过少,而是数据量太多,这导致业务用户在查找和应用数据时,难以精准定位到想要的数据。 从数据入到数据湖,再到被业务用户应用,不仅时效性较差,而且整个过程依赖数据工程师去进行 ETL,数据开发流程比拟沉重。所有 ETL 都须要耗费大量计算资源和存储资源,会大大晋升数据平台的老本;而随着数据的增大,TCO 也会逐步增长。这些可能是每一位在应用数据湖相干技术的用户都会遇到的问题。 这里举 Kyligence 服务的一线互联网电商企业作为例子,这家企业在 2019 年开始搭建本人的数字剖析平台,正式进入数字化转型的阶段。其所有数据要通过数据库,落到数据湖,上游是各种数据产品、报表以及 BI、AI 的利用等,用户从数据湖中剖析数据,应用一段时间就会发现数据湖逐步进入“浑水期”。 企业所有数据加载到数据湖上,起初可能只有 5700 多张贴源层 ODS 表。然而随着业务应用越来越多,每一个数据分析需要或每一个数据产品背地都须要从源表进行一系列的加工和解决,就变成超过 100 万张的宽表或聚合表。尽管现阶段数据分析和数据利用的业务能够失常发展,然而企业在数据湖的数据管理方面会逐步地进入凌乱的阶段。 举个例子,这里的 order 表就是订单表,它被业务援用的次数很多,咱们能够看到它的整个后继节点。在数据血统上来看,一个 order 表的后继节点至多有超过 1 万多张表。同样的一份原始数据,可能被加工成了一万多张宽表,利用在不同的业务和数据分析场景中,后续就会带来很多问题。 如果这里 ETL 的计算逻辑、指标加工的逻辑、数据时效性等这些生命周期的治理不统一,很容易造成同样一份数据进去的指标后果是不一样的。那么对于这家企业而言,他们就会面临“宽表爆炸”的状况。其实当初很多企业都面临相似的挑战,这大大影响了数据分析的 ROI ,短期来看数据分析的指标兴许达到了,然而背地的投入和老本其实是过高的。 1.1 数据口径不统一 一个 order 表就衍生出上万张宽表,宽表间是短少信赖的。用户在应用时,很难说哪张表的数据是最可信的。对于这家电商而言,不同区域或者部门计算出来的 revenue 指标累加在一起,很可能和间接从贴源数据里加工算进去的 total revenue 是不一样的,这种状况可能在很多企业并不少见。 1.2 浑浊的数据湖 对于整个数据湖而言,数据存储方面上会变得更加浑浊。每个业务部门或者 BU 都会有一些属于本人的数据集。对于一个订单数据而言,财务部、经营部门、市场部门都会基于这个数据去来打造本人的数据集。其实,这背地的很多数据指标往往是共享或者是逻辑统一的,然而这些数据自身却很难被复用。而这些问题的积攒就会导致宽表爆炸更加强烈,这些 ETL 和宽表的快速增长会带来大量存储和计算资源的冗余。 ...

July 29, 2022 · 1 min · jiezi

关于数据湖:Kyligence-出席华为全球智慧金融峰会加速拓展全球市场

7月21日,华为寰球智慧金融峰会 Huawei Intelligent Finance Summit 2022 在新加坡顺利召开,Kyligence 联结创始人兼 CEO 韩卿受邀缺席,并在主题峰会上分享了「Kyligence 基于数据湖的云上 OLAP 解决方案」。将来,Kyligence 将和华为进一步深入单干,整合在金融数字化转型上的教训、技术创新能力,独特构建行业当先的解决方案,进一步拓展亚太市场,服务寰球客户。  华为寰球智慧金融峰会以 “全联接,全智能,共建绿色数智金融” 为主题,会集寰球金融行业领军人物、意见首领、学术大咖和翻新践行者等,针对将来金融行业发展趋势,探讨如何共建绿色数智金融。  Kyligence 联结创始人兼 CEO 韩卿在演讲中提到,Kyligence 提供基于云上数据湖的企业级 OLAP 能力,并联结华为云打造了云原生的大数据解决方案,笼罩了金融行业的各类业务场景。目前,Kyligence 服务的金融客户曾经笼罩中国、美国及亚太等地区,深耕数据分析和治理畛域多年,粗浅洞见金融行业数字化转型中的痛点和业务需要,以翻新技术和解决方案为依靠,助力企业构建数据分析和管理体系。  Kyligence Cloud 智能多维数据库,利⽤云原⽣的计算和存储,在任意数据湖上构建疾速、弹性、老本⾼效的翻新⼤数据分析应⽤。通过 AI 加强的高性能剖析引擎、对立 SQL 服务接口、业务语义层等性能,Kyligence 提供老本最优的多维数据分析能力,撑持企业商务智能(BI)剖析、灵便查问和互联网级数据服务等多类利用场景,助力企业构建更牢靠的指标体系,开释业务自助剖析后劲。  Kyligence on Huawei Cloud 架构图 此外,Kyligence 提供基于对立语义层的企业级指标中台解决方案,以多维数据集市为底座的指标中台可能为下层的指标提供更好的能力,同时反对 Tableau、Excel、Power BI 等支流 BI。Kyligence 通过推动指标治理来助力企业做到更好的数据治理,让受治理、统一口径的指标被应用、被生产,从而让数据施展更大价值。  Kyligence 始终踊跃开辟海内市场,截至目前,公司服务的客户曾经遍布美国、欧洲和亚太等多个国家和地区,海内市场更是博得了 UBS(瑞银)、MetLife(大都会保险)、Thaivivat 等重要客户。将来,咱们将继续翻新,一直交融云计算新技术与新能力,携手寰球合作伙伴,以更加简化、更加高效、更节俭 TCO 的形式为寰球用户提供云上数据分析和治理服务。  Kyligence 与华为的单干2022年1月,Kyligence 获「2021 华为寰球金融最佳反对合作伙伴奖」,正式退出华为智慧金融搭档出海打算(FPGGP,Financial Partner Go Global Program) 2021年12月,Kyligence 退出华为云瘠田云创打算2021年6月,Kyligence 签约泰国客户 Thaivivat,Kyligence on Huawei Cloud 助力传统保险业务云时代的数字化转型 ...

July 21, 2022 · 1 min · jiezi

关于数据湖:湖仓一体Hologres加速云数据湖DLF原理解析

本期咱们将带来Hologres高性能剖析引擎减速查问云数据湖DLF的技术原理解析。 随着云服务被承受的水平一直晋升,云用户日益违心将其收集的数据存储在低成本的对象存储里,比方OSS,S3等。与此同时,基于云的数据管理形式也失去相应的推广,元数据也一直存储在阿里云DLF(Data Lake Formation)上。OSS和DLF的联合成就了一种新的数据湖搭建形式。这种基于云存储的数据湖集累的数据规模也一直增长,相应的湖仓一体的需要也孕育而生。湖仓一体架构基于凋谢格局的内部存储,以及高性能的查问引擎,让数据架构灵便、可扩大、可插拔。 Hologres在湖仓一体场景上与DLF人造无缝交融,无需数据导入导出就能实现减速查问由DLF治理存储在OSS的数据,全面兼容拜访各种DLF反对文件格式,实现对PB级离线数据的秒级和亚秒级交互式剖析。而这所有的背地,都离不开Hologres的DLF-Access引擎,通过DLF-Access实现对DLF元数据以及背地的OSS数据进行拜访。另外,通过联合Hologres高性能分布式执行引擎HQE的解决,拜访DLF/OSS的性能失去进一步提高。 Hologres减速查问DLF/OSS次要有以下几个劣势: 高性能: 能够间接对DLF/OSS数据减速查问,具备秒级响应的查问性能,在OLAP场景能够间接即席查问,满足绝大多数报表等剖析场景。低成本: 用户在在DLF/OSS上存储的大量数据,无需迁徙和导入数据而由Hologres间接进行拜访。在享受云数据湖的低成本根底之上,也防止了数据迁徙老本。兼容性: 能够实现以高性能和全兼容的形式拜访各种DLF文件格式,反对CSV、Parquet、ORC、Hudi、Delta等格局(其中Hudi、Delta在1.3版本反对)。而这些文件格式又是通用数据湖兼容的。湖仓一体架构介绍如图所示是Hologres拜访DLF/OSS的湖仓一体架构,能够看出整个架构十分简洁: 云数据湖里的数据存储在OSS,元数据存储在DLF。当Hologres执行一条Query去减速查问DLF/OSS的数据时,在Hologres端: Frontend接管SQL申请,并对SQL进行解析转化,而后通过RPC向DLF-Access申请获取Meta等相干信息。HQE(Hologres Engine)通过DLF-Access获取OSS/DLF具体的数据相干信息,再返回给Frontend。其中DLF-Access是一个分布式的数据拜访引擎,由多个平等过程组成,具备横向扩大能力。任何一个过程都能够实现两种角色: 解决Meta相干的申请,次要负责获取表、分区元数据、文件分片等性能。负责具体读取或写入数据申请,波及列裁剪,数据转换,数据封装等性能。 DLF表面引擎外围技术创新基于DLF-Access的架构,能做到对DLF/OSS的数据高性能减速查问,次要是基于以下技术创新劣势: 1)形象分布式表面联合DLF/OSS的分布式个性,Hologres形象了一个分布式的表面,来反对拜访包含传统或云数据湖的数据。 2)和 DLF Meta无缝互通DLF-Access和Data Lake Formation的 Meta 无缝互通,能够做到 Meta 和 Data 实时获取,反对通过Import Foreign Schema命令,同步DLF的元数据到Hologres的表面,实现表面的主动创立。 3)向量化数据读取及转换DLF-Access能充分利用数据湖列存文件的特点进行向量化的数据读取及转换,进一步晋升性能。 4)返回共享式数据格式DLF-Access转换后的数据格式为共享式的Apache Arrow格局。Hologres能够间接应用返回的数据,防止额定数据序列化及反序列化的开销。 5)Block模式IO为了防止网络带来的提早及负载,DLF-Access和Hologres的外部传输数据单位为block,默认为8192行数据。 6)编程语言隔离Hologres是用C/C++开发进去的云原生OLAP引擎。DLF云数据湖和传统的开源数据湖高度兼容,而开源数据湖大多提供的是基于Java的库。应用独立的DLF-Access引擎架构能够隔离不同编程语种,即防止了原生引擎和虚拟机之间的高老本转换,又放弃了对数据湖灵活多样的数据格式的反对。 DLF表面引擎降级到HQE下面提到了Hologres通过DLF-Access进行查问减速DLF表面,查问时性能能够做到很好,然而和Hologres交互时两头会有一层RPC 交互,在数据量较大时网络会存在肯定瓶颈。因而基于Hologres已有的能力,Hologres V1.3版本对执行引擎进行了优化,反对Hologres HQE查问引擎直读DLF 表,在性能上失去进一步的晋升,较晚期版本读取有 30%以上的性能晋升。这次要得益于以下几个方面:1) 节俭了 DLF-Access两头 RPC 的交互,节俭了一次额定的数据的重散布,在性能上失去进一步的晋升。2) 复用Hologres的Block Cache,这样屡次查问时无需拜访存储,防止存储IO,间接从内存拜访数据,更好的减速查问。3) 能够复用已有的Filter Pushdown(下推)能力,缩小须要解决的数据量。4) 在底层的IO层实现了预读和Cache,更进一步减速Scan时的性能。 对事务数据湖(Hudi、Delta)的反对目前DLF反对了事务数据湖所用的Hudi,Delta等表格局。Hologres利用DLF-Access间接读取这些表中的数据,而不削减任何额定的操作,满足了用户对实时湖仓一体架构的设计需要。 总结Hologres通过DLF-Access与DLF/OSS深度整合,充分利用Hologres和DLF/OSS的各自劣势,以极致性能为指标,间接减速查问云数据湖数据,让用户更不便高效的进行交互式剖析,同时也极大升高了剖析老本,实现湖仓一体的剖析能力。 作者简介:Xuefu,阿里巴巴资深技术专家,现从事Hologres研发工作。 后续咱们将会陆续推出无关Hologres的技术底层原理揭秘系列,敬请继续关注!返回主页查看往期精彩内容

April 26, 2022 · 1 min · jiezi

关于数据湖:云原生时代湖仓一体帮你从数据视角看世界-DEEPNOVA第二期直播课火热报名中

扫描上图二维码,可间接报名公开课,更有DEEPNOVA专属周边礼盒等着你。名额有限,快来报名吧! 家喻户晓,数据曾经成为了当今企业倒退的外围资产,企业在推动本身业务向前倒退的过程当中,往往须要对数据价值进行全面地开掘和展示。 数据是简单的,并且在一直地倒退。以往企业从多种零碎中收集数据,现在架构师也开始思考,如何构建一个数据智能平台,来实现数据的无效存储计算,并以此为多样化的利用提供承载。而且,很多企业想要放弃持续增长,往往须要依附大量、无效的数据输入,进而实现智慧决策。但很多企业局限于IT建设能力的限度,导致很多事件没法做。 但随着云原生利用越来越宽泛,在2011年首次提出“数据湖 Data Lake”的概念后,业界于2020年联合云原生的架构又再次提出“湖仓一体 Data Lakehouse”的定义,标记着大数据的普惠期已到来。 1、湖仓一体:让你的数据存得好、用得更好 在数据智能时代,湖仓一体是否会成为每个企业构建大数据栈的必要选项?答案简直是必定的。对于高速增长的企业来说,抉择湖仓一体架构来代替传统的数据仓和数据湖,将成为不可逆转的趋势。 “湖仓一体”平台作为数据基础设施,其真正的价值在于买通不同业务类型、不同数据类型之间的技术壁垒,实现交易剖析一体化、流批一体化、多模数据一体化,最终升高数据流动带来的开发成本及计算存储开销,晋升企业的运作的“人效”和“能效”。 就在前不久,Gartner公布了湖仓一体的将来利用场景预测:湖仓一体架构须要反对三类实时场景,第一类是实时继续智能;第二类是实时按需智能;第三类是离线按需智能。 “湖仓一体”的概念随同着用户需要的一直进步,在很大水平上减速了数据智能时代的业务翻新和降级。无疑,企业对于湖仓一体架构的需要曾经变得越来越旺盛。 滴普科技基于对先进制作、生物医药、生产流通等行业的深度洞察,并且从理论场景切入,依靠新一代湖仓一体、流批一体的剖析型数据库FastData,为客户提供了一站式的湖仓一体解决方案。 2、数据兑现价值,湖仓一体浮现威力 作为一个新兴的数据架构,湖仓一体正成为兵家必争之地。滴普科技通过技术架构的交融与翻新,让湖仓一体化的技术劣势在利用中失去了充分体现。这也是滴普科技的技术“杀手锏”。 传统的基于离线(比方Hive)的数仓有很高的成熟度和稳定性,但在一些时延要求比拟高的场景,则须要借助实时数仓Flink的帮忙,将延时升高到秒级(或分钟级)。 但两套并存的数仓架构,势必带来双倍的资源耗费和开发保护工作量。那么,是否存在能够将离线和实时工作、批处理和流式工作,对立放在一套架构中调度和运行呢? 答案天然是必定的。滴普科技实时湖仓引擎 DLink,能够提供多种数据类型的对立存储能力,反对流批一体数据处理、数据分析、数据迷信等多工作负载。采纳存算拆散架构,弹性扩大、高并发、低延时,反对PB级多模数据存储与解决,无缝连贯大数据生态,提供一站式数据摸索与数据开发能力。 FastData for DLink技术栈 并且,为了撑持数据从采集、存储到剖析的全生命周期治理,实现数据实时处理和剖析决策,在构建DLink实时湖仓引擎的过程中,滴普科技基于Iceberg、Flink和Trino技术栈,联合客户的理论场景和需要,在元数据管理、数据存储格局和数据分析性能上做了一些工作。在对立元数据与存储的架构之上,FastData for DLink将持续优化流式计算和数据入湖的性能,优化端到端时延,秉承简略、高效、易用的理念,构建流批一体、湖仓一体的实时数据平台。 来自数据库利用翻新实验室的音讯,2021年底,在第十三批大数据分布式剖析型数据库产品能力评测中,滴普科技FastData for DLink通过了更新规范后的首批根底能力评测。 第十三批数据库产品能力评审会的产品信息(局部) 3、4月27日邀你线上相见,共话湖仓一体 除了上述技术特点,还想进一步理解湖仓一体平台的关键技术,FastData到底有哪些技术劣势?实用于哪些行业及场景中?在和某时尚产业团体的单干中,到底帮忙其解决了哪些问题,带来了什么样的成果呢? DEEPNOVA社区联结CSDN独特推出的“DEEPNOVA技术荟系列公开课”,第二期就将深入探讨“湖仓一体平台关键技术与实际”,并于4月27日周三19:30准时开播。滴普科技FastData产品线总裁杨磊与滴普科技首席程序员吴小前,将为各位技术开发者带来精彩分享。 吴小前,北京滴普科技有限公司首席程序员。领有14年华为任职经验,曾作为华为一级产品线首席架构师和华为网络操作系统首席架构师,领有大型平台类软件产品架构体系研发教训;曾任职Amazon高级架构师,负责业务平安。 作为滴普科技首席程序员,吴小前翻新实现KappaPlus架构的实时分布式数据分析架构,布局并设计了国内首个真正的云中立湖仓一体数据平台,并首次引入当先的MDS架构,打造了中国版的低成本、高性能、易使用的云原生数据智能平台,为各畛域客户疾速构建新一代湖仓一体、流批一体的剖析型数据库。 扫描上方二维码 可间接预约观看公开课 还有DEEPNOVA专属周边礼盒 等你支付!

April 12, 2022 · 1 min · jiezi

关于数据湖:阿里云贾扬清数据湖正成为企业数据应用创新标配

简介:寰球数据湖峰会揭幕。 数字经济蓬勃发展的明天,越来越多的用户曾经从“上好云”,走到了“用好云”的这个阶段。如果说在“上好云这个阶段,大多数用户关怀的是如何在老本上取得更好的回报。那么在上好云这个阶段,更多的用户开始思考,如何在云平台上反对更多、更简单、更有价值的数据分析场景。 3月 31 日,阿里云寰球数据湖峰会上,阿里云从“湖治理、湖存储和湖计算“这三个方面,为观众带来了“数据湖 3.0” 的重磅降级计划。为用户出现数据湖在各行各业多场景的交融计划和实际,独特推动产业数据湖的倒退浪潮。 阿里巴巴团体副总裁,阿里云计算平台事业部负责人贾扬清认为,云原生让数据湖减速迈入 3.0 时代,而数据湖曾经成为企业数据利用翻新的标配。 因为数据利用体量继续减少,数据分析的开放性和多样化也在继续地减少,这也标示着数据湖的利用曾经进入深水区。企业如何系统地实现湖存储、湖计算和湖治理是企业是否实现业务翻新与增长的要害。 阿里云云原生企业级数据湖,帮忙这些用户实现对新的数据化的赛道进行赋能,助力业务在云上发明更多新的可能性。 借助它,任意门科技高效地撑持了各种业务数据分析场景,通过数据湖提供上百Gbps 高吞吐能力,满足业务数据分析对于弹性扩大吞吐的需要。同时数据湖也提供了存算解耦合架构和多存储类型的,让任意门科技具备更灵便的老本优化空间。 “AI 和大数据的交融,驱动企业发明业务价值。基于数据湖存储OSS的冷热智能分层能力,可实现老本升高95%。”阿里云根底产品资深产品总监 Alex Chen 如是说。 以映客互娱为例,采纳数据湖的解决方案,在技术层面反对了其业务从繁多直播平台向泛娱乐生态的转型。 据理解,映客互娱将阿里云数据湖体系与自研的大数据中台买通,对产品矩阵进行技术下面的撑持。胜利实现了在只装备最火线经营人员和大量的客户端研发的状况下,可实现数据的经营,开掘其背地的价值。 在智能物流畛域,赢彻科技是一家业务聚焦于支线物流场景的主动驾驶技术和经营公司。基于云数据湖实现自动化物流,将数据GPU的利用率晋升至70%—80%,而资源仅晋升14.5倍,帮忙其以最低的老本将主动驾驶训练速度晋升24倍。 在阿里云看来,数字经济转型的大环境下,生态搭档也曾经开始从单纯的信息提供商开始向数字经济的服务商转型。 数据湖带来的能力是可能帮忙咱们的搭档关上这扇门最好的钥匙。 大会现场,阿里云与德勤、恒生、软通能源等20+合作伙伴,首次面向外界联结公布产业数据湖生态圈,独特利用数据湖解决方案的能力,为行业用户畅想数据更多可能性提供翻新支点。 阿里云走漏,2020年至今,已超过1万个客户在云上构建数据湖。将来,阿里云心愿同搭档一起,将云原生数据湖渗透到各行各业,推动更多企业实现数字翻新。 原文链接本文为阿里云原创内容,未经容许不得转载。

April 8, 2022 · 1 min · jiezi

关于数据湖:阿里云已有10000家企业在云上构建数据湖

数字经济蓬勃发展的明天,越来越多的用户曾经从“上好云”,走到了“用好云”的这个阶段。如果说在“上好云这个阶段,大多数用户关怀的是如何在老本上取得更好的回报。那么在上好云这个阶段,更多的用户开始思考,如何在云平台上反对更多、更简单、更有价值的数据分析场景。 3月 31 日,阿里云寰球数据湖峰会上,阿里云从“湖治理、湖存储和湖计算“这三个方面,为观众带来了“数据湖 3.0” 的重磅降级计划。为用户出现数据湖在各行各业多场景的交融计划和实际,独特推动产业数据湖的倒退浪潮。 阿里巴巴团体副总裁,阿里云计算平台事业部负责人贾扬清认为,云原生让数据湖减速迈入 3.0 时代,而数据湖曾经成为企业数据利用翻新的标配。 因为数据利用体量继续减少,数据分析的开放性和多样化也在继续地减少,这也标示着数据湖的利用曾经进入深水区。企业如何系统地实现湖存储、湖计算和湖治理是企业是否实现业务翻新与增长的要害。 阿里云云原生企业级数据湖,帮忙这些用户实现对新的数据化的赛道进行赋能,助力业务在云上发明更多新的可能性。 借助它,任意门科技高效地撑持了各种业务数据分析场景,通过数据湖提供上百Gbps 高吞吐能力,满足业务数据分析对于弹性扩大吞吐的需要。同时数据湖也提供了存算解耦合架构和多存储类型的,让任意门科技具备更灵便的老本优化空间。 “AI 和大数据的交融,驱动企业发明业务价值。基于数据湖存储OSS的冷热智能分层能力,可实现老本升高95%。”阿里云根底产品资深产品总监 Alex Chen 如是说。 以映客互娱为例,采纳数据湖的解决方案,在技术层面反对了其业务从繁多直播平台向泛娱乐生态的转型。 据理解,映客互娱将阿里云数据湖体系与自研的大数据中台买通,对产品矩阵进行技术下面的撑持。胜利实现了在只装备最火线经营人员和大量的客户端研发的状况下,可实现数据的经营,开掘其背地的价值。 在智能物流畛域,赢彻科技是一家业务聚焦于支线物流场景的主动驾驶技术和经营公司。基于云数据湖实现自动化物流,将数据GPU的利用率晋升至70%—80%,而资源仅晋升14.5倍,帮忙其以最低的老本将主动驾驶训练速度晋升24倍。 在阿里云看来,数字经济转型的大环境下,生态搭档也曾经开始从单纯的信息提供商开始向数字经济的服务商转型。 数据湖带来的能力是可能帮忙咱们的搭档关上这扇门最好的钥匙。 大会现场,阿里云与德勤、恒生、软通能源等20+合作伙伴,首次面向外界联结公布产业数据湖生态圈,独特利用数据湖解决方案的能力,为行业用户畅想数据更多可能性提供翻新支点。 阿里云走漏,2020年至今,已超过1万个客户在云上构建数据湖。将来,阿里云心愿同搭档一起,将云原生数据湖渗透到各行各业,推动更多企业实现数字翻新。

April 1, 2022 · 1 min · jiezi

关于数据湖:最新大厂数据湖面试题知识点总结

本文是一篇数据湖的面试题,同时也是数据湖知识点的解说 目录: 一、什么是数据湖 二、数据湖的倒退 三、数据湖有哪些劣势 四、数据湖应该具备哪些能力 五、数据湖的实现遇到了哪些问题 六、数据湖与数据仓库的区别 七、为什么要做数据湖?区别在于? 八、数据湖挑战 九、湖仓一体 十、目前有哪些开源数据湖组件 十一、三大数据湖组件比照 一、什么是数据湖本文首发于公众号【五分钟学大数据】,点击获取:数仓建设保姆级教程数据湖是一种一直演进中、可扩大的大数据存储、解决、剖析的基础设施;以数据为导向,实现任意起源、任意速度、任意规模、任意类型数据的全量获取、全量存储、多模式解决与全生命周期治理;并通过与各类内部异构数据源的交互集成,反对各类企业级利用。 用架构图能很快说明确,用阿里的数据架构图来说: ODS(operational data store, staging area)存储来自各业务零碎(生产零碎)的原始数据,即为数据湖。CDM为通过整合、荡涤的数据。其中的DWS汇总层,为面向主题的数据仓库(广义),用于BI报表出数。简略来说,数据湖的定义就是原始数据保留区. 尽管这个概念国内谈的少,但绝大部分互联网公司都曾经有了。国内个别把整个HDFS叫做数仓(狭义),即寄存所有数据的中央。 二、数据湖的倒退数据湖最早是2011年由Pentaho的首席技术官James Dixon提出的一个概念,他认为诸如数据集市,数据仓库因为其有序性的特点,势必会带来数据孤岛效应,而数据湖能够因为其开放性的特点能够解决数据孤岛问题。 为什么不是数据河? 因为,数据要能存,而不是一江春水向东流。 为什么不是数据池? 因为,要足够大,大数据太大,一池存不下。 为什么不是数据海? 因为,企业的数据要有边界,能够流通和替换,但更重视隐衷和平安,“海到无际天作岸”,那可不行。 所以数据要能“存”,数据要够“存”,数据要有边界地“存”。企业级的数据是须要长期积淀的,因而是“数据湖”。 同时湖水人造会进行分层,满足不同的生态系统要求,这与企业建设对立数据中心,寄存治理数据的需要是统一的。热数据在下层不便流通利用,温数据、冷数据位于数据中心的不同存储介质之中,达到数据存储容量与老本的均衡。 但随着数据湖在各类企业的利用,大家都感觉:嗯,这个数据有用,我要放进去;那个数据也有用,我也要放进去;于是把所有的数据不假思索地扔进基于数据湖的相干技术或工具中,没有规定不成方圆,当咱们认为所有数据都有用时,那么所有的数据都是垃圾,数据湖也变成了造成企业老本高企的数据沼泽。 三、数据湖有哪些劣势轻松地收集数据:数据湖与数据仓库的一大区别就是,Schema On Read,即在应用数据时才须要Schema信息;而数据仓库是Schema On Write,即在存储数据时就须要设计好Schema。这样,因为对数据写入没有限度,数据湖能够更容易的收集数据。从数据中挖掘更多价值:数据仓库和数据市场因为只应用数据中的局部属性,所以只能答复一些当时定义好的问题;而数据湖存储所有最原始、最细节的数据,所以能够答复更多的问题。并且数据湖容许组织中的各种角色通过自助剖析工具,对数据进行剖析,以及利用AI、机器学习的技术,从数据中挖掘更多的价值。打消数据孤岛:数据湖中会集了来自各个系统中的数据,这就打消了数据孤岛问题。具备更好的扩展性和敏捷性:数据湖能够利用分布式文件系统来存储数据,因而具备很高的扩大能力。开源技术的应用还升高了存储老本。数据湖的构造没那么严格,因而天生具备更高的灵活性,从而进步了敏捷性。四、数据湖应该具备哪些能力 数据集成能力:须要具备把各种数据源接入集成到数据湖中的能力。数据湖的存储也应该是多样的,比方HDFS、HIVE、HBASE等等。 数据治理能力:治理能力的外围是保护好数据的元数据(metadata)。强制要求所有进入数据湖的数据必须提供相干元数据,应该作为最低限度的治理管控。没有元数据,数据湖就面临成为数据沼泽的危险。更丰盛的性能还包含: 主动提取元元数据,并依据元数据对数据进行分类,造成数据目录。主动对数据目录进行剖析,能够基于AI和机器学习的办法,发现数据之间的关系。主动建设数据之间血缘关系图。跟踪数据的应用状况,以便将数据作为产品,造成数据资产。数据搜寻和发现能力:如果把整个互联网设想成一个微小的数据湖。那么,之所以人们能够这么无效的利用这个湖中的数据,就是因为有了Google这样的搜索引擎。人们能够通过搜寻,不便地找到他们想要的数据,进而进行剖析。搜寻能力是数据湖的非常重要的能力。 数据安全管控能力:对数据的应用权限进行管控,对敏感数据进行脱敏或加密解决,也是数据湖能商用所必须具备的能力。 数据质量检验能力:数据品质是剖析正确的要害。因而必须对进入数据湖中的数据的品质状况进行测验。及时发现数据湖中数据品质的问题。为无效的数据摸索提供保障。 自助数据摸索能力:应该具备一系列好用的数据分析工具,以便各类用户能够对数据湖中的数据进行自助摸索。包含: 反对对流、NoSQL、图等多种存储库的联结剖析能力反对交互式的大数据SQL剖析反对AI、机器学习剖析反对相似OLAP的BI剖析反对报表的生成五、数据湖的实现遇到了哪些问题数据湖刚提出来时,只是一个奢侈的理念。而从理念变成一个能够落地的零碎,就面临着许多不得不思考的事实问题: 首先,把所有原始数据都存储下来的想法,要基于一个前提,就是存储老本很低。而今数据产生的速度越来越快、产生的量越来越大的状况下,把所有原始数据,不分价值大小,都存储下来,这个老本在经济上能不能承受,可能须要打一个问号。 其次,数据湖中寄存这各类最原始的明细数据,包含交易数据、用户数据等敏感数据,这些数据的平安怎么保障?用户拜访的权限如何管制? 再次,湖中的数据怎么治理?谁对数据的品质、数据的定义、数据的变更负责?如何确保数据的定义、业务规定的一致性? 数据湖的理念很好,然而它当初还不足像数据仓库那样,有一整套方法论为根底,有一系列具备可操作性的工具和生态为撑持。正因如此,目前把Hadoop用来对特定的、高价值的数据进行解决,构建数据仓库的模式,获得了较多的胜利;而用来落实数据湖理念的模式,遭逢了一系列的失败。这里,总结一些典型的数据湖失败的起因: 数据沼泽:当越来越多的数据接入到数据湖中,然而却没有无效的办法跟踪这些数据,数据沼泽就产生了。在这种失败中,人们把所有货色都放在HDFS中,冀望当前能够挖掘些什么,可没多久他们就忘那里有什么。数据泥团:各种各样的新数据接入进数据湖中,它们的组织模式、品质都不一样。 因为不足用于查看,清理和重组数据的自助服务工具,使得这些数据很难发明价值。不足自助剖析工具:因为不足好用的自助剖析工具,间接对数据湖中的数据分析很艰难。个别都是数据工程师或开发人员创立一个整顿后的小局部数据集,把这些数据集交付给更宽泛的用户,以便他们应用相熟的工具进行数据分析。这限度了更宽泛的人参加到摸索大数据中,升高了数据湖的价值。不足建模的方法论和工具:在数据湖中,仿佛每一项工作都得从头开始,因为以前的我的项目产生的数据简直没有方法重用。 其实,咱们骂数据仓库很难变动以适应新需要,这其中有个起因就是它花很多工夫来对数据进行建模,而正是有了这些建模,使得数据能够共享和重用。数据湖也须要为数据建模,不然每次分析师都得从头开始。短少数据安全治理:通常的想法是每个人都能够拜访所有数据,但这是行不通的。企业对本人的数据是有爱护本能的,最终肯定是须要数据安全治理的。一个数据湖搞定所有:大家都对能在一个库中存储所有数据的想法很兴奋。然而,数据湖之外总会有新的存储库,很难把他们全都毁灭掉。 其实,大多数公司所需的,是能够对多种存储库联结拜访性能。是不是在一个中央存储,并不是那么重要。六、数据湖与数据仓库的区别数据仓库,精确说,是面向历史数据积淀和剖析应用的,有三大特点: 其一是集成性,因为数据起源泛滥,因此须要技术和标准来对立存储形式;其二是非易失和随工夫变动,数据仓库存储了过来每一天的快照且通常不更新,使用者能够在任一天向前或者向后比照数据的变动;其三是面向主题,依据业务对数据进行无效的编码,让实践最佳值在利用中落地。数据湖,精确说,其出发点是补全数据仓库实时处理能力、交互式剖析能力等新技术缺失的状况。其最重要的特点,就是丰盛的计算引擎:批处理、流式、交互式、机器学习,该有的,包罗万象,企业须要什么,就用什么。数据湖也有三个特色: 其一是灵活性,默认业务的不确定性是常态的,在无奈预期将来变动时,技术设施根底,就要具备“按需”贴合业务的能力;其二是管理性,数据湖须要保留原始信息和解决后的信息,在数据源、数据格式、数据周期等维度上,可能追溯数据的接入、存储、剖析和应用等流动过程;其三是多态性,自身的引擎须要进可能的丰盛,因为业务场景不固定,而多态的引擎反对、扩大能力,可能较好的适应业务的疾速变动。七、为什么要做数据湖?区别在于?数据湖和数仓,就是原始数据和数仓模型的区别。因为数仓(广义)中的表,次要是事实表-维度表,次要用于BI、出报表,和原始数据是不一样的。 为什么要强调数据湖呢? 真正的起因在于,data science和machine learning进入支流了,须要用原始数据做剖析,而数仓的维度模型则通常用于聚合。 另一方面,机器学习用到的数据,也不止于结构化数据。用户的评论、图像这些非结构化数据,也都能够利用到机器学习中。 但数据湖背地其实还有更大的区别: 传统数仓的工作形式是集中式的:业务人员给需要到数据团队,数据团队依据要求加工、开发成维度表,供业务团队通过BI报表工具查问。数据湖是凋谢、自助式的(self-service):凋谢数据给所有人应用,数据团队更多是提供工具、环境供各业务团队应用(不过集中式的维度表建设还是须要的),业务团队进行开发、剖析。也就是组织架构和分工的差异 —— 传统企业的数据团队可能被当做IT,终日要求提数,而在新型的互联网/科技团队,数据团队负责提供简略易用的工具,业务部门间接进行数据的应用。 八、数据湖挑战从传统集中式的数仓转为开放式的数据湖,并不简略,会碰到许多问题 数据发现:如何帮忙用户发现数据、理解有哪些数据?数据安全:如果治理数据的权限和平安?因为一些数据是敏感的、或者不应间接凋谢给所有人的(比方电话号码、地址等)数据管理:多个团队应用数据,如何共享数据成绩(比方画像、特色、指标),防止反复开发这也是目前各大互联网公司都在改良的方向! 九、湖仓一体2020年,大数据DataBricks公司首次提出了湖仓一体(Data Lakehouse)概念,心愿将数据湖和数据仓库技术合而为一,此概念一出各路云厂商纷纷跟进。 ...

March 31, 2022 · 2 min · jiezi

关于数据湖:字节跳动基于-Apache-Hudi-的多流拼接实践方案

字节跳动数据湖团队在实时数仓构建宽表的业务场景中,摸索实际出的一种基于 Hudi Payload 的合并机制提出的全新解决方案。作者:字节跳动数据湖团队字节跳动数据湖团队在实时数仓构建宽表的业务场景中,摸索实际出的一种基于 Hudi Payload 的合并机制提出的全新解决方案。 该计划在存储层提供对多流数据的关联能力,旨在解决实时场景下多流 JOIN 遇到的一系列问题。接下来,本文会具体介绍多流拼接计划的背景以及实践经验。 业务面临的挑战字节跳动存在较多业务场景须要基于具备雷同主键的多个数据源实时构建一个大宽表,数据源个别包含 Kafka 中的指标数据,以及 KV 数据库中的维度数据。 业务侧通常会基于实时计算引擎在流上做多个数据源的 JOIN 产出这个宽表,但这种解决方案在实践中面临较多挑战,次要可分为以下两种状况: 维表 JOIN场景挑战:指标数据与维度数据进行关联,其中维度数据量比拟大,指标数据 QPS 比拟高,导致数据可能会产出提早。以后计划:将局部维度数据缓存起起来,缓解高 QPS 下拜访维度数据存储引擎产生的工作背压问题。存在问题:因为业务方的维度数据和指标数据时间差比拟大,所以指标数据流无奈设置正当的 TTL;而且存在 Cache 中维度数据没有及时更新,导致上游数据不精确的问题。多流 JOIN场景挑战:多个指标数据进行关联,不同指标数据可能会呈现时间差比拟大的异常情况。以后计划:应用基于窗口的 JOIN,并且维持一个比拟大的状态。存在问题:维持大的状态不仅会给内存带来的肯定的压力,同时 Checkpoint 和 Restore 的工夫会变 得更长,可能会导致工作背压. 剖析与对策总结上述场景遇到的挑战,次要可归结为以下两点: 因为多流之间时间差比拟大,须要维持大状态,同时 TTL 不好设置。因为对维度数据做了 Cache,维度数据数据更新不及时,导致上游数据不精确。针对这些问题,并联合业务场景对数据提早有肯定容忍,但对数据准确性要求比拟高的背景,咱们在一直的实际中摸索出了基于 Hudi Payload 机制的多流拼接计划: 多流数据齐全在存储层进行拼接,与计算引擎无关,因而不须要保留状态及其 TTL 的设置。维度数据和指标数据作为不同的流独立更新,更新过程中不须要做多流数据合并,上游读取时再 Merge 多流数据,因而不须要缓存维度数据,同时能够在执行 Compact 时进行 Merge,减速上游查问。此外,多流拼接计划还反对: 内置通用模板,反对数据去重等通用接口,同时可满足用户定制化数据处理需要。反对离线场景和流批混合场景。计划介绍基本概念首先简略介绍下本计划依赖 Hudi 的一些外围概念: Hudi MetaStore这是一个中心化的数据湖元数据管理系统。它基于 Timeline 乐观锁实现并发写管制,能够反对列级别的抵触查看。这在 Hudi 多流拼接计划中可能实现并发写入至关重要,更多细节可参考字节跳动数据湖团队向社区奉献的 RFC-36。 MergeOnRead 表读写逻辑MergeOnRead 表外面的文件蕴含两种, LogFile (行存) 和 BaseFile (列存),实用于实时高频更新场景,更新数据会间接写入 LogFile 中,读时再进行合并。为了缩小读放大的问题,会定期合并 LogFile 到 BaseFile 中,此过程叫 Compact。 ...

March 30, 2022 · 2 min · jiezi

关于数据湖:Apache-hudi-源码分析-zorder-布局优化

本篇文章意在通过某个性能逐渐相熟 hudi 整体架构上的实现,不会探讨算法的实现细节 hudi 新人,有问题欢送斧正 spark : version, 3.1.2 hudi : branch, master Time: 2022/02/06 第一版 目标:通过扭转数据布局的形式,缩小 data scan 的数据量。 举个简略的栗子: 一张 text 表,蕴含 id,name 两个字段有两个数据文件 a.parquet 和 b.parquet a.parquet 数据 2,zs、1,ls、4,wu, 3,tsb.parquet 数据 1,ls、2,zs、4,wu 5,ts这时候咱们须要对 id = 2 做过滤数量统计,须要扫描 a.parquet 和 b.parquet 两个文件对数据进行排序并进行 Min/Max 索引记录后 a.parquet 数据 1,ls、1,ls、2,zs、2,zs Min-id:1 | Max-id:2b.parquet 数据 3,ts、4,wu、4,wu、5,ts Min-id:3 | Max-id:5这时候咱们须要对 id = 2 做过滤数量统计,只须要扫描 a.parquet 一个文件查问阶段入口类,DefaultSource,createRelation办法 创立 Relationtype 条件: hoodie.datasource.query.type 为 read_optimized 时,hoodie.table.type 为 cow 或者 morhoodie.datasource.query.type 为 snapshot 时,hoodie.table.type 为 cow满足下面的条件后,会创立 HadoopFsRelation。其中,须要创立 HoodieFileIndex 并初始化,在初始化 HoodieFileIndex 的时候,会调用 refresh0() 构建须要查问的 fileSice,如果是分区表,仍然会读取 list 所有分区目录下的文件门路以及相干信息,缓存在 cachedAllInputFileSlices ...

February 6, 2022 · 9 min · jiezi

关于数据湖:从消息到数据湖看-Apache-RocketMQHudiKyuubi-最新进展

上海的开发者小伙伴们,12 月 18 号,Apache RocketMQ & Apache Hudi & Apache Kyuubi (Incubating)三社区 Meetup 来了,打造最强音讯传输、实时计算、数据入湖一体化解决方案专场。 本场流动聚焦 Apache RocketMQ 及 Hudi,Kyuubi 数据湖联合,帮忙开发者能更好地应答业务挑战。流动将邀请喜马拉雅、安全证券、网易、阿里云的泛滥技术专家,独特为大家分享 Apache RocketMQ with hudi & Kyuubi 实际与利用。 相干我的项目介绍Apache RocketMQApache RocketMQ 是由阿里巴巴开源的音讯产品,历经多年双十一流量洪峰严苛考验,具备低提早、高性能、高可靠性、万亿级容量和灵便的可扩展性。目前,寰球超过上万家企业都在应用 Apache RocketMQ,不仅包含字节、快手、小米、滴滴、同城艺龙等来自互联网的头部企业,也包含来自于头部银行、券商、保险,基金等一系列要求极为严苛的金融公司。 Apache RocketMQ 通过过来几年的倒退,曾经成为微服务畛域业务音讯的首选,随同着云原生时代的到来以及实时计算的衰亡, 生于云、长于云的 Apache RocketMQ 5.0 应运而生,全新降级为云原生音讯、事件、流交融解决平台,帮忙用户更容易地构建下一代事件驱动和流解决利用。 Github 地址:https://github.com/apache/roc... Apache HudiApache Hudi 是 Apache 软件基金会顶级我的项目,是新一代的流式数据湖平台,反对数据插入、更新、删除和增量数据处理;可助力构建高效的企业级数据湖。 GitHub 地址:http://github.com/apache/hudi Apache Kyuubi(Incubating)Apache Kyuubi (Incubating)是一个 Thrift JDBC/ODBC 服务,目前对接了 Apache Spark 计算框架,反对多租户和分布式等个性,能够满足企业内诸如 ETL、BI 报表等多种大数据场景的利用。Kyuubi 能够为企业级数据湖摸索提供标准化的接口,赋予用户调动整个数据湖生态的数据的能力,使得用户可能像解决一般数据一样解决大数据。我的项目已于 2021 年 6 月 21 号正式进入 Apache 孵化器。从社区以后阶段的倒退指标来看,它的次要方向是依靠自身的架构设计,围绕各类支流计算框架,打造一个面向 Serverless SQL on Lakehouse 的服务。Apache Kyuubi (Incubating)是一个 Thrift JDBC/ODBC 服务,目前对接了 Apache Spark 计算框架,反对多租户和分布式等个性,能够满足企业内诸如 ETL、BI 报表等多种大数据场景的利用。Kyuubi 能够为企业级数据湖摸索提供标准化的接口,赋予用户调动整个数据湖生态的数据的能力,使得用户可能像解决一般数据一样解决大数据。我的项目已于 2021 年 6 月 21 号正式进入 Apache 孵化器。从社区以后阶段的倒退指标来看,它的次要方向是依靠自身的架构设计,围绕各类支流计算框架,打造一个面向 Serverless SQL on Lakehouse 的服务。 ...

November 17, 2021 · 1 min · jiezi

关于数据湖:在腾讯云-EMR-上使用-GooseFS-加速大数据计算服务

GooseFS 是腾讯云对象存储团队最新推出的高性能、高可用以及可弹性伸缩的分布式缓存零碎,依附对象存储(Cloud Object Storage,COS)作为数据湖存储底座的老本劣势,为数据湖生态中的计算利用提供对立的数据湖入口,可减速基于腾讯云对象存储的各类海量数据分析以及机器学习等工作。本文将介绍如何在腾讯云 EMR 上应用 GooseFS 减速大数据计算工作。GooseFS 是腾讯云对象存储团队近期面向下一代云原生数据湖场景推出的存储减速利器,提供与 HDFS 对标的 Hadoop Compatible FileSystem 接口实现,可为云上的大数据计算工作提供: 高牢靠、可弹性伸缩的分布式读写缓存服务;内存级的数据本地化(Data Locality)拜访性能;基于 Namespace 粒度的读写缓存策略以及 Hive Table 级别预热;与 HDFS 统一的 Ranger 鉴权机制;对象存储 AZ 级别的减速拜访与高 QPS 的元数据拜访能力;以及疾速部署和开箱即用等个性。 本文将基于腾讯云 EMR 介绍如何疾速部署 GooseFS 用于减速云上大数据分析工作。 减速腾讯云 EMR 大数据计算工作为了在腾讯云 EMR 中应用 GooseFS 减速大数据计算工作,可参考官网文档腾讯云 EMR 环境中部署和配置GooseFS(https://cloud.tencent.com/doc...),即可开启 GooseFS 的缓存减速能力。下文将以数据仓库业务以及迭代计算场景展现 GooseFS 的减速拜访能力。 减速基于Hive、Spark SQL 和Presto数据仓库查问业务很多大数据客户的数据仓库类业务具备显著的冷热周期特色,例如:某大数据客户每天会定时基于数仓生成日报报表,Hive 表的分区是日期维度。 GooseFS 集成了 Hive Table 的元数据管理能力,并且提供了 Hive table & partition 粒度的数据预热个性,用户能够通过配置工作流工作来每天在闲时预热加载 table & partition 以升高峰值查问的带宽耗费,而后在数据拜访高峰期提供内存级的缓存减速能力。 在热表或分区变冷当前,应用 Free 命令将其从缓存中开释掉。 ...

August 26, 2021 · 2 min · jiezi

关于数据湖:OPPO数据湖统一存储技术实践

导读OPPO是一家智能终端制作公司,有着数亿的终端用户,每天产生了大量文本、图片、音视频等非结构化数据。在保障数据连通性、实时性以及数据安全治理要求的前提下,如何低成本、高效率地充沛开掘数据价值,成为了领有海量数据的公司的一大难题。目前业界的风行解决方案是数据湖,本文介绍的OPPO自研的数据湖存储CBFS在很大水平上可解决目前的痛点。 ▌数据湖简述数据湖定义:一种集中化的存储仓库,它将数据按其原始的数据格式存储,通常是二进制blob或者文件。一个数据湖通常是一个繁多的数据集,包含原始数据以及转化后的数据(报表,可视化,高级剖析和机器学习等) 1. 数据湖存储的价值 比照传统的Hadoop架构,数据湖有以下几个长处: 高度灵便:数据的读取、写入和加工都很不便,可保留所有的原始数据多重剖析:反对包含批、流计算,交互式查问,机器学习等多种负载低成本:存储计算资源独立扩大;采纳对象存储,冷热拆散,老本更低易治理:欠缺的用户治理鉴权,合规和审计,数据“存管用”全程可追溯2. OPPO数据湖整体解决方案OPPO次要从三个维度建设数据湖:最底层的湖存储,咱们采纳的是CBFS,它是一种同时反对S3、HDFS、POSIX文件3种接入协定的低成本存储;两头一层是实时数据存储格局,咱们采纳了iceberg;最上层可反对各种不同的计算引擎 3. OPPO数据湖架构特点晚期大数据存储特点是流计算和批计算的存储放在不同的零碎中,降级后的架构对立了的元数据管理,批、流计算一体化;同时提供对立的交互查问,接口更敌对,秒级响应,并发度高,同时反对数据源Upsert变更操作;底层采纳大规模低成本的对象存储作为对立的数据底座,反对多引擎数据共享,晋升数据复用能力 4. 数据湖存储CBFS架构咱们的指标是建设可反对EB级数据的数据湖存储,解决数据分析在老本,性能和体验的挑战,整个数据湖存储分成六个子系统: 协定接入层:反对多种不同的协定(S3、HDFS、Posix文件),可做到数据用其中一种协定写入,用另外两种协定也可间接读到元数据层:对外出现文件系统的档次命名空间和对象的扁平命名空间,整个元数据是分布式的,反对分片,线性可扩大元数据缓存层:用来治理元数据缓存,提供元数据拜访减速能力资源管理层: 图中的Master节点,负责了物理资源(数据节点,元数据节点)以及逻辑资源(卷/桶,数据分片,元数据分片)的治理多正本层:反对追加写和随机写,对大对象和小对象都比拟敌对。该子系统一个作用是作为长久化的多正本存储;另一个作用是数据缓存层,反对弹性正本,减速数据湖拜访,后续再开展。纠删码存储层:能显著升高存储老本,同时反对多可用区部署,反对不同的纠删码模型,轻松反对EB级存储规模接下来,会重点分享下CBFS用到的关键技术,包含高性能的元数据管理、纠删码存储、以及湖减速▌CBFS关键技术1. 元数据管理文件系统提供的是档次命名空间视图,整个文件系统的逻辑目录树分成多层,如右图所示,每个元数据节点(MetaNode)蕴含成千盈百的元数据分片(MetaPartition),每个分片由InodeTree(BTree)和DentryTree(BTree)组成,每个dentry代表一个目录项,dentry由parentId和name组成。在DentryTree中,以PartentId和name组成索引,进行存储和检索;在InodeTree中,则以inode id进行索引。应用multiRaft协定保障高可用性和数据一致性复制, 且每个节点汇合会蕴含大量的分片组,每个分片组对应一个raft group;每个分片组隶属于某个volume;每个分片组都是某个volume的一段元数据范畴(一段inode id ); 元数据子系统通过决裂来实现动静扩容;当一分片组资源(性能、容量)紧接邻近值时,资源管理器服务会预估一个完结点,并告诉此组节点设施,只服务到此点之前的数据,同时也会新选出一组节点,并动静退出到以后业务零碎中。单个目录反对百万级别容量,元数据全内存化,保障优良的读写性能,内存元数据分片通过snapshot形式长久化到磁盘以作备份及复原应用。而对象存储提供的是扁平命名空间;以拜访objectkey为/bucket/a/b/c的对象为例,从根目录开始,通过”/”分隔符层层解析,找到最初一层目录(/bucket/a/b)的Dentry,最初找到的/bucket/a/b/c对于的Inode,此过程波及屡次节点间交互,档次越深,性能较差;因而咱们引入PathCache模块用于减速ObjectKey解析,简略做法是在PathCache中对ObjectKey的父目录(/bucket/a/b)的Dentry做缓存;分析线上集群咱们发现,目录均匀大小约为100,假如存储集群规模在千亿级别,目录条目也才10亿个,单机缓存效率很高,同时可通过多个节点不同来晋升读性能;在同时反对”扁平”和”档次”命名空间治理的设计,与业界其余零碎相比,CBFS实现得更简洁,更高效,无需任何转换即可轻松实现一份数据,多种协定拜访互通,且不存在数据一致性问题。 2. 纠删码存储升高存储老本的关键技术之一是纠删码(Erasure Code, 简称EC),简略介绍一下纠删码原理:将k份原始数据,通过编码计算失去新的m份数据,当k+m份数据失落任意的不多于m份时,通过解码可还原出原始数据(原理有点像磁盘raid); 相比传统的多正本存储, EC的数据冗余度更低,但数据耐久性(durability)更高;其实现也有多种不同形式,少数基于异或运算或者Reed-Solomon(RS)编码,咱们的CBFS也采纳了RS编码计算步骤:1、编码矩阵,下面n行是单位阵I,下方m行是编码矩阵;k+m个数据块组成的向量,蕴含原始的数据块和m个校验块2、当某块失落时:从矩阵B删除该块对应的行,失去新的矩阵 B’,而后右边乘上B‘的逆矩阵,即可复原失落的块,具体计算过程大家可线下浏览相干材料一般的RS编码存在一些问题:以上图为例,假如X1~X6 ,Y1~Y6为数据块,P1和P2为校验块,若其中任意一块失落,须要读其余12个块能力修复数据,磁盘IO损耗大,数据修复所需带宽高,在多AZ部署时,问题尤为显著;微软提出的LRC编码,通过引入部分校验块来解决该问题,如图所示,在原来全局校验块P1和P2的根底上,新增2个部分校验块PX和PY,假如X1损坏,只需读取与其关联X1~X6共6个块即可修复数据。统计表明,在数据中心,一个条带在肯定工夫内单块盘故障的概率是98%,2个盘同时损坏的概率是1%,因而LRC在大多数场景可大幅晋升数据修复效率,但毛病是其非最大间隔可分编码,无奈做到像全局RS编码那样损失任意m份数据能把所有的丢修复回来。 EC类型1、离线EC:整个条带k个数据单元都写满后,整体计算生成m校验块2、在线EC:收到数据后同步拆分并实时计算校验块后,同时写入k个数据块和m个校验块 CBFS跨AZ多模式在线ECCBFS反对了跨AZ多模式条带的在线EC存储,针对不同的机房条件(1/2/3AZ)、不同大小的对象、不同的服务可用性和数据耐久性需要,零碎可灵便配置不同的编码模式以图中“1AZ-RS”模式为例,6个数据块加3个校验块单AZ部署; 2AZ-RS模式,采纳了6个数据块加10个校验块2AZ部署,数据冗余度为16/6=2.67;3AZ-LRC模式,采纳6个数据块,6个全局校验块加3个部分校验块模式;同一个集群内同时反对不同的编码模式。 在线EC存储架构蕴含几个模块Access: 数据拜访接入层,同时提供EC编解码能力CM:集群管理层,治理节点,磁盘,卷等资源,同时负责迁徙,修复,平衡,巡检工作,同一个集群反对不同EC编码模式并存Allocator:负责卷空间调配EC-Node:单机存储引擎,负责数据的理论存储 纠删码写1、流式收取数据2、对数据切片生成多个数据块,同时计算校验块3、申请存储卷4、并发向各个存储节点散发数据块或校验块数据写入采纳简略的NRW协定,保障最小写入份数即可,这样在常态化的节点及网络故障时,申请也不会阻塞,保障可用性;数据的接管、切分、校验块编码采取异步流水线形式,也保障高吞吐和低时延。 纠删码读数据读取也采取了NRW模型,以k=m=2编码模式举例,只有正确读到2个块(不论是数据块还是校验块), 即可疾速RS解码计算失去原始数据并;此外为晋升可用性和升高时延,Access会优先读邻近或低负载的存储节点EC-Node能够看到,在线EC联合NRW协定为确保了数据的强一致性,同时提供保障高吞吐和低时延,很适宜大数据业务模型。 3. 数据湖拜访减速数据湖架构带来显著的收益之一是老本节约,但存算拆散架构也会遇到带宽瓶颈和性能挑战,因而咱们也提供了一系列拜访减速技术:首先是多级缓存能力:1、第一级缓存:本地缓存,其与计算节点同机部署,反对元数据和数据缓存,反对内存、PMem、NVme、HDD不同类型介质,特点是拜访时延低,但容量少2、第二级缓存:分布式缓存,正本数目弹性可变,提供地位感知能力,反对用户/桶/对象级的被动预热和被动缓存,数据淘汰策略也可配置多级缓存策略在咱们的机器学习训练场景有不错的减速成果另外存储数据层还反对了谓语下推操作,可显著缩小存储与计算节点间大量的数据流动,升高资源开销并晋升计算性能;数据湖减速有还很多粗疏的工作,咱们也在继续欠缺的过程中 ▌将来瞻望目前CBFS-2.x版本已开源,反对在线EC、湖减速、多协定接入等要害个性的3.0版本预计将于2021年10月开源;后续CBFS会减少存量HDFS集群间接挂载(免数据搬迁),冷热数据智能分层等个性,以便反对大数据及AI原架构下存量数据平滑入湖。 作者简介:Xiaochun OPPO存储架构师 更多精彩内容,欢送关注[OPPO数智技术]公众号

August 17, 2021 · 1 min · jiezi

关于数据湖:GooseFS助力大数据业务数倍提升计算能力

前言GooseFS是由腾讯云推出的一款分布式缓存计划,次要针对包含须要缓存减速的数据湖业务场景,提供基于对象存储COS服务的近计算端数据减速层。 GooseFS 基于开源大数据缓存计划 Alluxio 进行设计和研发。相较于开源计划,GooseFS 提供了更多要害个性,稳定性和性能优化;同时深度交融了腾讯云生态,对接了腾讯云TKE、EMR等计算服务,为用户提供开箱即用的能力。 缓存减速和数据本地化GooseFS提供的重要能力之一。 GooseFS 能够与计算节点混合部署进步数据本地性,利用高速缓存性能解决存储性能问题,进步读写对象存储 COS 文件的效率。GooseFS 能够提供近计算端的分布式共享缓存,下层计算利用能够通明地、高效地从远端存储将须要频繁拜访的热数据缓存到近计算端,减速数据 I/O 性能。GooseFS 提供了感知元数据 Table 的能力,可能减速大数据场景下列出文件列表( List ),重命名文件( Rename )等元数据操作的性能。此外,业务能够按需抉择HDD, SSD,NVME SSD 等不同的存储介质,均衡业务老本和数据拜访性能。本文介绍了GooseFS读写元数据时的体现,并与HDFS进行比照;同时也测试了在混合读写状况下GooseFS在性能体现上的稳定性。 01 测试体现咱们应用NNBench进行测试。NNBench是HDFS官网自带的用于测试NameNode性能的工具。因为它应用的是规范的FileSystem接口,因而能够应用它来测试GooseFS服务端的性能。在测试计划上,咱们在GooseFS和 HDFS 上创立雷同的数据集,察看TPS值,比照GooseFS性能体现状况。 咱们应用了1台EMR标准型S2机器(CPU:8核,内存:32GB,高效云盘:100G x 1)作为GooseFS集群的Master节点,3台EMR标准型S5机器(CPU:16核,内存:64GB,高效云盘:100G x 5)作为Worker节点,同时将GooseFS集群缓存策略设置为wPolicy=MUST_CACHE,rPolicy=CACHE。 1. Write测试 大数据场景中须要频繁创立文件,咱们首先比拟了写入文件的性能,因为本次测试次要目标是验证元数据性能体现,因而文件大小抉择了0字节。测试后果如下所示: 能够看到,在集群的环境配置,maps等都雷同的状况下: (1)GooseFS在加载元数据的比hdfs性能至多晋升20%。 (2)数据量减少的时候GooseFS解决数据等性能晋升更显著。 这个次要是因为GooseFS采纳文件粒度锁,能够并发创立文件。而HDFS是全局锁,相当于程序做创立操作。因而写申请QPS减少的时候,GooseFS性能晋升更显著。 2. List测试 Write测试次要测试高并发下元数据服务单点写入、单点查问的性能。然而,文件列表导出(ls/ls -R)操作、文件大小统计(du/count)操作也是用户应用频率较高的操作,这些命令的执行工夫,反馈了元数据服务遍历操作的执行效率。在测试计划上,为了保障HDFS和GooseFS测试数据的一致性,咱们采纳雷同的数据集,执行雷同的操作,测试GooseFS和HDFS元数据服务遍历操作的执行效率。 数据集分两个场景: (1)多层级数据:50w数据,目录层级4层。 (2)单层级数据:单个目录下10w文件。 相干测试后果体现如下: 能够看到,GooseFS减速数据I/O性能。提供了感知元数据的能力,可能减速大数据场景下列出文件列表List等元数据操作的性能。尤其在多层级的数据中性能减速更加显著。 3、SliveTest测试 SliveTest位于hadoop的test包中,代码构造清晰,其次要性能是通过大量map制作多种rpc申请,检测Namenode的性能。咱们能够设定map数量,每个map发动的rpc申请次数,每一种rpc操作占总操作的百分比,以及读写数据量、block size等配置。测试master混合拜访状况下各类申请的qps。 在测试计划上,设置RPC申请(读:60%,写:40%)模仿混合拜访下,HDFS和GooseFS解决数据的性能。咱们将RPC设置为:append 10% create 10% delete 10% mkdir 5% rename 5% read 30% ls 30%。 ...

August 10, 2021 · 1 min · jiezi

关于数据湖:DLF-DDI-一站式数据湖构建与分析最佳实践

简介: 本文由阿里云数据湖构建 DLF 团队和 Databricks 数据洞察团队联结撰写,旨在帮忙您更深刻地理解阿里云数据湖构建(DLF)+Databricks 数据洞察(DDI)构建一站式云上数据入湖。 作者 陈鑫伟(熙康),阿里云 计算平台事业部 技术专家 冯加亮(加亮),阿里云 计算平台事业部 技术研发 背景随着数据时代的一直倒退,数据量爆发式增长,数据模式也变的更加多样。传统数据仓库模式的老本高、响应慢、格局少等问题日益凸显。于是领有老本更低、数据模式更丰盛、剖析计算更灵便的数据湖应运而生。 数据湖作为一个集中化的数据存储仓库,反对的数据类型具备多样性,包含结构化、半结构化以及非结构化的数据,数据起源上蕴含数据库数据、binglog 增量数据、日志数据以及已有数仓上的存量数据等。数据湖可能将这些不同起源、不同格局的数据集中存储管理在高性价比的存储如 OSS 等对象存储中,并对外提供对立的数据目录,反对多种计算剖析形式,无效解决了企业中面临的数据孤岛问题,同时大大降低了企业存储和应用数据的老本。 数据湖架构及关键技术企业级数据湖架构如下: 数据湖存储与格局数据湖存储次要以云上对象存储作为次要介质,其具备低成本、高稳定性、高可扩展性等长处。 数据湖上咱们能够采纳反对 ACID 的数据湖存储格局,如 Delta Lake、Hudi、Iceberg。这些数据湖格局有本人的数据 meta 治理能力,可能反对 Update、Delete 等操作,以批流一体的形式解决了大数据场景下数据实时更新的问题。在以后计划中,咱们次要介绍Delta Lake的外围能力和利用场景。 Delta Lake 的外围能力Delta Lake 是一个对立的数据管理系统,为云上数据湖带来数据可靠性和疾速剖析。Delta Lake 运行在现有数据湖之上,并且与 Apache Spark 的 API 齐全兼容。应用Delta Lake,您能够放慢高质量数据导入数据湖的速度,团队也能够在云服务上疾速应用这些数据,平安且可扩大。 ACID 事务性:Delta Lake 在多个写操作之间提供 ACID 事务性。每一次写操作都是一个事务操作,事务日志(Transaction Log)中记录的写操作都有一个程序序列。事务日志(Transaction Log)跟踪了文件级别的写操作,并应用了乐观锁进行并发管制,这十分实用于数据湖,因为尝试批改雷同文件的屡次写操作的状况并不常常产生。当发生冲突时,Delta Lake 会抛出一个并发批改异样,抛给供用户解决并重试其作业。Delta Lake 还提供了最高级别的隔离(可序列化隔离),容许工程师一直地向目录或表写入数据,而使用者一直地从同一目录或表读取数据,读取数据时会看到数据的最新快照。Schema 治理(Schema management):Delta Lake 会主动验证正在写入的DataFrame 的 Schema 是否与表的 Schema 兼容。若表中存在但 DataFrame 中不存在的列则会被设置为 null。如果 DataFrame 中有额定的列不在表中,那么该操作将会抛出异样。Delta Lake 具备 DDL(数据定义语言)显式增加新列的性能,并且可能自动更新 Schema。可伸缩的元数据(Metadata)解决:Delta Lake 将表或目录的元数据信息存储在事务日志(Transaction Log)中,而不是元数据 Metastore 中。这使得 Delta Lake够在固定工夫内列出大目录中的文件,并且在读取数据时效率很高。数据版本控制和工夫旅行(Time Travel):Delta Lake 容许用户读取表或目录的历史版本快照。当文件在写入过程中被批改时,Delta Lake 会创立文件的新的版本并保留旧版本。当用户想要读取表或目录的较旧版本时,他们能够向 Apach Spark的 read API 提供工夫戳或版本号,Delta Lake 依据事务日志(Transaction Log)中的信息来构建该工夫戳或版本的残缺快照。这十分不便用户来复现试验和报告,如果须要,还能够将表还原为旧版本。对立批流一体:除了批处理写入之外,Delta Lake 还能够作为 Apache Spark 的结构化流的高效流接收器(Streaming Sink)。与 ACID 事务和可伸缩元数据处理相结合,高效的流接收器(Streaming Sink)反对大量近实时的剖析用例,而无需保护简单的流和批处理管道。记录更新和删除:Delta Lake 将反对合并、更新和删除的 DML(数据管理语言)命令。这使得工程师能够轻松地在数据湖中插入和删除记录,并简化他们的变更数据捕捉和 GDPR(个别数据保护条例)用例。因为 Delta Lake 在文件级粒度上进行跟踪和批改数据,因而它比读取和笼罩整个分区或表要高效得多。数据湖构建与治理1. 数据入湖企业的原始数据存在于多种数据库或存储系统,如关系数据库 MySQL、日志零碎SLS、NoSQL 存储 HBase、音讯数据库 Kafka 等。其中大部分的在线存储都面向在线事务型业务,并不适宜在线剖析的场景,所以须要将数据以无侵入的形式同步至老本更低且更适宜计算剖析的对象存储。 ...

August 5, 2021 · 4 min · jiezi

关于数据湖:数据湖加速器GooseFS加速湖上数据分析性能

数据湖加速器 GooseFS 是由腾讯云推出的高性能、高可用、弹性的分布式缓存计划。依附对象存储(Cloud Object Storage,COS)作为数据湖存储底座的老本劣势,为数据湖生态中的计算利用提供对立的数据湖入口,减速海量数据分析、机器学习、人工智能等业务拜访存储的性能。 GooseFS 采纳了分布式集群架构,具备弹性、高牢靠、高可用等个性,为下层计算利用提供对立的命名空间和拜访协定,不便用户在不同的存储系统之间治理和流转数据。 零、产品背景近些年来以对象存储作为对立数据湖存储的趋势越来越显著。对象存储具备低成本、高牢靠、弹性等个性,因而很适宜信息爆炸时代海量数据的存储,越来越多的企业将大数据存储从 HDFS 迁徙到对象存储中,采纳对象存储或者对象存储+HDFS混合存储架构实现企业级冷热数据分层计划。但在数据湖计划下,企业依然面对以下问题: 性能问题:大数据场景中,Map 和 Reduce环节均须要频繁对文件进行List 和 Rename 操作;但对象存储的扁平式架构设计导致在这些操作上人造具备性能瓶颈。此外,数据跨机房存储会进一步减少数据湖架构下的申请提早,而近年来流批一体的利用越来越宽泛和深刻,大数据业务对实时性要求越来越高,因而须要尽可能让热数据更凑近计算端,以便晋升业务性能。 老本问题:对于离线大数据业务而言,往往须要尽可能疾速地拉取大量反复的数据到计算集群中进行剖析,在数据湖的存算拆散架构下,会对存储带宽有很大的压力。这种模式下峰值带宽高,均匀带宽小,容易产生大量的资源节约和老本耗费。因而将热数据缓存到计算节点,缩小带宽耗费可能升高业务老本。 运维问题:相当多的业务采纳 HDFS 和 对象存储等不同存储服务构建混合存储架构,在这种业务模型下须要保护多种不同的存储接口,减少了运维的复杂度。因而,如果有一套存储服务可能对接不同的后端存储系统,为下层计算业务提供统一的拜访视图,将能极大地缩小业务开发的难度,晋升存储服务应用效率。 一、产品性能GooseFS 旨在提供一站式的缓存解决方案,在利用数据本地性和高速缓存,对立存储拜访语义等方面具备人造的劣势;GooseFS 在腾讯云数据湖生态中扮演着“上承计算,下启存储”的外围角色,如下图所示。 GooseFS 基于开源大数据缓存计划 Alluxio 进行设计和研发,相较于开源计划,GooseFS 提供了更多要害个性,稳定性和性能优化;同时深度交融了腾讯云生态,对接了腾讯云TKE、EMR等计算服务,为用户提供开箱即用的能力。 次要性能如下:缓存减速和数据本地化:GooseFS 能够与计算节点混合部署进步数据本地性,利用高速缓存性能解决存储性能问题,进步读写对象存储 COS 文件的效率。 交融存储语义:GooseFS 下层对立的接口协议,反对对接对象存储COS,云上HDFS和私有化存储CSP,并且针对腾讯云COS,CHDFS,CSP等产品做了非凡优化,实用于多种生态和利用场景。 对立的腾讯云相干生态服务:包含腾讯云监控、日志和鉴权的反对。GooseFS 曾经顺利对接腾讯云 EMR,腾讯云 TKE 和腾讯云 EKS 等;同时反对对接腾讯云监控,腾讯云日志服务 CLS 和腾讯云 ES,Prometheus和 Grafana 等服务。 元数据管理性能:GooseFS 反对依照 Hive Table 或者 Table partition 级别将存储在COS或者CHDFS 上的数据异步缓存到本地节点;反对依照 Namespace 配置不同元数据管理计划。 二、产品劣势GooseFS 在数据湖场景中具备如下几点显著的劣势: 1.数据 I/O 性能 GooseFS 部署提供近计算端的分布式共享缓存,下层计算利用能够通明地、高效地从远端存储将须要频繁拜访的热数据缓存到近计算端,减速数据 I/O 性能。 ...

July 16, 2021 · 1 min · jiezi

关于数据湖:数据湖构建DLF数据探索快速入门淘宝用户行为分析

简介本教程通过使⽤数据湖构建(DLF)产品对于淘宝⽤户⾏为样例数据的剖析,介绍DLF产品的数据发现和数据摸索性能。教程内容包含:1. 服务开明:开明阿⾥云账号及DLF/OSS相干服务2. 样例数据集下载和导⼊:下载样例数据(csv⽂件),并上传⾄OSS3. DLF数据发现:使⽤DLF⾃动辨认⽂件Schema并创立元数据表4. DLF数据摸索:使⽤DLF数据摸索,对⽤户⾏为进⾏剖析,包含⽤户活跃度、漏⽃模型等 数据阐明本次测试的数据集来⾃阿⾥云天池⽐赛中使⽤的淘宝⽤户⾏为数据集,为了提⾼性能,咱们做了⼀定的裁剪。数据集中以csv的格局存储了⽤户⾏为及商品样例数据。数据范畴:2014年12⽉1⽇ - 2014年12⽉7⽇数据格式: 开明DLF和OSS服务(如已开明,间接跳转⾄第⼆步)1.1 登录阿⾥云账号,点击进⼊DLF控制台⻚⾯。 1.2 开明DLF及其依赖OSS服务,并实现受权。(如果已开明可间接跳过) 若之前未开通过DLF服务,会提醒⽤户开明服务。点击“开明服务”,进⼊服务开明⻚⾯。开明服务后,返回DLF控制台⻚⾯。会提醒开明OSS服务,以及授予DLF拜访依赖数据源的权限。点击按 钮实现OSS开明及受权。回到DLF控制台⻚⾯,点击刷新查看状态。⻚⾯⾃动跳转⾄DLF控制台主⻚⾯。 1.3 开明实现后,进⼊DLF控制台主⻚: 在OSS中导⼊须要剖析的数据2.1 点击链接,下载样例代码⾄本地磁盘。 解压后失去⽂件夹:user_behavior_data,蕴含item和user个⽂件夹,⾥⾯别离蕴含了各⾃的csv数据⽂ 件。本次剖析次要集中在user⽂件中,数据内容如下。2.2 将⽂件上传⾄OSS 进⼊OSS控制台,上传⽂件使⽤已有的Bucket,或创立新的Bucket。 上传解压后的user_behavior_data⽂件夹。上传后⽬录构造如下所示,item和user为两个表的数据⽂件夹。 在DLF上抽取元数据3.1 创立元数据表DLF中元数据库能够了解为在关系型数据库中的Database,其下⼀级为Table。 在DLF控制台中,进⼊元数据库⻚⾯,创立元数据库。填⼊数据库名称。并抉择方才存有⽤户⾏为剖析的如下图所示,元数据库创立胜利。 3.2 发现OSS⽂件中的元数据表信息 进⼊DLF元数据抽取⻚⾯,点击“新建抽取工作”填写数据源相干配置,点击下⼀步抉择过程中须要⽤到的RAM⻆⾊,默认为开明阶段曾经受权的“AliyunDLFWorkFlowDefaultRole”。运⾏模式 抉择“⼿动执⾏”。抽取策略抉择“疾速模式”以最快的速度实现元数据发现。 核查信息后,点击“保留并⽴即执⾏”。 零碎会跳转到元数据抽取列表⻚⾯,新建的工作开始创立并⾃动运⾏。 约10秒后工作运⾏实现。约10秒后工作运⾏实现。⿏标移到状态栏的问号图标,会看到曾经胜利创立了两张元数据表。点击浮层中的“元数据库”链接,可间接查看该库中相干的表信息。 点击浮层中的“元数据库”链接,可间接查看该库中相干的表信息。 点击表详情,查看并确认抽取进去的表构造是否合乎预期。 ⾄此,咱们通过DLF⾃动发现数据湖CSV⽂件Schema的过程曾经实现。下⼀步咱们开始针对数据湖内的数 据做剖析。 ⽤户⾏为数据分析4.1 数据分析概述在DLF控制台⻚⾯,点击菜单“数据摸索”-“Spark SQL”,进⼊数据摸索页面。数据分析的过程次要分为三步: 预览并检查数据信息。简略的数据荡涤。进⾏⽤户活跃度、漏⽃模型和商品热度剖析。4.2 预览并检查数据在查问框输⼊下⾯的语句,查看⽂件中的数据信息。 -- 预览数据select * from `dlf_demo ` . ` user ` limit 10;select * from `dlf_demo ` . `item ` limit 10;-- ⽤户数 17970select COUNT(DISTINCT user_id) from `dlf_demo ` . ` user ` ;-- 商品数 422858select COUNT(DISTINCT item_id) from `dlf_demo ` . `item ` ;-- ⾏为记录数 746024select COUNT(*) from `dlf_demo ` . ` user ` ;数据内容如下: ...

June 24, 2021 · 2 min · jiezi