实时计算初期 虽然实时计算在最近几年才火起来,但是在早期也有不少公司有实时计算的需求,但数据量不成规模,所以在实时方面形成不了完整的体系,基本所有的开发都是具体问题具体分析,来一个需求做一个,基本不考虑它们之间的关系,开发形式如下: 如上图所示,拿到数据源后,会经过数据清洗,扩维,通过Flink进行业务逻辑处理,最后直接进行业务输出。把这个环节拆开来看,数据源端会重复引用相同的数据源,后面进行清洗、过滤、扩维等操作,都要重复做一遍,唯一不同的是业务的代码逻辑是不一样的。 随着产品和业务人员对实时数据需求的不断增多,这种开发模式出现的问题越来越多: 1.数据指标越来越多,“烟囱式”的开发导致代码耦合问题严重。 2.需求越来越多,有的需要明细数据,有的需要 OLAP 分析。单一的开发模式难以应付多种需求。 3.每个需求都要申请资源,导致资源成本急速膨胀,资源不能集约有效利用。 4.缺少完善的监控系统,无法在对业务产生影响之前发现并修复问题。 大家看实时数仓的发展和出现的问题,和离线数仓非常类似,后期数据量大了之后产生了各种问题,离线数仓当时是怎么解决的?离线数仓通过分层架构使数据解耦,多个业务可以共用数据,实时数仓是否也可以用分层架构呢?当然是可以的,但是细节上和离线的分层还是有一些不同,稍后会讲到。 实时数仓建设 从方法论来讲,实时和离线是非常相似的,离线数仓早期的时候也是具体问题具体分析,当数据规模涨到一定量的时候才会考虑如何治理。分层是一种非常有效的数据治理方式,所以在实时数仓如何进行管理的问题上,首先考虑的也是分层的处理逻辑。 实时数仓的架构如下图: 从上图中我们具体分析下每层的作用: 数据源:在数据源的层面,离线和实时在数据源是一致的,主要分为日志类和业务类,日志类又包括用户日志,埋点日志以及服务器日志等。 实时明细层:在明细层,为了解决重复建设的问题,要进行统一构建,利用离线数仓的模式,建设统一的基础明细数据层,按照主题进行管理,明细层的目的是给下游提供直接可用的数据,因此要对基础层进行统一的加工,比如清洗、过滤、扩维等。 汇总层:汇总层通过Flink的简洁算子直接可以算出结果,并且形成汇总指标池,所有的指标都统一在汇总层加工,所有人按照统一的规范管理建设,形成可复用的汇总结果。 我们可以看出,实时数仓和离线数仓的分层非常类似,比如 数据源层,明细层,汇总层,乃至应用层,他们命名的模式可能都是一样的。但仔细比较不难发现,两者有很多区别: 1.与离线数仓相比,实时数仓的层次更少一些: 从目前建设离线数仓的经验来看,数仓的数据明细层内容会非常丰富,处理明细数据外一般还会包含轻度汇总层的概念,另外离线数仓中应用层数据在数仓内部,但实时数仓中,app 应用层数据已经落入应用系统的存储介质中,可以把该层与数仓的表分离。 2.应用层少建设的好处: 实时处理数据的时候,每建一个层次,数据必然会产生一定的延迟。 3.汇总层少建的好处: 在汇总统计的时候,往往为了容忍一部分数据的延迟,可能会人为的制造一些延迟来保证数据的准确。举例,在统计跨天相关的订单事件中的数据时,可能会等到 00:00:05 或者 00:00:10 再统计,确保 00:00 前的数据已经全部接受到位了,再进行统计。所以,汇总层的层次太多的话,就会更大的加重人为造成的数据延迟。 4.与离线数仓相比,实时数仓的数据源存储不同: 在建设离线数仓的时候,基本整个离线数仓都是建立在 Hive 表之上。但是,在建设实时数仓的时候,同一份表,会使用不同的方式进行存储。比如常见的情况下,明细数据或者汇总数据都会存在 Kafka 里面,但是像城市、渠道等维度信息需要借助 Hbase,MySQL 或者其他 KV 存储等数据库来进行存储。 Lambda架构的实时数仓 下图是基于 Flink 和 Kafka 的 Lambda 架构的具体实践,上层是实时计算,下层是离线计算,横向是按计算引擎来分,纵向是按实时数仓来区分: Lambda架构是比较经典的架构,以前实时的场景不是很多,以离线为主,当附加了实时场景后,由于离线和实时的时效性不同,导致技术生态是不一样的。Lambda架构相当于附加了一条实时生产链路,在应用层面进行一个整合,双路生产,各自独立。这在业务应用中也是顺理成章采用的一种方式。 双路生产会存在一些问题,比如加工逻辑double,开发运维也会double,资源同样会变成两个资源链路。因为存在以上问题,所以又演进了一个Kappa架构。 Kappa架构的实时数仓 Kappa架构相当于去掉了离线计算部分的Lambda架构,具体如下图所示: Kappa架构从架构设计来讲比较简单,生产统一,一套逻辑同时生产离线和实时。但是在实际应用场景有比较大的局限性,因为实时数据的同一份表,会使用不同的方式进行存储,这就导致关联时需要跨数据源,操作数据有很大局限性,所以在业内直接用Kappa架构生产落地的案例不多见,且场景比较单一。 关于 Kappa 架构,熟悉实时数仓生产的同学,可能会有一个疑问。因为我们经常会面临业务变更,所以很多业务逻辑是需要去迭代的。之前产出的一些数据,如果口径变更了,就需要重算,甚至重刷历史数据。对于实时数仓来说,怎么去解决数据重算问题? Kappa 架构在这一块的思路是:首先要准备好一个能够存储历史数据的消息队列,比如 Kafka,并且这个消息队列是可以支持你从某个历史的节点重新开始消费的。接着需要新起一个任务,从原来比较早的一个时间节点去消费 Kafka 上的数据,然后当这个新的任务运行的进度已经能够和现在的正在跑的任务齐平的时候,你就可以把现在任务的下游切换到新的任务上面,旧的任务就可以停掉,并且原来产出的结果表也可以被删掉。 流批结合的实时数仓 随着实时 OLAP 技术的发展,目前开源的OLAP引擎在性能,易用等方面有了很大的提升,如Doris、Presto等,加上数据湖技术的迅速发展,使得流批结合的方式变得简单。 如下图是流批结合的实时数仓: 数据从日志统一采集到消息队列,再到实时数仓,作为基础数据流的建设是统一的。之后对于日志类实时特征,实时大屏类应用走实时流计算。对于Binlog类业务分析走实时OLAP批处理。 我们看到流批结合的方式与上面几种架构使用的组件发生了变化,多了数据湖 Iceberg 和 OLAP 引擎 Presto。Iceberg是介于上层计算引擎和底层存储格式之间的一个中间层,我们可以把它定义成一种“数据组织格式”,底层存储还是HDFS,Iceberg的ACID能力可以简化整个流水线的设计,降低整个流水线的延迟,并且所具有的修改、删除能力能够有效地降低开销,提升效率。Iceberg可以有效支持批处理的高吞吐数据扫描和流计算按分区粒度并发实时处理。OLAP查询引擎使用Presto,Presto是一个分布式的采用MPP架构的查询引擎,本身并不存储数据,但是可以接入多种数据源,并且支持跨数据源的级联查询。擅长对海量数据进行复杂的分析。 来源(公众号):五分钟学大数据
2024-12-26 18:31 117
日前,为促进构建行业交流平台,激发产业创新共荣,大数据技术标准推进委员会以“数据重塑价值 智能链接未来”为主题,在北京召开“2024数据资产管理大会”。会上,由中国通信标准化协会大数据技术标准推进委员会(CCSA TC601)编制的《数据治理产业图谱3.0》正式发布。 本次图谱梳理了数据治理产业发展的新现状,建立了全新的数据服务商“特征”画像,并总结了服务商的发展趋势,为各方在数据治理领域的布局规划和未来发展提供参考。其中,作为数据管理领域的践行者,凭借卓越的技术创新实力与优秀的综合表现,龙石数据荣誉入选中国信通院《数据治理产业图谱3.0》。 龙石数据是数据管理领域的影响力企业,以数据要素价值运营和第三方数据质量管理评估为核心业务,配套数据管理制度咨询服务,为客户构建咨询服务、平台建设和实施服务“三位一体”的数据要素价值运营解决方案。 此次入选,是对龙石数据实力和口碑的充分认可。展望未来,龙石数据将继续聚焦于数据管理核心领域,积极开拓数据要素流通的高效路径和数字经济的高质量发展。
2024-12-20 17:50 246
中国信息通信研究院和中国通信标准化协会大数据技术标准推进委员会(CCSA TC601)连续八年共同组织大数据“星河(Galaxy)”案例征集活动,该活动横跨电信、金融、政务、能源、制造等多个关键行业,展现了广泛的行业覆盖力与深度影响力。 第八届大数据“星河(Galaxy)”案例征集包括行业数据智能应用、数据库、数据安全、数据要素流通、数据资产管理、数据估值与入表、政务数据、以及数据智能底座等八大方向。苏州龙石信息科技有限公司携手上海青浦区大数据中心荣膺2024大数据“星河”政务数据专项—潜力案例。 案例回顾 为贯彻落实国家、上海市数据发展管理工作,青浦区为进一步夯实“一体化”数字底座,加快推进全区数据治理工作,促进公共数据共享应用,助力城市数字化转型。 在多年数据建设工作的基础上,聚焦政务数据管理过程源头质量不高、供给不及时、问题难发现、问题难修复、资源目录不规范等政务数据质量管理过程中的痛点和难点。 开展政务数据全面质量管理项目,建立政务数据质量评价指标、质量规则,建立从需求分析、发现问题、反馈问题、追溯问题、解决问题的闭环工作流程和运营体系,解决数据规范性、完整性、准确性、一致性、时效性等维度的质量问题,构建常态化的数据管理工作机,对公共数据的数量、质量以及更新情况等进行实时监测和全面评价。 通过项目实施,大数据中心以数据质量为抓手,贯彻落实了政务数据质量责任制,建立了数据状态可感知、数据问题可追溯、质量责任可落实的数据质量管理和运营体系,推动实现“一数一源”,不断提升政务数据质量和管理水平。 龙石数据作为技术支持单位,为青浦区政务数据全面质量管理提供技术咨询、产品研发和业务咨询服务。本项目针对青浦区政务数据标准化治理和质量全面管控构建了科学全面的评价体系和可落地的管理体系,具有先进性、科学性和可落地性等特点,从源头提升了政务数据质量,有效促进了政务数据的高质量供给和有效利用,为政务数据的共享开放、产品开发和数据要素流通提供了有利的支撑和保障。
2024-12-19 21:18 212
热门文章