我必须将某些帐户的交易数据存储在 QLDB 中,有什么方法可以进行分区,使 QLDB 将一个帐户的数据存储在同一台服务器上,以便我的分块/查询更快?
问问题
204 次
2 回答
1
QLDB 是无服务器的。AWS 有意抽象出服务器,即使您今天知道实施细节,它也可能随时更改,而不会发出警告。
当 QLDB 最终支持多个分区/分片/链时,即使那样,您也不应该尝试从服务器的角度考虑这一点,因为不能保证一个分区“键”将存在于一个分区/服务器上。
为了帮助解释我的意思,我将与 DynamoDB 进行比较。(尽管我知道它们的设计不同,但我认为指出一点仍然很有用。)使用 DynamoDB 时,您的数据是基于 hashkey 进行分区的,但不能保证单个数据的所有数据hashkey 值存在于一个分区中。QLDB 可以做类似的事情——或者它可能不会——但是在设计表时不应该对底层实现做任何假设。
话虽如此,如果您在字段上创建索引,则可以在获取一个帐户的数据时提高查询性能。accountId
于 2019-12-07T20:00:12.687 回答
0
QLDB 的 2019 版没有分区形式。您的所有数据都写入日志的单个“链”(分区)。索引存储中有多个数据副本,但每个节点都有所有数据(对于所有表和索引)。
于 2019-12-10T01:12:30.653 回答