My colleague and I are currently implementing a undo / redo function for products. We use the command template and save each command (for example, create the myFancyComponent component) as a TableStorageEntry in the "ProductHistory" table. PartitionKey in this table is the unique name of the product, RowKey is the unique identifier.
The problem is that the product is being deleted, it must also delete the entire history in the table storage. Using batch deletion can be quite difficult, as there are several limitations: max. 100 objects or max. 4 MB (which is less). Is there any best practice for this problem? Or is it the only solution to query all records and check the size of the records and batch delete the desired number of records?
I also found this similiar question and decided to create a table for EVERY product. There seem to be some advantages to this approach:
- The choice should be faster because only one table will be requested
- Removing is easy, just need to delete the whole table
The only flaw I found (in "WINDOWS AZURE TABLE" is white paper):
- Note that when a table is deleted, the same table name cannot be recreated for at least 30 seconds, while the table collects garbage.
Are there any other problems (performance) if I create several hundred tables?
Robar source share