Storage best practice

Recommendations

  • Leverage multiple storage accounts for greater scalability, either for increased size (> 100 TB) or for more throughput (> 5,000 operations per second).
  • Design the ability for adding additional storage accounts as a configuration change, not as a code change.
  • Carefully select partitioning functions for table storage to enable the desired scale in terms of insert and query performance.
  • Choose short column names for table properties as the metadata (property names) are stored in-band (the column names also count towards the maximum row size of 1 MB).
  • When possible, batch operations into storage.
  • Aggressively cache information in the configuration database into a distributed cache.
  • If application performance or reliability is dependent on having a certain segment of data available in the cache, your application should refuse incoming requests until the cache has been pre-populated.
  • Partition the data either vertically (by table) or horizontally (segment table across multiple shards) to spread the load across multiple databases.