Databend 九月月报:自增列 AUTOINCREMENT 与行级安全

Hi,Databend 的朋友们!🚀
九月我们把重点放在了生产环境真正需要的功能上。这个月上线了行级访问控制、Check 约束、AUTOINCREMENT 自增列、基于事务的表名交换(SWAP),还有智能的 SQL 错误提示。这些都是企业用户一直在等的功能。
九月数据
15+ 个新功能,30+ 个 bug 修复,15+ 项性能优化,还有 10+ 项其他改进。最值得说的:安全管控更严了、数据校验更方便了、大结果集也不怕了。
本月亮点
🔥 核心功能
行级访问策略 - 多租户数据隔离,统计信息自动加密
AUTOINCREMENT - 自增 ID,不用手动管 Sequence 了
Check 约束 - 在表结构里直接定义数据规则
SQL 智能纠错 - 打错命令给你提示
🛠 好用的功能
表交换(SWAP) - 单事务原子交换表名,大表改结构零停机
Pivot 增强 - Pivot 可以用任意表达式排序了
存储过程权限 - 可以单独给存储过程授权了
Sequence 增强 - 可以自定义起始值和步长
⚡ 性能优化
虚拟列写入加速 - JSON 数据导入更快
Meta 快照优化 - 集群同步效率提升
Join 内存优化 - 大表 Join 不那么吃内存了
分布式 Recluster - 表维护速度更快
🐛 修复的问题
30+ 个 bug - 查询、事务、meta 服务都有涉及
结果集溢出 - 修了 nullable 数据丢失的问题
Vacuum 改进 - 删表后清理更彻底
事务可靠性 - 存储过程里的 DDL 现在会正确提交了
核心功能详解
🔐 行级访问策略
做多租户 SaaS 最头疼的就是数据隔离。现在有了行级策略,一次定义,到处生效。
有啥好处:
应用层不用管过滤逻辑,数据库层面自动拦截
统计信息也会自动加密,防止通过 EXPLAIN 看到别人的数据
GDPR、HIPAA 这些合规要求,轻松搞定
🎯 AUTOINCREMENT
以前要自增 ID,得先建 Sequence,再在表里 NEXTVAL,删表还得记得删 Sequence。现在不用了。
以前的写法:
现在这样写:
各种灵活的用法:
好处显而易见:
Sequence 跟着表走,建表自动建,删表自动删
MySQL、PostgreSQL、Snowflake 的写法都兼容
不会留下孤儿 Sequence,省心
✅ Check 约束
数据校验以前都写在应用里,容易漏。现在可以直接写到表结构上。
有啥用:
数据验证在数据库层面搞定,应用层不用操心
后续可以用
ALTER TABLE ADD/DROP CONSTRAINT
调整规则想看有哪些约束,查
system.constraints
就行
🔄 表交换 SWAP
单事务原子交换两个表名,解决大表结构变更的对业务的影响的问题。
痛点:
解决方案:
适用场景:
大表添加/删除列
表结构重构
数据类型变更
分区策略调整
📝 SQL 智能纠错
打错命令的时候,现在会给你提示了。
实用:
打错了会告诉你可能想输入什么
错误信息更友好,调试更快
支持拼写错误和不完整的命令
其他改进
📊 查询优化
Pivot 排序 - Pivot 现在可以用任意表达式排序了
CTE 优化 - 公共表表达式的物化逻辑更智能
运行时过滤 - Join 的时候谓词下推更激进,速度更快
🔧 运维
分布式 Recluster - 表维护的并行度更高
Vacuum 改进 - 清理删除表和历史快照更彻底
🛠 Meta 服务
快照协议升级 - V004 版本,集群状态同步更快
可观测性 - 日志和监控指标更详细
九月的主题就是生产可用。 行级安全、数据校验、自增列、大结果集处理,这些都是企业用户天天要用的功能。Databend 在保持云原生架构的同时,功能完整度越来越接近企业级数据库。
多租户 SaaS 有了数据隔离。DBA 有了声明式约束。应用有了自增 ID。大查询也不怕 OOM 了。实实在在解决生产问题。
🔗 立即体验
开源:https://github.com/databendlabs/databend
云服务:https://databend.cn
文档:https://docs.databend.cn
版权声明: 本文为 InfoQ 作者【Databend】的原创文章。
原文链接:【http://xie.infoq.cn/article/a761851dbe5f64b0973d65aef】。文章转载请联系作者。
评论