gRPC
GreptimeDB 提供了 gRPC SDK,用于高效和高性能的数据摄入。
如果没有适用于你的编程语言的 SDK,你可以按照贡献者指南创建自己的 SDK。
Hints
通过 x-greptime-hints gRPC 元数据传递 hint,使用逗号分隔多个 key=value 键值对。
为单个写入请求禁用 WAL
在 x-greptime-hints gRPC 元数据中设置 insert_skip_wal=true,可为当前写入请求禁用预写日志(WAL)。
对于使用 Arrow Flight DoPut 的 Bulk 写入,该 hint 对整个流生效。
此设置仅对当前请求生效,不会修改表级 skip_wal 选项。
将 insert_skip_wal 设置为 false 或省略该 hint 时,若表级 skip_wal 为 true,仍不写入 WAL。
注意
禁用 WAL 后,进程重启会导致尚未刷盘的数据丢失。请仅在数据可以从源端重新写入时使用。
Bulk Write schema 更新
Arrow Flight DoPut Bulk Write 要求目标表已存在。服务端默认在处理首个数据批次前检查流的 Arrow schema,并将缺失的列添加到表中。
Frontend/standalone 顶层配置 auto_create_table 和请求 metadata x-greptime-hint-auto_create_table 均默认为 true;任一设为 false 即禁用普通表的自动 schema 更新。请求设为 true 不能覆盖服务端的 false。
新增列按字段列处理,不会自动成为主键。主键列需要通过 SQL 预先定义。
自动添加列不支持嵌套 Arrow 类型或 Dictionary 类型。写入数据仍须满足目标表的类型、时间索引和非空约束。