返回首页
最新
在所有的NoSQL数据库中,DynamoDB是查询起来最令人沮丧的之一。MongoDB拥有一种表达能力强的查询语言。Cassandra有CQL,它与SQL相似,大多数工程师可以很快上手。而DynamoDB则提供了键条件表达式、用于保留字的属性名称占位符,以及一种查询模型,要求你为每次调用手动选择正确的索引。虽然PartiQL存在,但它不支持JOIN、GROUP BY、子查询或大多数ANSI SQL功能。
我开发了DynamoSQL来解决这个问题。
它接受任何ANSI SQL SELECT语句,并将其转换为正确的DynamoDB API调用。最有趣的部分是索引选择:在接收到查询后,系统会检查表上可用的索引,找出最有效的访问模式,并构建调用。当可能时使用分区键查找,当次级索引更合适时使用次级索引,只有在最后的手段才使用扫描。
JOIN是最复杂的部分。DynamoDB本身不支持JOIN,因此在从两个表获取数据后,JOIN操作在客户端执行。支持的SQL功能包括WHERE、所有JOIN类型、GROUP BY、HAVING、ORDER BY、LIMIT、UNION、INTERSECT、EXCEPT、子查询、CTE,以及广泛的聚合和字符串函数。
我们正在寻找测试者。如果你使用DynamoDB并希望对其执行SQL查询,我很想听听你的意见。
<a href="https://dynamosql.com/" rel="nofollow">https://dynamosql.com/</a>
想象一下,一个外星观察者试图理解我们为什么会做一些完全“失常”的事情,比如为什么我们会囤积自己的创伤,或者把自己束缚在闹钟上。<p>每天,我都会选择一种人类行为,并通过实证数据、逻辑构建以及扎根于我们共同传说的哲学或宗教视角来为其辩护。<p>你有什么建议,下一步该问什么问题吗?