Timeplus-proton流处理器调研

概念

在这里插入图片描述

Timeplus是一个流处理器。它提供强大的端到端功能,利用开源流引擎Proton来帮助数据团队快速直观地处理流数据和历史数据,可供各种规模和行业的组织使用。它使数据工程师和平台工程师能够使用 SQL 释放流数据价值。

Timeplus 控制台可以轻松连接到不同的数据源(例如 Apache Kafka、Confluence Cloud、Redpanda、NATS、Web Socket/SSE、CSV 文件上传等)、通过 SQL 查询探索流模式、发送实时见解和向其他系统或个人发出警报,并创建仪表板和可视化。

  • 关于Timeplus 与 proton的关系
    Proton是Timeplus开源的核心系统。 Timeplus Cloud是云端的Proton,支持多租户,外加 Web UI,dashboard, alert,血缘图,和一些Proton不支持的数据源(通过额外组建)。
    对于 On-prem(私有化)部署,官方提供了Timeplus Enterprise,功能和 Timeplus Cloud 相似。

  • Timeplus 与Clickhouse的关系
    Timeplus的Proton就是基于ClickHouse开发的或者说内置ClickHouse(就是一个 proton 进程),去掉一些不需要的ClickHouse 的功能和函数,加入流计算能力和一个流存储。
    event数据先进入这个 streaming storage,实现small batch write,然后再自动转批写到 OLAP 存储。
    必须明确的是Timeplus的Proton与现有Clickhouse集群没关系,timeplus需要依赖自己内部Proton(改造的clickhouse)提供计算能力,而不能依赖现有的clickhouse提供的计算能力,但支持读写远程的clickhouse集群。

  • Timeplus两种运行方式

    1. 最简单就是 All In One,用 Timeplus 自己做历史存储,也做流存储,自己做流计算,也自己做历史计算
    2. 当你有数据在 ClickHouse 时,也可以把 Timeplus 当 Flink等流处理框架用,从 Kafka 读数据,写到远程的 ClickHouse
  • Timeplus语法
    Timeplus的SQL语法类似Clickhouse语法,支持ClickHouse协议,加上自己的一些tumble/hop/session方法在Flink等流程处理常见的函数。

  • 消息触发机制
    Timeplus的触发机制是micro-batch,而不是per event trigger,但可以做到毫秒级。
    如果是 global aggregation 默认是2秒发一次聚合数据,这个用户可以自定义,最大可以支持到微秒。
    Timeplus的触发策略还是比较全的,也是一大优势。

  • Timeplus与RisingWave比较
    Timeplus与流处理数据库RisingWave相比较,最大的优势是Timeplus可以很好的支持随机分析,因为其底层基于Clickhouse。

部署环境

获取docker编排文件

wget https://github.com/timeplus-io/proton/blob/develop/examples/ecommerce/docker-compose.yml

启动服务

docker compose up -d

在这里插入图片描述

进入客户端:

docker exec -it proton-demo-ecommerce-proton-1 proton-client

实例demo

ecommerce case

DROP STREAM default.frontend_events0;
CREATE STREAM frontend_events0(raw string) \
SETTINGS type='kafka', \
         brokers='redpanda:9092',\
         topic='owlshop-frontend-events';
         
-- Create externarl stream to read data from Kafka/Redpanda
CREATE EXTERNAL STREAM frontend_events(raw string)
SETTINGS type='kafka', 
         brokers='redpanda:9092',
         topic='owlshop-frontend-events';

-- Scan incoming events
select * from frontend_events;

-- Get live count
select count() from frontend_events;

-- Filter events by JSON attributes
select _tp_time, raw:ipAddress, raw:requestedUrl from frontend_events where raw:method='POST';

-- Show a live ASCII bar chart
select raw:method, count() as cnt, bar(cnt, 0, 40,5) as bar from frontend_events group by raw:method order by cnt desc limit 5 by emit_version();

MATERIALIZED VIEW

CREATE MATERIALIZED VIEW IF NOT EXISTS mv01 \
AS select _tp_time, raw:ipAddress, raw:requestedUrl from frontend_events where raw:method='POST';

--1. Streaming mode: SELECT * FROM materialized_view
SELECT * FROM mv01;

--2.Historical mode: SELECT * FROM table(materialized_view)
SELECT * FROM table(mv01);

--3.Historical + streaming mode: SELECT * FROM materialized_view WHERE _tp_time>='1970-01-01' Get all past results and as well as the future data.
SELECT * FROM mv01 WHERE _tp_time>='1970-01-01';

--4.Pre-aggregation mode: SELECT * FROM table(materialized_view) where __tp_version in (SELECT max(__tp_version) as m from table(materialized_view)) This immediately returns the most recent query result. We will provide new syntax to simplify this.

监控case

数据按照预设的时间批次进行分组,例如:2024-01-01 08:00:00、2024-01-01 08-30:00,并实时统计每个批次内的数据计数。
当批次数据计数在指定的延迟时间内未达到预设数量时(例如,从2024-01-01 08:00:00延迟1小时,触发时间为系统时间2024-01-01 09:00:00),会触发警报。发布批量数据的指标包括批量时间、触发报警时的计数数据量等

create stream s1(ts datetime64,cnt int32);
insert into s1(ts,cnt) values('2024-02-28 20:59:00',2);

select * from s1 where ts < now()-1m \
emit last 5m on proctime;

关于Timeplus

github 仓库

官方文档

Timeplus知乎主页

Slack

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Javaweb之SpringBootWeb案例之 Bean管理的Bean作用域详细的解析

2.2 Bean作用域 在前面我们提到的IOC容器当中&#xff0c;默认bean对象是单例模式(只有一个实例对象)。那么如何设置bean对象为非单例呢&#xff1f;需要设置bean的作用域。 在Spring中支持五种作用域&#xff0c;后三种在web环境才生效&#xff1a; 作用域说明singleton容器…

使用Docker搭建一款实用的个人IT工具箱——It-Tools

作为程序员&#xff0c;在日常工作中&#xff0c;需要借助一些工具来提高我们工作效率&#xff0c;IT-Tools是为开发人员度身打造的一套便捷在线工具。它提供全面功能&#xff0c;使开发者能以更高效方式完成任务。经由IT-Tools&#xff0c;开发人员能轻松应对各类技术挑战&…

yolov9 tensorRT 的 C++ 部署

yolov9 tensorRT C 部署 本示例中&#xff0c;包含完整的代码、模型、测试图片、测试结果。 完整的代码、模型、测试图片、测试结果【github参考链接】 TensorRT版本&#xff1a;TensorRT-7.1.3.4 导出onnx模型 导出适配本实例的onnx模型参考【yolov9 瑞芯微芯片rknn部署、地平…

Consul服务注册与发现 Consul配置步骤

Consul服务注册与发现 Consul配置步骤 consul下载地址 Install | Consul | HashiCorp Developer 启动需要在 下载好的文件夹里 用cmd 运行consul agent -dev启动consul Consul配置 配置pom <!--SpringCloud consul config--> <dependency><groupId>org…

基于JSON的Ollama和LangChain agent

到目前为止&#xff0c;我们都可能意识到&#xff0c;通过为LLMs提供额外的工具&#xff0c;我们可以显著增强它们的功能。 例如&#xff0c;即使是ChatGPT在付费版本中也可以直接使用Bing搜索和Python解释器。OpenAI更进一步&#xff0c;为工具使用提供了经过优化的LLM模型&am…

综合练习(二)

目录 列出薪金比 SMITH 或 ALLEN 多的所有员工的编号、姓名、部门名称、领导姓名、部门人数&#xff0c;以及所在部门的平均工资、最高和最低工资 补充 spool Oracle从入门到总裁:https://blog.csdn.net/weixin_67859959/article/details/135209645 列出薪金比 SMITH 或 AL…

我国每年研究生的毕业数量统计分享

本数据集详细记录了自1949年至2021年我国每年研究生的毕业数量&#xff08;包括硕士和博士学位的毕业生&#xff09;。在2021年&#xff0c;我国的研究生毕业生人数达到了772,761人&#xff0c;此数字比上一年度增加了44,000人。 统计的数据单位使用的是人数。 数据展示&…

C语言--修饰符(auto、extern、static)与变量(局部变量+全局变量)和函数的关系

其中extern功能和用法上&#xff0c;比较特殊。先了解extern修饰全局变量&#xff0c;我总结为以下几点 为了方便描述&#xff0c;我创建了一个工程&#xff0c;工程包含了两个源文件&#xff0c;main.c和database.c **1&#xff09;&#xff1a;database.c中使用extern时用来…

【压缩技巧】zip压缩包太大怎么变小?

Zip压缩包是压缩文件体积&#xff0c;便于保存的文件格式&#xff0c;但是有些文件实在是太大了&#xff0c;即使是压缩之后&#xff0c;体积仍然很大&#xff0c;那么&#xff0c;zip压缩包太大怎么变小呢&#xff1f;今天分享几种方法。 方法一&#xff1a; 适当减少文件内…

antvX6 - Vue自定义节点,并实现多种画布操作,拖拽、缩放、连线、双击、检索等等

一、 首先 antv x6 分为两个版本 低版本和高版本 我这里是使用的2.0版本 并且搭配了相关插件 例如&#xff1a;画布的图形变换、地图等 个人推荐 2.0版本&#xff0c;高版本配置多&#xff0c;可使用相关插件多&#xff0c;但是文档描述小&#xff0c;仍在更新&#xff0c; 低…

openGauss学习笔记-231 openGauss性能调优-系统调优-资源负载管理-资源负载管理概述

文章目录 openGauss学习笔记-231 openGauss性能调优-系统调优-资源负载管理-资源负载管理概述231.1 功能描述231.2 相关概念**231.2.1 资源管理****231.2.2 控制组****231.2.3 资源池** openGauss学习笔记-231 openGauss性能调优-系统调优-资源负载管理-资源负载管理概述 231.…

java009 - Java调试debugger

1、debugger概述 程序的调试工具&#xff0c;用于查看追踪程序的执行流程&#xff0c;也可以调试程序。 2、debugger调试流程 2.1 如何加断点 2.2 如何运行加了断点的程序 在代码区域右键---->debugger执行 2.3 看哪里 看console窗口 2.4 点哪里 点step into(F7)这个箭…

异常处理(黑马学习笔记)

当前问题 登录功能和登录校验功能我们都实现了&#xff0c;下面我们学习下今天最后一块技术点&#xff1a;异常处理。首先我们先来看一下系统出现异常之后会发生什么现象&#xff0c;再来介绍异常处理的方案。 我们打开浏览器&#xff0c;访问系统中的新增部门操作&#xff0…

potplayer安装

官网 解压运行即可

小(2)型土石坝安全监测设施配置详解

小(2)型土石坝的安全监测是确保大坝稳定、安全运行的重要环节。为此&#xff0c;合理配置安全监测设施显得尤为重要。以下是对小(2)型土石坝安全监测设施配置的详细介绍。 一、渗流量监测 渗流量是反映大坝安全状况的关键指标之一。为准确监测渗流量&#xff0c;我们采用仪器量…

DC28V270V转AC36V115V航空逆变器

在当今的航空航天电源行业中&#xff0c;DC28V270V转AC36V115V航空逆变器发挥着至关重要的作用。作为一种关键的逆变器电源设备&#xff0c;DC28V270V转AC36V115V航空逆变器不仅在航空领域有着广泛的应用&#xff0c;还在许多其他领域发挥着重要作用。 一、DC28V270V转AC36V11…

C语言 常量

常量是固定值&#xff0c;在程序执行期间不会改变。这些固定的值&#xff0c;又叫做字面量。 常量可以是任何的基本数据类型&#xff0c;比如整数常量、浮点常量、字符常量&#xff0c;或字符串字面值&#xff0c;也有枚举常量。 常量就像是常规的变量&#xff0c;只不过常量的…

【前端素材】推荐优质在线高端蜂蜜商城电商网页Beejar平台模板(附源码)

一、需求分析 1、系统定义 在线高端蜂蜜商城是指一个专门销售高品质、高端蜂蜜产品的电子商务平台。这种商城致力于向消费者提供各种经过精心挑选、具有高营养价值和健康功效的蜂蜜产品。 2、功能需求 在线高端蜂蜜商城是指一个专门销售高品质、高端蜂蜜产品的电子商务平台…

JOSEF约瑟 FHP-33Q/4跳位、合位、电源监视综合控制继电器 凸出式板前接线 0.1-10S

FHP-33系列跳位、合位、电源监视综合控制继电器系列型号&#xff1a;FHP-33A/1跳位、合位、电源监视综合控制继电器&#xff1b;FHP-33A/2跳位、合位、电源监视综合控制继电器&#xff1b;FHP-33A/3跳位、合位、电源监视综合控制继电器&#xff1b;FHP-33A/4跳位、合位、电源监…

数据迁移方法论

文章目录 一. 什么是数据迁移1. 数据迁移与数据整合2. 数据迁移和数据复制3. 数据迁移的主要类型1. Storage migration2. 数据库迁移3. 应用迁移4. 数据中心迁移5. Business process migration&#xff08;业务流程迁移&#xff09;6. 云迁移 二. 数据迁移方法1.大爆炸式数据迁…