中文

基于 DynamoDB 的 GraphQL 实时查询

数据库 2020-08-04 v1

摘要

我们提出一种在数据库层级实现 GraphQL 实时查询的方法。我们用 Go 语言实现的 DynamoDB 模拟器模仿分布式键值存储,并实现实时查询以暴露可能的缺陷。实现实时查询的两个关键组件是:存储实时查询中所选字段,以及确定每次数据库写入中哪些对象字段被更新。向系统发出的 stream(key, fields) 请求包含实时查询流中要包含的字段,在后续 put(key, object) 操作中,数据库异步确定哪些字段被更新,且若这些字段与 stream() 请求重叠,则向流推送新的查询视图。在讨论我们的实现后,我们探讨使用实时查询的动机,如简化软件通信、最小化数据传输与启用实时数据,并描述一种用 GraphQL 与实时查询构建软件的架构。

关键词

引用

@article{arxiv.2008.00129,
  title  = {GraphQL Live Querying with DynamoDB},
  author = {Austin Silveria},
  journal= {arXiv preprint arXiv:2008.00129},
  year   = {2020}
}