根据行计数或大小选择Azure表分区密钥



我正在设计一种哈希算法,该算法将为azure表生成分区键。我考虑了两种情况:

  1. 根据行计数生成关键字
  2. 根据数据大小生成密钥

Explaning:想象一下,我有300个实体要插入(记住,这是一个非关系型商店,所以假设它有10个客户,50个销售,240个销售项目)。。。为了平衡它们,我将使用两个分区键:K1和K2。
在"行计数模式"中插入1将有K1,插入2将有k2,插入3->K1,插入4->k2等等……非常直接,并质疑大多数人会做什么…
如果我使用"数据大小",假设前50kb将得到K1,51-100kb K2101-150 K1151-200 K2,这可能导致:使用K1插入1、2和3,使用K2插入4,使用K1插入5,使用K2嵌入6、7、8、9、10、11、12、13和14…

我的问题是:在搜索时,哪些"statics"将实现最佳吞吐量?

Edti1:
我最担心的是分区和原始性能之间的不平衡。让我们进一步扩展并想象一下,这是一个多租户应用程序。如果我选择Tenant Id作为分区键,我将不得不解决这样一个事实,即随着租户数据变得更大,查询性能将比选择Tenant Id + Month of the Sale这样的分区键下降得更快,因为在第二种情况下,我将能够运行并行查询,如"tenant1January"、"tenant1February"、"Tenant1Marchar"。。。

要回答您的具体问题,我将两者都不回答。

在设计表存储查询时,分区键是最重要的考虑因素。如果我正确理解你的PK方案,那么为了快速获得你保存的任何信息,你需要知道它保存了多少其他行,或者所有其他数据的大小。

我会退一步思考你想如何获得这些数据,然后思考你想使用什么PK和RK。

相关内容

  • 没有找到相关文章

最新更新