从零到一建设数据中台 - 关键技术汇总

一、数据中台关键技术汇总

语言框架JavaMavenSpring Boot

数据分布式采集FlumeSqoopkettle

数据分布式存储Hadoop HDFS

离线批处理计算MapReduceSparkFlink

实时流式计算Storm/Spark StreamingFlink

批处理消息队列Kafka

查询分析HbaseHiveClickHousePresto

搜索引擎Elasticsearch

数据库MySQLRedisMongoDBOraclePostgreSQLMariaDBSQL Server达梦

数据挖掘、机器学习Spark MLLibTensorFlowNLP(AI大模型)

二、OLAT与OLTP

OLAP(联机分析处理):

全称为 Online Analytical Processing,它强调对大量历史数据的分析与处理。OLAP系统通常用来查询多维数据库,以便观察数据的多个维度之间的关系,并进行复杂的计算和汇总。

它的主要功能包括查询、分析、预测、数据挖掘等,为用户提供灵活的数据分析和快速决策支持。

OLTP(联机事务处理):

全称为 Online Transaction Processing,它强调对数据的实时处理。

OLTP系统通常用于处理企业的日常交易数据,例如订单处理、库存管理、银行交易等。它的主要功能是支持事务和实时数据处理,为用户提供高效的交易处理服务。

二者区别:

(1)功能区别OLAP聚焦于数据分析和预测,为使用者提供数据挖掘和多维分析等功能,通过复杂的计算和统计分析来发现数据背后的规律。而 OLTP 更注重交易数据的实时处理,支持并发的事务处理和数据插入、更新、删除等操作。

(2)数据处理区别OLAP通常处理大规模的历史数据,它需要快速的数据查询和复杂的统计计算,以满足用户对数据多维分析的需求。OLTP则处理实时的事务数据,它需要高效的事务处理和快速的数据录入,以保证日常交易的正常运行。

(3)数据结构区别OLAP采用多维数据库结构,通过维度、度量、层次等数据元素来组织和管理数据,以便进行复杂的查询和分析。而OLTP通常采用关系数据库结构,通过表和关系来存储和管理交易数据,以支持事务的正确处理。

(4)应用场景区别OLAP 适用于需要进行复杂数据分析和决策的场景,例如市场营销分析、销售业绩分析、客户关系管理等。而 OLTP 适用于需要进行实时数据处理和高并发事务处理的场景,例如在线交易管理、订单处理、支付结算等。

三、数据湖三剑客

Hudi:

过分布式文件系统(HDFS或者云存储)来摄取(Ingests)、管理(Manages)大型分析型数据集,Hudi 是一种针对分析型业务的、扫描优化的数据存储抽象,它能够使HDFS数据集在分钟级的时延内支持变更,也支持下游系统对这个数据集的增量处理。

Hudi是在大数据存储上的一个数据集,可以将 Change Logs 通过 upsert 的方式合并进 Hudi

Hudi 对上可以暴露成一个普通的 HiveSpark 的表,通过 API 或命令行可以获取到增量修改的信息,继续供下游消费;

Hudi 还保管了修改历史,支持回滚;

Hudi 内部有主键到文件级的索引,默认是记录到文件的布隆过滤器,高级的有存储到 HBase 索引提供更高的效率。

Delta Lake:

流批一体的Data Lake存储层,支持 update/delete/merge

在数据写入方面,DeltaSpark 是强绑定的;在查询方面,开源 Delta 目前支持 SparkPresto,但是,Spark 是不可或缺的,因为 delta log 的处理需要用到 Spark

Iceberg:

是一种可伸缩的表存储格式,内置了许多最佳实践。

允许我们在一个文件里面修改或者过滤数据;当然多个文件也支持这些操作。

在查询方面,Iceberg 支持 SparkPresto,提供了建表的 API,用户可以使用该 API 指定表名、schemapartition 信息等,然后在 Hive catalog 中完成建表。

四、开源技术探索

Apache Doris:

是一个现代化的基于MPP(大规模并行处理)技术的分析型数据库产品。

简单来说,MPP是将任务并行的分散到多个服务器和节点上,在每个节点上计算完成后,将各自部分的结果汇总在一起得到最终的结果(与Hadoop相似)。

仅需亚秒级响应时间即可获得查询结果,有效地支持实时数据分析。

Apache Doris可以满足多种数据分析需求,例如固定历史报表,实时数据分析,交互式数据分析和探索式数据分析等。

Open Metadata:

使用端到端元数据管理解决方案释放数据资产的价值,该解决方案包括数据发现、治理、数据质量、可观察性和人员协作。

Apache Atlas:

Apache Hadoop的数据和元数据治理的框架,是为解决Hadoop生态系统的元数据治理问题而产生的开源项目。

它为Hadoop集群提供了包括数据分类、集中策略引擎、数据血缘、安全和生命周期管理在内的元数据治理核心登能力。

完结

九位数之极,本合集到现在已经到达第九篇,虽然还有很多内容想说,但是整体的架构脉络已基本上描述完毕。

接下来计划再出几篇番外,对其中的某些要点进行单项解析、功能 UI 赏析、物联网与中台、以及实际应用案例等内容。

大家也可以提提建议,对哪些板块比较感兴趣,将会优先考虑这些板块进行单项解析。

– 欢迎点赞、关注、转发、收藏【我码玄黄】,gonghao同名

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/338092.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

(CPU/GPU)粒子继承贴图颜色发射

GetRandomInfo节点(复制贴进scratch pad Scripts) Begin Object Class/Script/NiagaraEditor.NiagaraClipboardContent Name"NiagaraClipboardContent_22" ExportPath/Script/NiagaraEditor.NiagaraClipboardContent"/Engine/Transient.NiagaraClipboardConten…

安装软件缺少dll文件怎么办,分享多种解决dll问题的方法

在计算机使用过程中,我们经常会遇到安装软件时提示缺少dll文件的问题。这种情况通常会导致软件无法正常运行或启动。为了解决这个问题,我总结了以下五种方法,希望对大家有所帮助。 一,了解DLL文件是什么 动态链接库(D…

连通块中点的数量-java

本次我们通过连通块中点的数量来加深我们对并查集的基本操作和原理,并且知道如何在并查集中添加附属信息。 目录 前言☀ 一、连通块中点的数量☀ 二、算法思路☀ 1.无向图🌙 2.在a b之间连一条边,a b可能相等🌙 3.询问a和b是否在一…

Java | Leetcode Java题解之第122题买卖股票的最佳时机II

题目&#xff1a; 题解&#xff1a; class Solution {public int maxProfit(int[] prices) {int ans 0;int n prices.length;for (int i 1; i < n; i) {ans Math.max(0, prices[i] - prices[i - 1]);}return ans;} }

一维时间序列信号的小波模极大值分解与重建(matlab R2018A)

数学上称无限次可导函数是光滑的或没有奇异性&#xff0c;若函数在某处有间断或某阶导数不连续&#xff0c;则称函数在此处有奇异性&#xff0c;该点就是奇异点。奇异性反映了信号的不规则程度&#xff0c;因为信号的奇异点和突变部分往往携带者重要信息&#xff0c;因此信号的…

传感器和变送器的区别介绍

从它的名称来看&#xff0c;传与感二字。传是指传输&#xff0c;感是指感知。实际上是先有感知&#xff0c;其次转换&#xff0c;最后传输。因此传输是目的&#xff0c;转换是手段&#xff0c;感知是基础。把能够将被测变量&#xff08;温度、压力、液位、流量&#xff09;感知…

Go-Admin后台管理系统源码(GO+VUE)编译与部署

1.克隆源码: # Get backend code git clone https://github.com/go-admin-team/go-admin.git# Get the front-end code git clone https://github.com/go-admin-team/go-admin-ui.git3.下载并安装GO开发环境: 3.编译管理后台后端 # Enter the go-admin backend project cd ./…

数据结构——经典链表OJ(二)

乐观学习&#xff0c;乐观生活&#xff0c;才能不断前进啊&#xff01;&#xff01;&#xff01; 我的主页&#xff1a;optimistic_chen 我的专栏&#xff1a;c语言 点击主页&#xff1a;optimistic_chen和专栏&#xff1a;c语言&#xff0c; 创作不易&#xff0c;大佬们点赞鼓…

Rasa.3X中使用lookup实现对实体的抽取

rasa3.6的DIETClassifier实体提取器不准确&#xff0c;使用RegexEntityExtractor的实体提取器替换。在实战过程解决以下两个问题&#xff1a; 1、RegexEntityExtractor实体提取器的应用 首先在domain.yml中明确对应的实体以及意图&#xff1a; version: "3.0" ent…

认识JAVA中的异常

目录&#xff1a; 一. 异常概念与体系结构 二. 异常的处理 三. 自定义异常类 一. 异常概念与体系结构: 1 异常的概念:在 Java 中&#xff0c;将程序执行过程中发生的 不正常行为 称为异常&#xff0c; 如&#xff1a;算数异常&#xff1a; ArithmeticException System.out.pri…

Dijkstra求最短路篇一(全网最详细讲解两种方法,适合小白)(python,其他语言也适用)

前言&#xff1a; Dijkstra算法博客讲解分为两篇讲解&#xff0c;这两篇博客对所有有难点的问题都会讲解&#xff0c;小白也能很好理解。看完这两篇博客后保证收获满满。 本篇博客讲解朴素Dijkstra算法&#xff0c;第二篇博客讲解堆优化Dijkstra算法Dijkstra求最短路篇二(全网…

Day45 动态规划part05

LC1049最后一块石头重量II(未掌握) 未掌握分析&#xff1a;其实本题跟LC416分割等和子集类似&#xff0c;本质上题目的要求是尽量让石头分成重量相同的两堆&#xff0c;相撞之后剩下的石头最小&#xff0c;也就是01背包问题weight和value都是stones数组&#xff0c;题目可以看…

卷积神经网络-奥特曼识别

数据集 四种奥特曼图片_数据集-飞桨AI Studio星河社区 (baidu.com) 中间的隐藏层 已经使用参数的空间 Conv2D卷积层 ReLU激活层 MaxPool2D最大池化层 AdaptiveAvgPool2D自适应的平均池化 Linear全链接层 Dropout放置过拟合&#xff0c;随机丢弃神经元 -----------------…

调用上传文件接口出现格式错误

一、造成这种错误的可能有很多 1.检查一下传递格式 2.检查一下接口要求的格式 二、举个例子 这两个有什么区别&#xff1f; 那就是json、和form-data&#xff0c;一定要看仔细接口 如果还是按照json的方式去传就会报错 三、更改header里Content-Type的类型 json等的heade…

【YOLOv5/v7改进系列】引入ODConv——即插即用的卷积块

一、导言 提出了一种称为全维度动态卷积(ODConv)的新颖设计&#xff0c;旨在克服当前动态卷积方法的局限性并提升卷积神经网络(CNN)的性能。以下是该论文提出的全维度动态卷积设计的优点和存在的缺点分析&#xff1a; 优点&#xff1a; 增强特征学习能力&#xff1a; ODConv通…

Qt QScript 之 C++/JavaScript相互调用

文章目录 Qt Script什么是ECMAScriptQt 中JavaScriptclass 详解Basic UsageQObject对脚本引擎可用使用信号槽connect 三种模式访问属性, 子对象使c++对象可用于用Qt Script编写的脚本C++ 类成员函数可用于脚本C++ 类属性可用于脚本对脚本中的c++对象信号的反应函数对象和本机函…

DASK==python并行计算

文档10 Minutes to Dask — Dask documentation demo代码 import numpy as np import pandas as pd import dask.dataframe as dd import dask# 设置调度器为多线程 dask.config.set(schedulerthreads) # 创建一个示例的Pandas DataFrame index pd.date_range("2021-09…

nginx优化

1.前端history模式404问题&#xff1a; location / {try_files $uri $uri/ /index.html; }这段代码的作用是&#xff0c;当用户刷新页面时&#xff0c;Nginx会先检查当前URL是否存在&#xff0c;如果不存在&#xff0c;就会尝试访问index.html&#xff0c;从而可以正常显示页面…

面试二十七、 CAS和Atomic

CAS锁机制&#xff08;无锁、自旋锁、乐观锁、轻量级锁&#xff09;-CSDN博客 1. ABA问题 在C中&#xff0c;可以使用std::atomic和版本号来解决ABA问题。C标准库没有直接提供类似Java的AtomicStampedReference&#xff0c;但可以通过将版本号和指针组合在一起实现类似的效果。…

PWN-栈迁移

栈迁移 题目&#xff1a;BUUCTF在线评测 (buuoj.cn) 知识点&#xff1a;栈迁移 使用情况&#xff1a;题目中有栈溢出&#xff0c;但是 栈溢出的范围 有限&#xff0c;导致构造的ROP链不能完全写入到栈中&#xff0c;此时需要进行栈迁移&#xff0c;将栈迁移到能接受更多数据的…