Databend 开源周报第 94 期
Databend Labs5月 22, 2023
英文版移步:https://www.databend.com/blog/2023-05-21-databend-weekly
Databend 是一款现代云数仓。专为弹性和高效设计,为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务:https://app.databend.cn 。
What's On In Databend
探索 Databend 本周新进展,遇到更贴近你心意的 Databend。
计算列
计算列(Computed Columns)使用其他列的标量表达式计算得来。有两种类型的计算列:存储计算列和虚拟计算列。
存储计算列在按行插入数据时计算并存储结果值。可以使用以下 SQL 语法创建存储计算列:
column_name <type> AS (<expr>) STORED
虚拟计算列在查询时进行计算,不会存储结果值。可以使用以下 SQL 语法创建虚拟计算列:
column_name <type> AS (<expr>) VIRTUAL
如果你想要了解更多信息,请查看下面列出的资源。
VACUUM TABLE
VACUUM TABLE
- 与表相关的快照及其关联的 segments 和 blocks。
- 孤立文件。在 Databend 中,孤立文件指不再与该表关联的快照、segments 和 blocks。孤立文件可能由各种操作和错误生成,例如在数据备份和还原期间,并且随着时间的推移会占用宝贵的磁盘空间并降低系统性能。
VACUUM TABLE
如果你想要了解更多信息,请查看下面列出的资源。
Code Corner
一起来探索 Databend 和周边生态中的代码片段或项目。
为 Python 绑定启用缓存
Databend 支持数据缓存和查询结果缓存,可以有效加速查询。Databend 的 Python 绑定也支持这些特性,尽管有一些细微的差别。
对于查询结果缓存,可以使用 SQL 语句进行设置,非常方便。
>>> from databend import SessionContext
>>> ctx = SessionContext()
>>> ctx.sql("set enable_query_result_cache = 1")
对于数据缓存,则可以通过环境变量来启用。
>>> import os
>>> os.environ["CACHE_DATA_CACHE_STORAGE"] = "disk"
>>> from databend import SessionContext
>>> ctx = SessionContext()
>>> ctx.sql("select * from system.configs where name like '%data_cache%'")
┌────────────────────────────────────────────────────────────────────────────┐
│ group │ name │ value │ description │
│ String │ String │ String │ String │
├─────────┼──────────────────────────────────────────┼─────────┼─────────────┤
│ 'cache' │ 'data_cache_storage' │ 'disk' │ '' │
│ 'cache' │ 'table_data_cache_population_queue_size' │ '65536' │ '' │
└────────────────────────────────────────────────────────────────────────────┘
现在行动起来,将 Databend 集成到你的数据科学工作流中。
亮点
以下是一些值得注意的事件,也许您可以找到感兴趣的内容。
- 阅读 Docs | Date & Time - Formatting Date and Time 以了解如何精确控制时间和日期的格式。
- 从 URI 加载数据时支持数据转换。
- 为通过 HTTP API 执行 语句支持
REPLACE INTO
字段。stage_attachment
- 新增位图相关函数:,
bitmap_contains
,bitmap_has_all
,bitmap_has_any
,bitmap_or
,bitmap_and
等。bitmap_xor
- 支持整数除法运算符 。
//
What's Up Next
我们始终对前沿技术和创新理念持开放态度,欢迎您加入社区,为 Databend 注入活力。
从 Meta 请求中删除 if_not_exists
字段
if_not_exists
在
CreateIndexReq
CreateTableReq
if_not_exists
pub struct CreateIndexReq {
pub if_not_exists: bool,
pub name_ident: IndexNameIdent,
pub meta: IndexMeta,
}
但是
if_not_exists
因此,对于
SchemaApi
Issue #11456 | Moving if_not_exists out of meta request body
如果你对这个主题感兴趣,可以尝试解决其中的部分问题或者参与讨论和 PR review。或者,你可以点击 https://link.databend.com/i-m-feeling-lucky 来挑选一个随机问题, 祝好运!
New Contributors
一起认识社区中的新伙伴,Databend 因你们而变得更加美好。
- @silver-ymz 为 Databend 新增了 5 个 bitmap 相关的标量函数,#11487 。
- @Jake-00 帮忙修改 语法的重复测试用例,#11503。
SOUNDS LIKE
- @gitccl 为 Databend 新增了 5 个 bitmap 逻辑运算函数,并且修复了对空位图调用部分函数时的崩溃问题,#11507。
Changelog
前往查看 Databend 每日构建的变更日志,以了解开发的最新动态。