Несколько вопросов / вопросов:
- Код, который вы выполняете, написан на T-SQL или на каком-либо другом языке программирования?
- Может ли обработка выполняться параллельноили он должен быть последовательным?
- Где сейчас узкие места?Это в вычислениях или в поиске / хранении данных?
Учитывая то, что вы сказали до сих пор, и проблемы, которые я видел в прошлом с большими базами данных, я бы задал вопрос, является ли SQL Server подходящим хранилищемтехнологии на всех.Правда, он предназначен для транзакционных запросов, но у вас есть только одна таблица базы данных.Это означает, что весь аспект «реляционной базы данных» выходит из окна, если только он сам не ссылается (что может создать мир других проблем, поэтому я пока проигнорирую это и предположу, что это не так).Конечно, есть способы убедиться, что вы не столкнетесь с условиями гонки при обработке данных с использованием хранилища NoSQL, и я не могу представить, что транзакции будут абсолютно необходимы.При выполнении вычислений, если не удается сохранить результат, повторите попытку.В худшем случае вы переделываете вычисления.
32 ГБ данных для SQL Server в одной таблице - это МНОГО данных, и я предполагаю, что там, вероятно, есть какие-то индексы.Если ваш SQL Server не настроен должным образом (с использованием большого количества физических шпинделей и распределением данных между ними), вы можете легко столкнуться с серьезными проблемами производительности в SQL из-за дискового ввода-вывода.
Шансыдействительно хорошо, что Microsoft сможет масштабировать SQL Azure немного лучше, чем средний разработчик SQL, потому что они знают, как это должно быть сделано.Однако это не означает, что нет ограничений на пропускную способность или на то, как быстро вы можете запрашивать / добавлять данные, потому что они есть.
Мой совет - изучить использование таблиц Azure (в основном это NoSQL).таблица), потому что это позволит вам разделить данные на несколько узлов.Такое разбиение позволяет вам масштабировать объем хранимых данных до 100 ТБ, не снижая при этом скорость запросов.
Кроме того, база данных SQL Azure 32 ГБ обойдется вам в 400 долларов в месяц, а хранилище таблиц Azure 40 ГБ с5 миллионов транзакций с хранилищем обойдутся вам всего в 11 долларов в месяц.Вам нужно будет добавить «стоимость» рабочих узлов, но теоретически они должны быть эквивалентны.Таким образом, опция «Таблицы» дешевле в месяц, но если это бизнес, поддерживающий проект, тогда стоимость, вероятно, будет намного меньше, чем время, затрачиваемое на его разработку.
Вам нужно будет учесть время, которое нужно потратить32 ГБ данных в облако.Загрузка базы данных SQL может занять довольно много времени, и вам каким-то образом понадобится получить данные там.Зависит от того, насколько быстро вы можете направить данные в облако, и сможете ли вы начать обработку до того, как все это будет сделано.
Проблема, с которой я столкнусь, заключается в том, чтобы использовать таблицы Azure вместо SQLAzure, вам нужно будет сделать некоторые компромиссы.Скорее всего, вам потребуется преобразовать данные в таблицы Azure, затем написать код обработки и т. Д. В конце концов, это может не стоить этого.
Однако я не думаю, что этого достаточноинформация здесь, чтобы сделать этот звонок только сейчас.Действительно большой вопрос заключается в том, есть ли возможность распараллелить обработку и как долго вы оцениваете обработку на одной машине.Следующие вопросы, на которые нужно ответить, это то, сколько времени потребуется на сборку, а сколько времени вам нужно на это сделать.
Судя по вашим комментариям о блокировке базы данных на несколько дней, я не думаю, что она не соответствуетпредположим, что вы, вероятно, испытываете проблемы с базой данных прямо сейчас.В зависимости от дополнительной обработки, которую вы ожидаете в будущем, у вас может не быть другого выбора, кроме как оценить вариант NoSQL.
Я не хочу давать здесь ответ "все зависит", но если вы дадите некоторые дополнительные детали,Я был бы рад обновить это и дать вам лучшее представление о том, куда идти и что делать.