CrateDB 是一个分布式的 SQL 数据库,使得实时存储和分析大量的机器数据变得简单。CrateDB 提供了通常与 NoSQL 数据库相关的可扩展性和灵活性,最小的 CrateDB 集群可以轻松地每秒摄取数万条记录。这些数据可以在整个集群中实时地、临时地、并行地进行查询。
CrateDB 5.10.4 现已正式发布,该版本更新内容如下:
- 通过使用表统计信息估算平均行大小,修复了 upsert 语句的内存计算精度。如果统计信息(尚)不可用,则使用基于表列数据类型的粗略估算。这样可以防止节点在执行大量批量更新时耗尽内存。
- 调整了 JOINS 等语句的内部中间结果请求的大小,以减少具有多个节点的集群的内存压力。
- 修复了一个问题,该问题可能导致动态创建数千列的
INSERT INTO
语句在达到mapping.total_fields.limit
限制之前使集群状态更新过程过载,从而导致尝试更新集群状态的其他语句超时。 - 修复了在未发现主节点的情况下查询 sys.allocations 表时出现 NPE 的问题。现在会抛出正确的异常,而不是 NPE。
- 修复了导致通过 PG 线提交的查询在解析失败时不会记录在 sys.jobs_log 中的问题。
- 修复了分片未正确关闭(例如,由于节点异常关闭,且节点在重启时仍持有该分片的锁)导致分片无法分配的问题。现有的用于解决此问题的重试逻辑在某些情况下不起作用。
- 修复了导致完整分区表上的
ALTER TABLE <table> RESET <setting>
语句不会重置所有分区上的设置,而只会重置表本身上的设置的问题,因此设置的重置值只会对新分区生效。 - 修复了导致
MATCH
查询以用于索引相应列的分析器静默覆盖指定分析器的问题。由于这种情况是不允许的,因此现在会引发错误。 - 修复了当正在进行的
INSERT
或UPDATE
操作被KILL
节点重启中断时导致集群出现分片复制不足的问题。
更新说明:https://cratedb.com/docs/crate/reference/en/latest/appendices/release-notes/5.10.4.html