Из реляционного мира вещи, очевидно, сильно отличаются от хранилища таблиц Azure. Первая важная вещь, с которой я столкнулся, заключается в том, как правильно хранить отношения "многие-ко-многим".
Например, у меня может быть система, которая отслеживает пользователей и книги, которыми они владеют. Я нашел еще одно сообщение здесь, где указано, что у пользователя есть свойство String, которое в основном хранит список идентификаторов книг, которыми владеет Пользователь. Хотя я понимаю, что иногда это общепринятый способ хранения данных, проблема в том, что Azure позволяет хранить только 64 Кбайта данных в String. Это определенно ограничивает количество книг, которые потенциально может использовать пользователь.
Другим возможным решением является дублирование данных. У меня может быть таблица, в которой хранятся все известные книги в системе. Но когда пользователь должен быть связан с книгой, я копирую данные книги в другую таблицу под названием OwnedBooks, которая по существу точно такая же, как и в таблице Book, за исключением того, что она также имеет свойство OwnedByUserID.
Существуют ли другие возможные решения?
Помимо этой проблемы, есть ли у кого-нибудь хорошие рекомендации по другим шаблонам и методам при использовании хранилища таблиц Azure?