Windows Azure table access latency Partition keys and row keys selection

六月ゝ 毕业季﹏ 提交于 2019-12-06 12:19:11

问题


We've got a windows azure table storage system going on where we have various entity types that report values during the day so we've got the following partition and row key scenario:

There are about 4000 - 5000 entities. There are 6 entity types and the types are roughly evenly distributed. so around 800'ish each.

ParitionKey: entityType-Date

Row key: entityId

Each row records the values for an entity for that particular day. This is currently JSON serialized.

The data is quite verbose.

We will periodically want to look back at the values in these partitions over a month or two months depending on what our website users want to look at.

We are having a problem in that if we want to query a month of data for one entity we find that we have to query 31 partition keys by entityId.

This is very slow initially but after the first call the result is cached.

Unfortunately the nature of the site is that there will be a varying number of different queries so it's unlikely the data will benefit much from caching.

We could obviously make the partitions bigger i.e. perhaps a whole week of data and expand the rowKeys to entityId and date.

What other options are open to me, or is simply the case that Windows Azure tables suffer fairly high latency?


回答1:


Some options include

  1. Make the 31 queries in parallel

  2. Make a single query on a partition key range, that is

    Partition key >= entityType-StartDate and Partition key <= entityType-EndDate and Row key = entityId.

It is possible that depending on your data, this query may have less latency than your current query.



来源:https://stackoverflow.com/questions/21149087/windows-azure-table-access-latency-partition-keys-and-row-keys-selection

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!