对于一个分布式数据库,查询的时候是如何实现分区查询

一般的分布式数据库,在查询的时候都建议使用查询条件中指定partition条件,这样在下推到底层时,只有指定partition的存储才会相应。
Nebulagraph没有partition的概念,在存储层,是不是所有的分区都会响应查询请求?

虽然 NebulaGraph 没有传统意义上的 PARTITION KEY 概念让用户在查询时指定 。但在存储层,NebulaGraph 的查询并不是广播到所有分区的,我们的分片策略是静态 Hash, 同一个点的所有出边/入边(及其属性)默认 会与这个点存储在同一个 Partition 上.你可以在文档里搜索“分片算法”获取更多信息。

分片算法是对点 VID 进行取模操作来实现的。 我的理解是,如果查询的条件中包含了 VID 的条件,则可以根据VID取模,计算应该下推到那个分片。
但是如果没有VID的条件,是不是需要广播到所有的分区进行查询?

是的