实时数仓,为什么不可代替?

news2024/11/20 6:28:27

什么是实时数据仓库?它有哪些不可替代之处?

大数据时代中,数据仓库解决了商业智能分析过程中的数据管理问题,但是存在烟囱式、冗余高的弊端

随着商业智能的兴起和数据时代的到来,越来越多的企业开始汇总、整合和分析自身的业务大数据,从中挖掘出有价值的知识信息,支撑商业决策。

相比于早年的信息初时代,不由让人感叹一句,时代变了。大数据时代的一个显著特征就是企业会面临数据源多、结构复杂的问题,为了更好地业务大数据实现有效管理和智慧赋能,一个强有力的基础设施是必不可少的,而这个基础设施就是数据仓库 。

数据仓库的建设实际上在多年以前已经逐步成熟,企业在早期的数据仓库开发过程中,通过获取数据源,然后在此基础上完成对数据的清洗、扩维、加工,通过分析可以输出所需要的业务指标。

但是早期的数据仓库有一个显而易见的问题,那就是企业需要针对不同的业务需求,重复着“清洗-扩维-加工-分析-输出”的流程,形成了烟囱式的重复建设,高耦合、低复用的弊端非常明显。

进化到分层设计、性能稳定的离线数据仓库,这对于数据实时性要求不高的场景,是不错的技术选择 。

大量企业的数据团队开始着手对数据仓库进行架构重塑和细致规划,最大的一个手笔就是对数据进行分层。数据分层的一大特点就是将数据规整为层级存储,然后整体上自底向上的分别针对每个层次进行独立加工,最大化数据赋能 。

围绕着最初常见的非实时数据分析需求,处理效果是不错的。比如公司要求每天出一个当日用户访问的流量报表,然后将结果输出到业务数据库中供业务部门查阅,或者是支撑领导每天上午的统计决策,这一类需求基于上述数据分层架构,选择构建离线数据仓库即可完成。

新的场景和商业模式,催生出了实时计算的新需求,离线数据仓库难以满足高实时的要求

但是时代总是在飞速发展,各式各样新商业模式不断涌现,基于移动端的应用产品持续井喷,用户对于快速响应、商家对于快速分析的需求也是越来越强烈,大家都希望更快、更即时地得到想要的结果。一句话,需求变了:不光要能,而且要快。

因此,目前的大数据应用的“实时”性特征就非常明显,比如需要扩展现有olap分析工具支持实时数据分析,在实时数据看板上实时播报核心数据;能够实时计算实时特征,进行精准运营,并且在核心业务指标上能够做到实时监控、预警。此时萌生出的“实时计算”的共性需求,基于传统的离线数据仓库是捉襟见肘,难以很好满足的。

与实时计算的应用需求相匹配的实时数据仓库,其技术特征和系统架构需要被重构

在当前的业务场景中,数据的价值是动态变化的,更准确地说是数据的价值随着时间的推移而逐渐减少,所以业界在传统大数据离线数据仓库的基础上,对数据的实时性提出了明确的更高要求,这就诞生了实时数据仓库这一新生事物。

比如,我们就以上面的用户访问案例来描述,实时数据处理就要求能够实时统计每秒用户访问的流量报表,并且能够及时将结果输出到业务数据库,并支持历史数据回看。那么提炼一下,“流式计算”、“高时效性”以及“无界处理”,这三条就是当下应对大量涌现的实时计算业务场景所必备的能力,也就是实时数据仓库的设计目标。

那么,既然要求达到实时效果,离线数据仓库的架构就得需要得到进化和重构,业界的做法是将原来经典的Spark替换成了Flink计算引擎。在技术实现方面,目前业内常用的实时数仓架构主要分为两种:Lambda架构和Kappa架构。二者的技术特点也比较鲜明,互有长短,都称得上是主流选择。

需求牵引技术,技术创造需求。实时数据仓库的诞生,让实时智能分析成为可能,进一步推动了商业的发展

实际上,业务需求和新技术总是相伴相生的,一方面实时计算的新需求牵引了实时数据仓库的落地和发展,而另一方面,实时数仓的不断完善,又让实时智能分析成为可能,进一步孵化出了更多的商业智能应用。

离线数据仓库无法满足的新需求,终究是靠新技术手段给解决了。

比如说,目前技术界非常时髦的实时机器学习技术。传统静态的机器学习依赖于静态的模型和历史数据进行训练并提供预测。但是当下的很多应用场景中,许多时候用户的短期行为对模型就具有修正作用,或者说是对业务判断有预测作用。因此,如果能即时地采集用户最近的行为并进行特征工程和机器学习,那么就能够对应用的性能提升和实时修正起到更好的作用,这就是目前实时机器学习技术的大的应用背景。

再比方说前文里面提到了两个新应用,实时智能推荐和实时风控。也很值得细细咀嚼这里面的门道:智能推荐,以往是依据用户历史的购买和浏览行为作出推荐即可,但是显然实时性不佳。而现在基于移动APP客户端的推荐功能需要越来越满足用户实时性的要求,要即时性的依据当前用户的浏览行为,修正和提供推荐结果,抓住用户当下“最想要的”,有针对性地引导用户迅速做出消费购买决策,促成交易的达成。

这个新需求对时延的要求必然非常苛刻,这要求对用户行为指标进行实时计算,对模型进行实时更新,对用户指标进行实时预测。技术要求高,自然回报也是显著的,能够创造更大的商业价值。

实时风控也是类似,他对应金融领域的业务场景,很多时候要求毫秒内就完成对欺诈行为判断指标的计算,然后实时对交易流水进行实时拦截,避免因为处理不及时而导致的经济损失,很显然,处理得越快,风控的大坝就筑得越牢,“快字当头”,需要的一样也是实时数据处理进行技术支撑。

新的大数据商业时代,新的实时数据应用需求,无不提醒着我们的用户和企业,是时候对数据仓库做出更优的改变了。

亚马逊云科技,以最全面的功能组件,为业界提供敏捷,高效,低成本的实时数仓构建能力

当然,有了搭建实时数仓的念想,没有技术上的金刚钻还是不行。那么当下,如果一个行业企业想快速搭建实时数据仓库,有没有成熟完善的技术方案进行依托呢?亚马逊云科技的全套技术产品和解决方案是一个不错的选择。亚马逊提供了云上实时数仓搭建最全面的功能组件,让用户可以敏捷,高效,低成本地构建自己的实时数仓,可以说为业界提供了实时数仓构建能力。

这里我们一起来看看亚马逊的产品Amazon Redshift。redshift实时数据仓库覆盖了商业界实时数据分析的主流应用场景,比如我们常见的业务运营与商业智能,数据分享与协同,查询、报表与数据分析,机器学习与分析预测这些典型场景,可以切中绝大部分需求。

那么在功能性能上,Amazon Redshift 和 其他数据仓库产品相比,有哪些独到的特异之处?

它能够帮助企业实现简单易用的数据分析

采用了全新的“无服务器架构”的设计理念,它让用户在分析任何规模的数据时,无需管理数据仓库基础设施。具体地说,就是用户只需要加载和查询数据,并且只需为使用的内容付费。这使更多的公司能够制定现代数据策略,尤其适用于分析工作负载不全天候运行且数据仓库并非一直处于活动状态的使用案例,也适用于组织内数据使用量不断扩大、新部门的用户希望在不拥有数据仓库基础设施的情况下运行分析的公司。

这样做有诸多好处,通过自动扩展资源,无需用户管理数据仓库集群,使得用户体验得以简化;同时智能动态计算能够自动调配和扩展数据仓库容量,提供一致快速的用户体验;另一方面提供与用户的数据湖和其他数据源的无缝集成,性能出色,速度比任何其他云数据仓库快三倍,具有自动维护功能,存储和计算分离,将成本最高降低75%,这个性价比相信不是一般用户所能轻易忽略的。

能够帮助我们分析所有的数据

Amazon Redshift对不同数据来源的普适性较好,可以针对操作性数据库完成实时数据查询;与第三方数据的数据市场进行良好的数据共享;可以连接商业智能类的数据应用,实现对大数据的实时分析和可视化;同时可以同Amazon S3数据湖进行功能整合,完成数据湖的导出,并基于开放标准数据格式进行分析。

能够实现多业务节点的完美数据共享

REDSHIFT DATA SHARING通过将读写分离在不同集群,将访问共享数据的工作负载彼此隔离,保证数据一致性,提升整体系统性能。这样能够在实际的工程部署当中享受到实实在在的好处,比方说用户可以即时、细粒度、高性能的完成数据访问,无需数据拷贝/移动,在多数据消费者模式下,能够让所有人实时且一致的更新数据视图,实现安全受管理的协作。

多类型的实时数据仓库架构模板,广泛对接企业主流的数据分析需求

秉持方便企业用户快速搭建实时数据仓库的初心,亚马逊瞄准不同需求,基于和围绕Redshift构建多类型实时数据仓库架构,相当于预制了多类型常用的“菜单”、“模板”,能够相当广泛的对接企业用户的主流数据分析需求,促进企业用户快速形成属于自己的实时数据处理能力。

比如,为支持APP埋点数据实时采集与分析类应用所构造的实时数据仓库架构,他特别针对实时数据摄入、高并发实时查询等典型功能进行针对性优化设计,将易于使用和结构灵活的特点释放得淋漓尽致。

还有,基于kafka+flink架构并进行适配性改进,支撑实时报表的应用需求。可以实时按照不同维度进行汇总计算,依照指定形式(例如:按收入/请求次数/投标次数/成功和失败的拍卖次数/总座位数或汇总特定时间段(天或周,甚至数月)的TOP名单,每5分钟向Redshift实时表导入800万条数据,并且完成秒级的实时表历史数据定期删除或定期重建。

这种架构实际上适配非常多的应用场景,比方说常见的视频社交风控系统,他由风控引擎和报表两部分组成,主要是金融相关的风险控制,包括充值,消费,打赏,退款等。

风控引擎包含用户行为记录和风控规则引擎,主要为信用卡用户的充值退款行为提供风控决策。风控报表包含趋势图表和排名图标,显示规则的命中率,拦截率,TOP命中等信息。风控引擎就是使用用户行为数据进行实时查询,而报表的数据来源于Redshift,每天新增3000万条记录,保存3个月数据刷新间隔为1分钟,很好地适应了现在视频类APP的服务监管需求。

另外,为了应对产品建议、欺诈预防以及客户流失等应用场景中的实时智能需求,亚马逊专门设计了Amazon Redshift ML 架构为用户提供支撑。简单点说就是可以使用AMAZON SageMaker的SQL查询轻松创建和训练ML模型,并且覆盖了有监督训练和无监督训练,可以完成模型的自动预处理、创建、训练,并在Amazon Redshift中本地部署推理模型,同时支持将SageMaker模型用于数据库内或远程推理。

未来,实时数据仓库将帮助更多企业实现数据与智慧的赋能

由此看来,高效实时大数据业务处理需求推动着数据仓库的架构设计和处理思想又向前进步,迈入了新的阶段,对于越来越多有上述需求的大数据公司,深入了解实时数据仓库的产品与技术是非常必要,选择一个好的产品架构,迅速地与自身的特有业务相结合,自身业务的数据与智慧赋能,也会快速地上升一个新台阶。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ArcGIS基础实验操作100例--实验62点、线、面状符号

本实验专栏参考自汤国安教授《地理信息系统基础实验操作100例》一书 实验平台:ArcGIS 10.6 实验数据:请访问实验1(传送门) 高级编辑篇--实验62 点、线、面状符号 目录 一、实验背景 二、实验数据 三、实验步骤 (1&…

C/C++中二级指针传递参数【个人遇到内存值发生改变现象的记录及相关修正方法】

目录 0、前言 1、二级指针传参奇怪现象 2、分析 3、解决方法 0、前言 在c/c中,时常会使用到主调函数通过参数去获取被调函数中的数值情况。针对这种情况,我前面也写过C/C主调函数从被调函数中获取(各种类型)数据内容方式的梳理…

【ONE·R || 两次作业(一):R基础数据处理】

总言 两次作业汇报&#xff1a;其一。    文章目录总言1、作业一&#xff1a;1.1 、任务一&#xff1a;各项数据建立1.2 、任务二&#xff1a;去除缺失值1.3 、任务三&#xff1a;返回性别为女生&#xff0c;年龄<20的学生及成绩1.4、 任务四&#xff1a;统计性别为女生&a…

【Python百日进阶-数据分析】Day149 - plotly直方图:go.histogram()

文章目录4.2 利用 go.Histogram 的直方图4.2.1 基本直方图4.2.2 归一化直方图4.2.3 水平直方图4.2.4 叠加直方图4.2.5 堆叠直方图4.2.6 风格直方图4.2.7 直方图条形文本4.2.8 累积直方图4.2.9 指定聚合函数4.2.10 自定义分箱4.2.11 在直方图之间共享 bin4.2.12 按类别顺序排序直…

深度学习(一)-环境安装

前言&#xff1a; 最近电脑重装了下系统&#xff0c;然后所有环境啥的都得重新配置一遍&#xff0c;刚好趁着这个时间记录下整个环境的配置过程 注意&#xff1a;本文记录的仅为window系统的配置过程! 一、Anaconda安装及相关配置 Anaconda下载地址&#xff0c;根据需要选择需…

TypeScript 中 Class incorrectly implements interface 错误

当一个类在没有指定接口上定义的所有属性和方法的情况下实现接口时&#xff0c;会发生错误“Class incorrectly implements interface”。 要解决该错误&#xff0c;需要确保定义并键入接口的所有必需属性和方法。 下面是产生上述错误的示例代码 interface Employee {id: num…

Linux学习记录——유 gcc/g++基础知识

文章目录一、程序翻译二、gcc使用1、-o2、预处理-E3、编译-S4、汇编-c5、链接三、库四、库的部分实际操作五、Linux项目自动化构建工具 make/Makefile1、规则一、程序翻译 C语言中&#xff0c;写出代码后&#xff0c;编译器会经过四个阶段才会生成可执行文件。 预处理&#x…

计算数组中元素的加权平均值 numpy.average()

【小白从小学Python、C、Java】【计算机等级考试500强双证书】【Python-数据分析】计算数组中元素的加权平均值numpy.average()[太阳]选择题对于以下python代码最后输出的结果是?import numpy as npa np.array([1, 2, 3, 4])print("【显示】a")print(a)print("…

如何进行Java 单元测试

什么是单元测试 维基百科中是这样描述的&#xff1a;在计算机编程中&#xff0c;单元测试又称为模块测试&#xff0c;是针对程序模块来进行正确性检验的测试工作。程序单元是应用的最小可测试部件。在过程化编程中&#xff0c;一个单元就是单个程序、函数、过程等&#xff1b;…

架构师课程笔记day04——Nginx

大纲 1.从单体到集群过渡 2.Nginx 2.1什么是nginx 2.2常见服务器 2.3nginx在架构中所处位置 2.4使用率&#xff0c;性能&#xff0c;市场占有率等信息 2.5正反向代理啥意思 正向代理 反向代理 示例 2.6安装步骤 Nginx安装步骤 常用命令等 2.7请求链路 2.8进程模型 通用模型 …

JS面向对象基础(原型链、构造函数、new关键字、寄生组合继承、对象元编程)

这篇文章将简单介绍面向对象的基本概念&#xff0c;以及JS语言是如何支持面向对象这种编程范式的&#xff0c;最后还会讲解一些对象元编程的基础知识。通过阅读这篇文章&#xff0c;你可以了解JS中的原型链机制&#xff0c;new和构造函数的原理、寄生组合继承的实现以及对象元编…

李群李代数学习笔记

前言 因为论文学习的需要&#xff0c;入门了一下李群和李代数&#xff0c;觉得B站的这个视频讲得不错&#xff1a;视频地址为机器人学——李群、李代数快速入门&#xff0c;这里记录一下。 前言引入&#xff1a;一些常见的例子S1S^1S1&#xff1a;单位复数SO(2)SO(2)SO(2)&…

ArcGIS基础实验操作100例--实验64创建统计图符号

本实验专栏参考自汤国安教授《地理信息系统基础实验操作100例》一书 实验平台&#xff1a;ArcGIS 10.6 实验数据&#xff1a;请访问实验1&#xff08;传送门&#xff09; 高级编辑篇--实验64 创建统计图符号 目录 一、实验背景 二、实验数据 三、实验步骤 &#xff08;1&am…

24考研数学复习方法、全年规划

文章目录各个阶段推荐的辅导书和习题1.教材基础&#xff1a;22年9月-23年3月复习“三基”2.强化阶段&#xff1a;23年4月-23年8月3.真题阶段&#xff1a;23年9月-10月4.冲刺模拟阶段&#xff1a;23年11-12月各个阶段推荐的辅导书和习题 阶段(时间)辅导教材习题册1.基础阶段(1-…

Vue初识系列【2】内容升级版

文章目录一 模板语法1.1 文本1.2 原始THTML1.3 属性Attribute1.4 JavaScript表达式的使用二 条件渲染2.1 v−if&v−elsev-if\&v-elsev−if&v−else2.2 v−showv-showv−show2.3 v−ifv-ifv−if与v−showv-showv−show的区别三 列表渲染3.1 v−forv-forv−for列表渲…

OpenSceneGraph几何基础教程【OSG】

默认情况下&#xff0c;OSG 使用顶点数组法和显示列表法来渲染几何体。 但是&#xff0c;渲染策略可能会发生变化&#xff0c;具体取决于几何数据的呈现方式。 在本文中&#xff0c;我们将了解在 OSG 中处理几何体的基本技术。 OpenSceneGraph 后端的 OpenGL 使用几何图元&…

Typora 图床教程(阿里云版)

由于码云现在需要登录才能看到相关图片文件后&#xff0c;导致我们已经不能愉快的使用它作为图床了&#xff0c;所以我们需要使用其他工具来作为图床使用了&#xff0c;本文使用阿里云OSS作为Typora的图床。 阿里云OSS相较于其他几个方法来说最大的优点就是稳定了&#xff0c;…

《图机器学习》-Machine Learning for Graphs

Machine Learning for Graphs一、Application of Graph ML一、Application of Graph ML 图机器学习的任务可以分为四个类型&#xff1a; NodelevelNode\ levelNode level(结点级别)EdgelevelEdge\ levelEdge level(边级别)Community(subgraph)levelCommunity(subgraph)\ level…

【rpm】源码包制作rpm包|修改rpm、重新制作rpm包

目录 前言 安装rpmbuild rpmbuild制作rpm 包 同时生成devel包 修改rpm、重新制作rpm包 RPM 打包 工具 SPEC文件 rpmbuild的目录和Spec宏变量和参数说明 preamble部分 Body 部分 标题宏变量/工作目录 spec文件信息 符号说明 CMake制作rpm包 HelloWorld 更多SPEC…

微信小程序开发——小程序的宿主环境—组件

一.小程序的宿主环境—组件1.小程序中组件的分类小程序中的组件也是由宿主环境提供的&#xff0c;开发者可以基于组件快速搭建出漂亮的页面结构。官方把小程序的组件分为了9大类&#xff0c;分别是&#xff1a;1.视图容器 2.基础内容 3.表单组件 4.导航组件5.媒体组件 6.map 地…