Поиск по сайту:

Какое хранилище AWS следует использовать для сервера базы данных?


Производительность базы данных сильно зависит от производительности базовой памяти. Для чтения наличие большого количества оперативной памяти может ускорить процесс, но для операций с интенсивной записью узким местом является SSD жесткого диска, на котором он заканчивается. У AWS есть множество вариантов хранения, так какой из них лучше для вас?

Инстансы EC2, ориентированные на базу данных

Помимо основного хранилища, на производительность базы данных влияет множество других факторов. AWS имеет множество различных классов экземпляров с отдельными уровнями внутри них.

Наиболее ориентированными на базы данных являются экземпляры серии R5. Тезисы оптимизированы для производительности памяти, как по скорости и размеру ОЗУ, так и по производительности EBS. Они предлагают высокое соотношение количества ядер к доступной памяти, вплоть до 768 ГБ ОЗУ на r5.24xlarge.

Существует также серия r5d, подкласс R5, которая предлагает прямой локальный диск, а не EBS. Самый большой уровень включает четыре твердотельных накопителя NVMe емкостью 900 ГБ. Меньше по размеру, чем максимальная емкость EBS, но будет иметь звездную производительность и большую задержку.

Существует также серия D3, предлагающая максимально возможный объем локального хранилища для инстанса EC2, до 336 ТБ. Если вы хотите запустить особенно массивный экземпляр, хранящий много данных, D3 может подойти вам лучше всего.

Типы томов EBS

EBS имеет несколько разных уровней. Наиболее распространенным является gp3, который представляет собой том общего назначения на основе SSD, который обеспечивает стабильную производительность по более высокой цене, чем тома на основе жесткого диска. gp3 – это последнее поколение, заменяющее gp2 и предлагающее в 4 раза более высокую производительность при использовании твердотельных накопителей PCIe Gen 4.

gp3 использует модель ценообразования «взрывной корзины». В зависимости от размера тома он зарабатывает «кредиты ввода-вывода» в час, которые автоматически используются для покупки IOPS или операций ввода-вывода в секунду. Это позволяет быстро увеличивать производительность, когда это необходимо, но если вам нужна стабильная и стабильная производительность, полагаться на это не лучшая идея. Существует также максимальное количество операций ввода-вывода в секунду; для gp3 это 16 000.

Тома зарабатывают кредиты ввода-вывода по ставке 3 за ГБ в секунду. Это означает, что если у вас объем больше 1 ТБ, ваша корзина всегда будет заполнена, и вам не придется беспокоиться о резком увеличении производительности. Все, что ниже этого, и вы ограничены базовой производительностью в зависимости от того, сколько кредитов вы заработаете.

На практике это означает, что если вам нужна дополнительная производительность, вы захотите использовать второй том на основе SSD, io2, также известный как Provisioned IOPS SSD. Это позволяет вам буквально покупать производительность диска напрямую, выделенную для вашего тома EBS. Лучший уровень, io2 Block Express, предлагает до 4000 МБ/с на том и 7500 МБ/с на инстанс.

Это в четыре раза больше, чем у gp3, но только если вы можете заплатить за это — полоса пропускания стоит дорого, и вам придется платить за каждый ее бит. Топовый том io2 легко может стоить тысячи долларов в месяц, больше, чем работающий на нем инстанс EC2. Это не считая 83-процентного увеличения стоимости хранения в пересчете на гигабайт.

Хотя io2 – это вариант для клиентов, которым нужна максимальная производительность, которую они могут получить, если только вы не используете свой диск на полную мощность, тома общего назначения gp3 подходят многим. люди.

Объемы жесткого диска

Существует два основных тома жесткого диска EBS: тома жесткого диска с оптимизированной пропускной способностью (st1) и тома холодного жесткого диска (sc1). Названия говорят сами за себя — st1 оптимизирован для достаточно приличной скорости последовательного чтения (хотя скорость произвольного чтения ужасна, как и у всех жестких дисков). Для некритичных приложений, требующих больших размеров файлов, sc1 предлагает отличную производительность локального хранилища.

Оба типа томов также используют модель пакетной корзины, но имеют фиксированное число Мбит/с в зависимости от размера тома.

Однако для баз данных производительность произвольного чтения и записи может иметь большое значение, как и задержка. На дворе 2020 год, и вашим пользователям не нужно ждать, пока диск раскрутится, и ждать, пока магнитная считывающая головка извлечет некоторые основные данные. Не говоря уже о том, как он будет обрабатывать сложные SQL-запросы, которые могут привести к остановке диска.

Для всего, с чем сталкивается пользователь, важна производительность, и вам следует использовать SSD. Единственный случай, когда это имеет смысл, - это приложения с тяжелым чтением, когда база данных достаточно мала, чтобы ее можно было хранить в основном в памяти, но даже в этом случае она будет достаточно мала, чтобы небольшая надбавка даже за базовый том gp3 стоила того. .

Однако для больших данных, аналитики и других внутренних баз данных база данных может быть настолько большой, что стоимость локального хранилища будет слишком высока для работы на твердотельных накопителях. Если вы хотите запустить озеро данных большой емкости или кластер с несколькими серверами, вас может не сильно волновать чуть более низкая скорость диска, особенно если это экономит ваши деньги в процессе.