У меня есть таблица сущностей, например, «рассказы». Он будет содержать большой список «историй», на которые могут голосовать люди.Лазурное хранение стола - индексы?
Главной особенностью моего приложения будут пользователи, читающие «лучшие» истории, в которых больше всего голосов (и, возможно, в конечном итоге будут реализованы другие алгоритмы).
Моя первая мысль о структуре таблицы Azure является:
- RowKey = уникальный идентификатор
- PartitionKey = ??? (Возможно, Id пользователя, потому что вы можете просмотреть список Пользователя историй)
- Название
- Описание
- Идентификатор пользователя
- Url
Как я могу эффективно запросить против историй считается «сверху» истории? Большая часть трафика будет запрашивать верхние сюжеты, и в противном случае не нужно выделять диапазоны историй. То, что я хочу, - это способ индексирования топ-историй, но индексы не являются особенностью хранения таблиц. Я думал о сохранении второй таблицы, но это может стать волосатым, если пользователь обновит историю в другой таблице.
Это мое первое зависание с использованием Azure Table Storage, остальное приложение будет работать отлично. Я бы не хотел обновляться до использования полного SQL Azure из-за этой проблемы.
PS - Я открыт для хранения «топ-историй» в другом месте, кроме таблицы Azure, если это имеет смысл. Мой сервер будет работать с C# web api, но, вероятно, не имеет значения.
Да, я думаю, что есть два стола - путь. Поскольку люди голосуют за историю, я могу проверить количество голосов, чтобы скопировать запись на «верхнюю» таблицу историй. Если у меня есть таблица commments, к ней можно получить доступ с помощью идентификатора storie, и я думаю, что это будет нормально работать, если в таблице «top» stories есть копия записей. – jonathanpeppers
Лучше использовать два раздела или две таблицы? Мысли? – jonathanpeppers
Не имеет большого значения, так как раздел является шкалой, а хранилище таблиц Azure меньше. Больший вопрос, о котором вам нужно подумать, - это то, как управлять «голосованием». Если у вас есть тысячи людей, попавших в статью, таблица голосования может быть узкой. Возможно, посмотрите: http://channel9.msdn.com/Shows/Cloud+Cover/Cloud-Cover-Episode-43-Scalable-Counters-with-Windows-Azure – BrentDaCodeMonkey