AntDB“超融合+流式实时数仓”——颠覆50年未变的数据库内核

流式处理引擎,颠覆50年未变的数据库内核

流式处理的概念

2001年9月11日,美国世贸大楼被袭击,美国国防部第一次将“主动预警”纳入国防的宏观战略规划。而IBM作为当时全球最大的IT公司,承担了大量基础支撑软件研发的任务。其中2009年正式发布的IBM InfoSphere Streams,就是全球最早真正意义上的商业化流数据处理引擎之一。

典型的流处理框架,如Apache Storm、Spark Streaming、Flink等也都是基于IBM的设计理念,采用“请求发送+结果返回”的模式进行了研发,并大量应用于实时互联网类型的业务中,对前方产生的海量事件进行实时预处理。

Gartner在《2022中国数据库管理系统市场指南》中,将流处理定义为:涉及对“事件”(event)的观察和触发,通常在“边缘”采集,包括将处理结果传输至其他业务阶段。并将在未来五年中,获得更多关注。

图:Gartner对于流/事件处理的定义

传统部署架构的痛点

但是,不论Apache Storm、Spark Streaming、还是Flink等流处理框架的设计,都是将目光集中在“处理”本身。由于其自身不具备数据库的能力,当需要与其他数据进行关联、临时存储等互动时,则需要进行复杂的数据抽取。这使得大量的开发人员,还需要编写复杂的Java/C++/Scala代码,用最传统的方式对记录进行一条条预处理,并且还需要经常从其他外部的缓存/数据库中实时调取额外数据进行手工关联,开发和运维的负担极大。

在亚信科技AntDB数据库发展的十几年中,我们看到大量运营商对核心数据处理加工的业务场景。这些需求中,有些能够很容易地使用传统技术满足,但还有一些一定需要采用流式计算等实时处理能力才能支持。

数据库与流式处理的有机融合

流数据处理模式与传统数据库的内核设计有着极大的区别。其核心本质在于,传统数据库架构设计中,应用与数据库之间是“请求-响应“的关系,即业务发起SQL请求,数据库随即执行请求并返回结果。

而流处理内核则是“订阅-推送“的模式。通过预先定义好的数据处理模型,对数据承载的业务“事件”进行处理,之后将处理后的结果推送给下游应用进行展现或入库。

图:AntDB数据库流式处理引擎的基础架构

因此在流式数据实时处理领域,亚信科技AntDB数据库做了大量从零开始的创新性探索与研究,于2022年底推出AntDB-S流处理数据库引擎,彻底将流式计算与传统交易、分析型数据存储进行了融合,让用户可以在数据库引擎内,通过标准SQL自由定义数据的结构以及实时处理逻辑。

同时数据在数据库内部的流对象、表对象之间自由流转的过程中,用户可以随时通过建立索引、流表关联、触发器、物化视图等方式对数据进行性能优化、数据加工、集群监控、以及业务逻辑定制。

功能优势

  • 技术堆栈简化:在实时流事件的处理上,AntDB数据库流式处理一体引擎将大量的实时数据处理做到数仓内部,更进一步向通用事务靠拢。

  • 标准SQL定义:传统流处理方式对于SQL的处理很弱,还要写大量业务代码,而AntDB-S可以通过统一SQL语句进行处理,在流的使用上更便捷。

  • 统一数据接口:支持流批模式的转换,AntDB数据库统一超融架构,实现了对外的接口统一,数据的采集与处理无需分开,流批都用SQL即可全部搞定。

  • 支持完整事务处理:传统流处理过程中不支持数据的修改,AntDB-S支持流处理中对数据的修改和事务操作。

  • 实时结果更准确:通过分布式事务的ACID特性,解决实时流数据处理中,数据容灾和一致性的问题,可以精确判断数据故障点,完成流事件的矫正计算和重统计。

关于AntDB数据库
 

AntDB数据库始于2008年,在运营商的核心系统上,为全国24个省份的10亿多用户提供在线服务,具备高性能、弹性扩展、高可靠等产品特性,峰值每秒可处理百万笔通信核心交易,保障系统持续稳定运行近十年,并在通信、金融、交通、能源、物联网等行业成功商用落地。

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

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

相关文章

【动态规划】LeetCode2552:优化了6版的1324模式

本文涉及的基础知识点 C算法:前缀和、前缀乘积、前缀异或的原理、源码及测试用例 包括课程视频 动态规划 本题其它解法 C前缀和算法的应用:统计上升四元组 类似题解法 包括题目及代码C二分查找算法:132 模式解法一枚举3C二分查找算法&am…

java数据结构(哈希表—HashMap)含LeetCode例题讲解

目录 1、HashMap的基本方法 1.1、基础方法(增删改查) 1.2、其他方法 2、HashMap的相关例题 2.1、题目介绍 2.2、解题 2.2.1、解题思路 2.2.2、解题图解 2.3、解题代码 1、HashMap的基本方法 HashMap 是一个散列表,它存储的内容是键…

【数据库】基于排序算法的去重,集合与包的并,差,交,连接操作实现原理,执行代价以及优化

基于两趟排序的其它操作 ​专栏内容: 手写数据库toadb 本专栏主要介绍如何从零开发,开发的步骤,以及开发过程中的涉及的原理,遇到的问题等,让大家能跟上并且可以一起开发,让每个需要的人成为参与者。 本专栏…

Jmeter工具+ant+jenkins实现持续集成

jmeterantjenkins持续集成 一、下载并配置jmeter 首先下载jmeter工具,并配置好环境变量;参考: jmeter默认保存的是.jtl格式的文件,要设置一下bin/jmeter.properties,文件内容,保存jmeter.save.saveservice.output_f…

Python for循环及用法详解

for-in 循环专门用于遍历范围、列表、元素和字典等可迭代对象包含的元素。 for-in 循环的语法格式如下 for 变量 in 字符串|范围|集合等:statements 对于上面的语法格式有以下两点说明: for-in 循环中的变量的值受 for-in 循环控…

分享86个清新唯美PPT,总有一款适合您

分享86个清新唯美PPT,总有一款适合您 86个清新唯美PPT下载链接:https://pan.baidu.com/s/1QEaXeWAekCbAWDD0iTgvMw?pwd8888 提取码:8888 Python采集代码下载链接:采集代码.zip - 蓝奏云 学习知识费力气,收集整…

WEB渗透—反序列化(十)

Web渗透—反序列化 课程学习分享(课程非本人制作,仅提供学习分享) 靶场下载地址:GitHub - mcc0624/php_ser_Class: php反序列化靶场课程,基于课程制作的靶场 课程地址:PHP反序列化漏洞学习_哔哩哔_…

如何解决SSL证书部署后未生效或网站显示不安全

本文介绍SSL证书部署后未生效或网站显示不安全的排查方法。 浏览器提示“您与此网站建立的连接不安全” 浏览器提示“无法访问此页面” 浏览器提示“这可能是因为站点使用过期或者不全的TLS安全设置” 浏览器提示“此页面上部分内容不安全(例如图像)”…

数据确权怎么理解?企业应该怎么做?

什么是数据确权? 所谓数据确权,就是确定数据的权利属性,主要包含两个层面:第一是确定数据的权利主体,即谁对数据享有权利。第二是确定权利的内容,即享有什么样的权利。 在数据生产、流通、使用等过程中&…

Linux系统:使用CloudDrive实现云盘本地挂载

此处以不使用Docker服务 系统: Ubuntu22.04 硬件信息: x86_64 1 安装CloudDrive CloudDrive下载地址 在服务器上安装fusemount3 sudo apt-get -y install fuse3下载对应版本的CloudDrive压缩包,我的机器为:clouddrive-2-linux-…

【Excel】WPS快速按某列查重数据

查重值 excel列几条数据肉眼可见,如何千万级别数据查验呢?平时很少用,记录一下: 先框选列要验证的数据,然后:开始->条件格式->突出显示单元格规则->重复值 效果

java元注解

一、注解 Annotation(注解)是 Java 提供的一种对元程序中元素关联信息和元数据(metadata)的途径和方法。 Annatation(注解)是一个接口,程序可以通过反射来获取指定程序中元素的 Annotation对象,然后通过该…

[山东大学操作系统课程设计]实验2

0.写在前面 其实昨天就把这篇写完了,可是遇到了一些突发事件,暂时还没想好自己的出路在哪,争取这两天把课程设计的实验全都写完吧。。。。。我知道大家现在都很难过,生活上,学业上,事业上。。。。但是还是…

CentOS7根分区扩容之一

Centos默认根分区50G,很快接近100%,如果你的系统使用了全部磁盘,文件系统是xfs,根分区和/home都是逻辑卷,那么在没有额外的磁盘增加情况下,可以从/home卷中切分一部分空间增加到根分区空间。 1.由于xfs格式…

视频合并方法:掌握视频批量嵌套合并技巧,成为剪辑高手

在视频剪辑的过程中,我们经常需要将多个视频片段合并在一起。传统的视频合并方法往往需要大量的时间和精力,通过掌握批量嵌套合并技巧,可以更高效地完成这项任务,成为剪辑高手。本文讲解一种简单易学的视频合并方法,轻…

对于Web标准以及W3C的理解、对viewport的理解、xhtml和html有什么区别?

1、对于Web标准以及W3C的理解 Web标准 Web标准简单来说可以分为结构、表现、行为。 其中结构是由HTML各种标签组成,简单来说就是body里面写入标签是为了页面的结构。 表现指的是CSS层叠样式表,通过CSS可以让我们的页面结构标签更具美感。 行为指的是…

关于 ls -s 输出文件大小的单位问题的讨论

自己看书正好看到这里,正纳闷呢,上网查了下,发现不是我自己在为这个问题感到困惑。 有个大哥提出一个问题: 问题标题: ls -s的单位到底是什么? man ls -s, --size print the alloca…

[读论文][跑代码]BK-SDM: A Lightweight, Fast, and Cheap Version of Stable Diffusion

github: GitHub - Nota-NetsPresso/BK-SDM: A Compressed Stable Diffusion for Efficient Text-to-Image Generation [ICCV23 Demo] [ICML23 Workshop] ICML 2023 Workshop on ES-FoMo 简化方式 蒸馏方式(训练Task蒸馏outKD-FeatKD) 训练数据集 评测指标…

美丽的时钟

案例绘制一个时钟 <!DOCTYPE html> <html><head><meta charset"utf-8"><title>美丽的时钟</title><script language"javascript">window.onloadfunction(){var clockdocument.getElementById("clock"…

Unity 使用Horizontal Layout Group和Toggle制作多个水平开关按钮实现自动排列和单个点击放大后的自动排列。

Unity的布局组件Horizontal Layout Group是很好用的&#xff0c;当然也包括其它布局组件也一样好用。 比如要实现多按钮开关自动水平排列&#xff0c;那么就可以使用它了。 首先我们为按钮创建个父物体&#xff08;我这里使用了Scroll View中的Content作为父物体&#xff09;…