【发布时间】:2013-04-04 10:49:54
【问题描述】:
我有一些软件可以在很长一段时间内收集数据,大约每秒 200 个读数。它为此使用 SQL 数据库。我希望使用 Azure 将大量旧的“存档”数据移动到其中。
该软件使用多租户类型的体系结构,因此我计划每个租户使用一个 Azure 表。每个租户可能正在监视 10-20 个不同的指标,因此我计划使用 Metric ID (int) 作为分区键。
由于每个指标每分钟只有一个读数(最大值),我计划使用 DateTime.Ticks.ToString("d19") 作为我的 RowKey。
但是,我对这将如何扩展缺乏一点了解;所以希望有人能够解决这个问题:
为了性能,Azure 将/可能按 partitionkey 拆分我的表,以使事情保持良好和快速。在这种情况下,这将导致每个指标有一个分区。
但是,我的 rowkey 可能代表大约 5 年的数据,因此我估计大约有 250 万行。
Azure 是否足够聪明,可以根据行键进行拆分,还是我在设计未来的瓶颈?我通常知道不要过早地进行优化,但是像 Azure 这样的东西看起来不像平常那么明智!
正在寻找 Azure 专家,让我知道我是否在正确的路线上,或者我是否也应该将我的数据分区到更多表中。
【问题讨论】:
标签: azure azure-storage azure-table-storage