Databend 开源周报第 137 期

Databend 是一款现代云数仓。专为弹性和高效设计,为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务:app.databend.cn

What's On In Databend

探索 Databend 本周新进展,遇到更贴近你心意的 Databend 。

支持查询匹配倒排索引

倒排索引是文档检索系统中最常用的数据结构,用来存储在全文搜索下某个单词在一个文档或者一组文档中的存储位置的映射。

Databend 现已支持在查询中使用 match 匹配倒排索引。

sql 复制代码
SELECT id, score(), content FROM t WHERE match(content, '中国') ORDER BY score()
----
21 1.1967509 中国的古代诗词充满了深邃的意境和独特的韵味,是中华文化的重要组成部分。
24 1.1967509 中国的传统节日蕴含着丰富的文化内涵,是传承和弘扬中华文化的重要途径。
28 1.3336442 中国的饮食文化博大精深,各地的美食各具特色,让人流连忘返。
12 1.4319203 北京的故宫是中国古代建筑的瑰宝,吸引了无数游客前来参观。
15 1.5059 中国的茶文化源远流长,品茶已经成为一种生活方式。

如果您想了解更多信息,欢迎联系 Databend 团队,或查看下面列出的资源。

Code Corner

一起来探索 Databend 和周边生态中的代码片段或项目。

结合 TASK 和 STREAM 实时捕获和跟踪用户活动

Databend 中的流(STREAM)是对表变化的动态实时表示。创建流可以捕获和跟踪相关表的修改,并进行持续分析。而任务封装了特定的 SQL 语句,旨在按照预定的时间间隔、特定事件触发或作为更广泛的任务序列的一部分来执行。

在创建任务时,可以按照下面的工作流程进行设计。

下面的示例展示了如何结合 TASK 和 STREAM 实时捕获和跟踪用户活动,定期将 user_activity_profiles 表与 activities_stream 中的数据进行同步,,以确保user_activity_profiles 总能准确反映最新的用户活动。

sql 复制代码
-- Define a task in Databend
CREATE TASK user_activity_task 
WAREHOUSE = 'default'
SCHEDULE = 1 MINUTE
-- Trigger task when new data arrives in activities_stream
WHEN stream_status('activities_stream') AS 
    -- Insert new records into user_activity_profiles
    INSERT INTO user_activity_profiles
    SELECT
        -- Join activities_stream with user_profiles based on user_id
        a.user_id, p.username, p.location, a.activity, a.timestamp
    FROM
        activities_stream AS a
        JOIN user_profiles AS p
            ON a.user_id = p.user_id
    -- Include only rows where the action is 'INSERT'
    WHERE a.change$action = 'INSERT';

欢迎感兴趣的小伙伴阅读下面的文档,了解如何利用 Databend Cloud 完成这项任务。

Highlights

以下是一些值得注意的事件,也许您可以找到感兴趣的内容。

  • 支持 show viewsdesc view
  • 新增 is_error, is_not_error, error_or 函数。
  • task_history 支持分页。
  • 支持 PRQL 查询语言。

What's Up Next

我们始终对前沿技术和创新理念持开放态度,欢迎您加入社区,为 Databend 注入活力。

支持 CHANGES 子句

CHANGES 子句允许在指定的时间间隔内查询表或视图的变更跟踪元数据,而无需创建具有显式事务偏移量的流。

组合多个查询可以用于检索不同事务边界之间的变更跟踪元数据。

sql 复制代码
SELECT ...
FROM ...
   CHANGES ( INFORMATION => { DEFAULT | APPEND_ONLY } )
   AT ( { TIMESTAMP => <timestamp> | OFFSET => <time_difference> | STREAM => '<name>' } )
   [ END( { TIMESTAMP => <timestamp> | OFFSET => <time_difference> } ) ]
[ ... ]

Issue #15028 | Feature: support CHANGES clause

如果你对这个主题感兴趣,可以尝试解决其中的部分问题或者参与讨论和 PR review 。或者,你可以点击 link.databend.rs/i-m-feeling... 来挑选一个随机问题,祝好运!

New Contributors

一起认识社区中的新伙伴,Databend 因你们而变得更加美好。

Changelog

前往查看 Databend 每日构建的变更日志,以了解开发的最新动态。

地址:github.com/datafuselab...

Contributors

非常感谢贡献者们在本周的卓越工作。

Connect With Us

Databend 是一款开源、弹性、低成本,基于对象存储也可以做实时分析的新式数仓。期待您的关注,一起探索云原生数仓解决方案,打造新一代开源 Data Cloud。

相关推荐
r i c k15 小时前
数据库系统学习笔记
数据库·笔记·学习
野犬寒鸦15 小时前
从零起步学习JVM || 第一章:类加载器与双亲委派机制模型详解
java·jvm·数据库·后端·学习
IvorySQL16 小时前
PostgreSQL 分区表的 ALTER TABLE 语句执行机制解析
数据库·postgresql·开源
·云扬·16 小时前
MySQL 8.0 Redo Log 归档与禁用实战指南
android·数据库·mysql
IT邦德16 小时前
Oracle 26ai DataGuard 搭建(RAC到单机)
数据库·oracle
惊讶的猫16 小时前
redis分片集群
数据库·redis·缓存·分片集群·海量数据存储·高并发写
不爱缺氧i16 小时前
完全卸载MariaDB
数据库·mariadb
纤纡.16 小时前
Linux中SQL 从基础到进阶:五大分类详解与表结构操作(ALTER/DROP)全攻略
linux·数据库·sql
jiunian_cn17 小时前
【Redis】渐进式遍历
数据库·redis·缓存
橙露17 小时前
Spring Boot 核心原理:自动配置机制与自定义 Starter 开发
java·数据库·spring boot