GitHub - janderland/fql: Foundation DB 查询语言

主要观点:FQL 为 Foundation DB 提供查询语言和替代客户端 API,旨在实现提供查询语言、描述键值模式、提供等效 Go API、简化 API 人机工程学、提供探索数据环境及导入/导出数据子集等目标。
关键信息

  • 可在不带 Docker 和 Docker 环境中构建与运行,Docker 环境下可通过build.sh脚本进行操作。
  • 有 FQL Docker 镜像用于执行查询,集群文件内容中的主机名会被替换为 IP 地址。
  • 介绍了 FQL 的查询语言,包括语法定义、组件结构(如 primitives、directories、tuples、key-values、variables 等)及各种查询类型(Set、Clear、Read Single Key、Read Range of Keys、List Directory Paths)及其等效的 FDB API 调用。
    重要细节
  • 构建时需安装 Foundation DB 客户端库(>= v6.2.0)和 Go(>= v1.20),运行go build在 repo 根目录创建fql二进制文件。
  • 查询语言目前专注于读写使用目录和元组层创建的键值,不支持任意字节字符串的读写。
  • primitives 的编码方式与常见社区实践有差异,目前 FQL 不支持使用 big ints。
  • Set 查询写单个键值,Clear 查询删除单个键值,Read Single Key 查询读单个键值,Read Range of Keys 查询读范围键值,List Directory Paths 查询列出目录路径。每种查询类型都有对应的 Go 代码实现。
阅读 31
0 条评论