Я собираюсь заняться разработкой для платформы Azure. Мне не нужен полный реляционный материал, который вы получаете от SQL Azure, и мне было бы очень интересно использовать вместо этого хранилище таблиц.
Теперь единственная реляционная вещь, которую мне нужно уметь делать, — это представлять отношения «один ко многим» и «многие ко многим» между таблицами в моем хранилище.
Я вполне доволен тем, как использовать промежуточные таблицы с разделами и ключами строк для представления этого во многом так, как обычные базы данных представляют их внутри.
Мне интересно, стоит ли создавать рабочую службу только для промежуточного звена между хранилищем и всем, что к нему обращается, чтобы создать внешний интерфейс, который мог бы контролировать ограниченную степень ссылочной целостности, которую я ищу.
Я мог бы сделать это как часть клиента достаточно легко, но мне интересно, будет ли размещение службы в облаке означать меньшую задержку в сети, учитывая, что любой запрос, который проходит через эти ссылки, вероятно, должен будет обращаться к трем разным таблицам и предположительно эти запросы должны быть намного быстрее между службой и хранилищем, размещенным в облаке, поэтому будет только один запрос из-за пределов облака, а не несколько.
Если это полезная стратегия, существует ли существующий инструмент для ее реализации? Если нет, что будет работать лучше или просто нет ощутимой пользы? Должен ли я просто отказаться от него и перейти на SQL для Azure или какое-то гетерогенное решение, в котором я храню свои большие данные в хранилище таблиц, а поиск и ссылки на таблицы — в SQL?