Мы небольшой запуск с помощью приложения SAAS для записи и (наконец!) До того момента, когда наше использование приводит к проблемам масштабирования. У нас небольшая команда, поэтому мы очень ценим возможность разгрузить системный администратор для Heroku и RDS.NewSQL против традиционной оптимизации/ошпаривания
В то время как Heroku (в основном) в порядке, у нас есть несколько проблем с RDS:
- Scaling. Это самая большая проблема. В настоящее время мы запускаем экземпляр XL RDS. Мы сможем провести некоторое время с простой оптимизацией, но, если мы не сделаем некоторые существенные структурные изменения в нашем приложении, в какой-то момент мы столкнемся с узким местом.
Кроме того, время простоя для изменения размера экземпляра отстой.
Доступность. Мы запускаем мульти-AZ-экземпляр, поэтому нам нужно выжить в одном отключении AZ. Но RDS построен на EBS, что заставляет меня очень беспокоиться, учитывая историю и дизайн EBS.
Цена. Наш счет RDS составляет 4 раза, что мы платим Heroku. Я не против платить Amazon, чтобы спасти меня от найма администратора, но я хотел бы найти что-то дешевле.
На мой взгляд, у нас есть два варианта продвижения вперед: традиционный подход (шардинга, проводя ночные работы, чтобы переместить части нашей базы данных только для чтения и т.д.); или решение NewSQL (Xeround, VoltDB, NimbusDB и т. д.).
Традиционные профи: это было сделано много раз раньше, и есть довольно стандартные способы сделать это.
Традиционные минусы: это займет много работы и внесет значительную сложность в приложение. Это также не решит вторичные проблемы с RDS (доступность и цена).
Преимущества NewSQL: предположительно, эти решения будут горизонтально масштабировать нашу базу данных без изменения кода приложения (с учетом нескольких ограничений на функциональность SQL, таких как использование пессимистической блокировки). Это сэкономит нам огромную работу. Это также повысит надежность (без единой точки отказа) и уменьшит затраты (не имея возможности запуска экземпляра XL в нерабочее время, чтобы обеспечить максимальное использование).
NewSQL cons: Эти решения относительно молоды, и я не смог найти никаких хороших отзывов или комментариев о людях с ними в производственных приложениях. Я нашел только один доступный хостинг-решение (Xeround), поэтому, если мы не поедем с ним, нам придется инвестировать ресурсы в sysadmin.
Мне интересно, какие мнения касаются моего наилучшего варианта.
Xeround ужасно заманчиво (размещен NewSQL), но я не смог найти его полезной информации в процессе производства. Несколько твитов, которые я видел, это люди, жалующиеся на то, что это немного медленнее. Я довольно нервничаю, чтобы двигаться к чему-то, что кажется таким непроверенным.
Консервативная сторона меня говорит, чтобы придерживаться RDS и использовать традиционный подход. Но это будет очень дорого с точки зрения времени разработчика.
А потом часть меня задается вопросом, есть ли другой способ, возможно, более раннее решение с поддержкой NewSQL, о котором я не слышал. Или, может быть, решение NewSQL, которое мы должны были бы провести самостоятельно, но это имеет очень прочную историю.
Заранее благодарим за ваши мысли.