У меня есть веб-приложение, которое хранит большое количество текстовых данных. БД в настоящее время увеличивается на 1 ГБ в неделю. Я ожидаю, что это будет расти в геометрической прогрессии, поскольку мы получаем больше клиентов, поэтому 1 ГБ на этой неделе, 2 ГБ на следующей неделе, 4 ГБ на следующей неделе, затем 8 ГБ и т. Д. *
Сейчас эти данные хранятся в одной базе данных MS SQL 2008 размером 10 ГБ. Производительность сейчас отличная, никаких проблем пока нет.
Но я беспокоюсь о том, что произойдет через несколько месяцев, так как база данных продолжает расти. Я хочу убедиться, что мы можем масштабировать и производительность не влияет.
Кроме того, нам нужно найти хорошую стратегию резервного копирования для БД, которая не слишком дорога.
Я подумываю переместить хранилище в Amazon Simple DB или перенести наше веб-приложение в Azure и использовать таблицы Azure для хранения этих данных.
Преимущества Azure в том, что резервное копирование будет выполняться автоматически (как для таблиц Azure, так и для базы данных SQL Azure). Недостатками являются стоимость и тот факт, что несколько частей приложения необходимо будет реструктурировать для запуска в Azure и использования таблиц Azure.
Плюсы Simple DB в том, что мы в настоящее время находимся на EC2 и можем остаться там, и потребуется меньше переписать приложение, чтобы использовать SimpleDB вместо SQL Server. Минусы: нам все еще нужна эффективная стратегия резервного копирования для SQL Server.
Мы могли бы также просто оставить приложение в том виде, в каком оно есть сейчас, в базе данных MS SQL 2008 (я просто не уверен, насколько большой может обрабатывать БД SQL Server - максимальные примеры, которые я видел, составляют 1 ТБ или около того); но опять же, нам нужна эффективная стратегия резервного копирования и восстановления для довольно большой БД. Но преимущество заключается в том, что мы можем выполнять реляционные запросы к данным, поэтому наличие данных на сервере SQL имеет небольшое преимущество.
Мне интересно, какое лучшее решение? И как другие компании масштабируют такие большие и растущие базы данных. А также, какие варианты резервного копирования и восстановления являются лучшими?
Также подойдет любой совет или опыт, которым вы можете поделиться с таблицами Azure, SimpleDB или большими базами данных SQL Server!