Для поддержания бесперебойной работы крупных проектов используют производительные сервера или целые кластеры серверных машин, где стоит, как правило, СУБД — комплекс программ для создания и манипулирования данными. Для выполнения команд — чтения, записи, удаления или создания выборки, клиент соединяется с сервером через сетевой интерфейс, о разновидностях которых мы будем говорить ниже, а перед этим остановимся на вопросах, которые чаще всего возникаю при планировании архитектуры серверной сети.
Почему для управления базой выделяют отдельный SQL-сервер
Главное назначение выделенного сервера БД состоит в размещении, обработке и хранении информации силами достаточно производительной конфигурации, при этом все это происходит посредством одной из предустановленных СУБД. Непосредственно сама система управления базами предоставляет доступ к ним клиентам и приложениям и обеспечивает оперативную обработку запросов. Описанный формат взаимодействия также называют архитектурой типа «клиент-сервер».
Любое обращение к реляционной БД происходит в большинстве случаев на самом распространенном языке запросов SQL. В свою очередь платформа, на которой запущена СУБД, «понимающая» этот язык, и называется SQL-сервером.
При небольших нагрузках допустимо (а иногда и оправданно) разместить базу данных на основной вычислительной машине. Более крупные проекты, где число ежедневных запросов к базе превышает 500, разумнее реализовывать уже на отдельном SQL-сервере. Это позволяет оборудованию не распыляться на сторонние задачи, а сосредоточиться на выполнении типовых процессов, под которые заранее рассчитаны ресурсы и мощность оборудования.
Системы управления базами данных
На базе SQL создан и поддерживается целый ряд программных продуктов: одна часть из них требует приобретения лицензии, другая свободно распространяется и развивается сообществом разработчиков.
MS SQL
Производительная и отказоустойчивая реляционная СУБД от Microsoft для многопользовательского использования в среде операционной системы Windows. Обладает возможностью удаленного подключения и поддерживает создание триггеров, оперирует всеми распространенными типами данных. Кроме того, для настройки системы реализованы функциональные и простые в использовании плагины.
Oracle Database
Программное решение от компании Oracle, созданное для объединения и управления базами данных в облаке. Позволяет проводить интерактивную аналитическую обработку, автоматизировать рутинные бизнес-операции, работать с файлами разметки XML, а также управлять как локальными, так и разделенными данными.
IBM DB2
Это заслуженная СУБД, разработанная корпорацией IBM, по праву известная своей производительностью. Она демонстрирует конкурентные технические показатели среди реляционных БД. SQL-серверы семейства Db2 отличаются кроссплатформенностью, широкими возможностями для масштабирования, поддержкой снапшотов и моментальным восстановлением баз, онлайн-управлением таблицами, внедрением пользовательских типов информации.
MySQL
Еще одна распространенная реляционная система управления, развиваемая компанией Oracle, применяется для удаленного либо локального взаимодействия с информацией и таблицами различных типов, поддерживающих механизм полнотекстового поиска. MySQL - опенсорсный проект, распространяемый по лицензии GNU.
PostgreSQL
Другая свободно распространяемая СУБД поддерживает базы данных неограниченного размера и обеспечивает высокий уровень безопасности, благодаря надежным механизмам репликации и транзакций. Будучи легко масштабируемой, PostgreSQL поддерживает широкий спектр типов данных - от денежных значений и XML до географических объектов.
Требования к конфигурации сервера баз данных
Взаимодействие с СУБД имеет ряд технических особенностей, что сказывается на особых требованиях к серверному «железу». В частности, чтобы обеспечить бесперебойную и эффективную работу, в сборке желательно предусмотреть:
- скоростное хранилище, позволяющее проводить существенное количество небольших операций за как можно меньшее количество времени, выражающееся в показателе IOPS;
- производительный процессор, способный выделить достаточно вычислительных мощностей на обработку запросов;
- большой объем RAM. В оперативной памяти должен помещаться кэш для быстрой работы с часто используемыми участками БД.
Немаловажное влияние на итоговую производительность сервера оказывает ожидаемая пиковая нагрузка и количество единовременных подключений. Одновременно с этим значение имеют ресурсоемкость установленных программных пакетов и характер задач: объем запрашиваемой информации, специфика наиболее частых запросов - просмотр, редактирование, удаление и запись, либо комбинированные запросы.
Пропускная способность сети
Еще одним важным фактором при выборе SQL-сервера может стать ширина канала связи, особенно это касается крупных проектов с большим числом единовременно подключенных клиентов.
Если взять, к примеру, сервер БД, с которым в моменте работает около 200 пользователей, то пропускная способность должна находиться в пределах: минимум - 200 Мбит в секунду; Оптимальная ширина канала - 2 Гбит/с.
При изменении числа подключений в N раз значения минимальной и рекомендуемой пропускной способности также изменяются в N раз.
Дисковая подсистема
Грамотное построение архитектуры хранилища для транзакционных операций - не менее важный шаг при развертывании сервера БД. Как правило, дисковая подсистема включает RAID-массив из жестких дисков, для создания которого необходим производительный RAID-контроллер. В массиве из нескольких накопителей IO-операции проходят одномоментно на нескольких дисках, поэтому показатель производительности IOPS должен линейно расти при добавлении новых накопителей в массив.
Значительно ускорить дисковую систему можно одним из способов:
- включением в массив скоростных SSD-накопителей,
- путем размещения дискретного IO-ускорителя в слот расширения PCIe,
- при использовании накопителей спецификации NVMe.
Такие устройства способны существенно ускорить обмен пакетами ценой ограниченного ресурса по сравнению с классическими винчестерами и высокой стоимости.
Сбалансированным по цене и производительности претендентом на установку в RAID массив является стандартный жесткий диск с интерфейсом SAS и скоростью вращения от 10 тысяч оборотов в минуту. Предпочтение также стоит отдавать современным накопителям малого форм-фактора 2.5 дюйма - такие диски способны выдерживать более высокие нагрузки в сравнении с привычными SATA. Более того, SAS-накопители оптимизированы для эксплуатации в RAID-массивах и демонстрируют заметный прирост в производительности.
Примеры сборок в зависимости от числа пользователей
Оценить ожидаемую нагрузку проще всего, исходя из числа одновременно подключенных пользователей, однако не следует забывать и о перспективах масштабирования, закладывая запас по производительности.
Для примера используем актуальные сборки одного из лучших производителей серверного оборудования Hewlett Packard Enterprise. По ним легко проследить эволюцию оборудования в зависимости от повышения требований.
Менее 10 подключений.
С такой нагрузкой справится система в минимальной комплектации, снабженная по меньшей мере двухъядерным чипом, с частотой более 2.2 ГГц, памятью DDR4 объемом 4 Гб, тремя средними накопителями SAS/SATA.
Под такие требования подходит хорошо знакомый многим MicroServer Gen10 Plus - (P18584-421). Недорогая, но хорошо продуманная сборка с процессором Intel Xeon E-2224 на четыре ядра с частотой 3.4GHz, и поддерживающая четыре LFF диска.
От 10 до 20 пользователей
Чтобы обеспечить стабильную работу в таких условиях требуется минимальная сборка из четырехъядерного процессора, работающего на частоте 2.3 ГГц, нескольких планок RAM типа DDR4 объемом от 8 Гб, и минимум трех SAS/SATA дисков со скоростью вращения шпинделя 7200 оборотов в минуту.
В качестве платформы для такого решения можно было бы подобрать, например, башенный ProLiant ML30 Gen10 - (P16929-421), в чью комплектацию входят четырех-ядерный Intel Xeon E-2234 на 3.6GHz и планка16GB ОЗУ, число которых можно увеличить до 4-х. Корзины на 4LFF должно хватить для размещения базы небольшой компании с лихвой.
От 20 до 50 клиентов
В этом случае для стабильной работы хватит восьмиядерного процессора с 16 Гб оперативной памяти и по меньшей мере шести накопителей интерфейса SAS/SATA со скоростью 7200 RPM. В качестве примера такой сборки может послужить башенный ML110 Gen10 - (P21440-421), с предустановленным IIntel® Xeon Silver 4208 на 8 ядер, c входящей в комплект планкой памяти на 16Gb и корзиной на 8SFF дисков, количество которых при необходимости можно довести до 16.
От 50 до 100 подключений
Чтобы обрабатывать запросы от такого количества клиентов, требуется сборка уже с 2 восьмиядерными чипами, работающими на тактовой частоте от 2.8 ГГц и выше, памятью DDR4 от 32 Gb (а лучше больше) и 10 SAS дисками с повышенной скоростью вращения. Для примера возьмем двухсокетный стоечный DL360 Gen10 - (P19774-B21) с уже упоминавшемся выше Intel® Xeon Silver 4208 и корзиной 8/10+1 SFF. Благодаря двум сокетам, количество CPU можно довести до двух и выйти на требуемую производительность по ядрам. 24 слота DIMM DDR с лихвой покроют любую потребность в ОЗУ.
От 100 до 200 пользователей.
Подобная нагрузка под силу вычислительной машине с двумя сокетами, занятыми 16-юядерными процессорами с частотой от 2.8 ГГц, ОЗУ DDR4 объемом 64 Гб и 16-ю SAS-накопителями со скоростью 10 000 RPM. Примером такой сборки может стать мощный двухсокетный DL380 Gen10 - (P20245-B21), укомплектованный процессором Intel® Xeon® Gold 6242 на 16 ядер и корзиной на 8/24+6 SFF 2.5" HP. Под ОЗУ выделено 24 слота форм-фактора DIMM DDR4, что опять же более чем достаточно.От 200 до 500 клиентов.
Для наиболее требовательных проектов предназначена предельная конфигурация: четыре 16-ядерных чипа с частотой от 3 ГГц, объем RAM свыше 128 Гб, а также 20 и более SAS-накопителей с частотой вращения шпинделя 10 000 оборотов в минуту.Подобная требовательная сборка может быть представлена великолепным четрехсокетным DL580 Gen10 - (P21273-B21) с Intel® Xeon® Gold 5220 на 18 ядер и огромной корзиной, где число накопителей может доходить до 48. Плюс 48 слотов под линейки 64 Гбайт, что говорит само за себя.
Защитить ценные сведения и организовать бесперебойный доступ к ним можно при помощи кластера таких серверов, при этом важно учитывать специфику выбранной СУБД.
Индивидуальные проекты
Мы готовы предложить большой выбор платформ: от моделей начального уровня для СУБД небольшого проекта, рассчитанного на 10-15 пользователей, до высокопроизводительных и отказоустойчивых кластеров многопроцессорных сборок корпоративного класса, выдерживающих пиковые нагрузки от тысячи одновременных подключений.
В конфигурировании индивидуальных сборок для решения нестандартных задач в любое время готовы прийти на помощь наши специалисты: они оценят сложность реализации и технические требования планируемого проекта, и на их основе подберут сбалансированное по своим характеристикам, цене и мощности решение. Для заказа консультации воспользуйтесь формой связи ниже.