CSS ScaleFlux, или как ускорить базы данных в два-три раза простой заменой NVMe

Базы данных, сети дистрибуции контента, big data, искусственный интеллект, машинное обучение — все эти data-driven сценарии требуют высокой производительности всей ИТ-инфраструктуры. Для подсистемы хранения все решается просто — установка скоростных NVMe и SSD вместо SAS и SATA. С вычислительной частью все сложнее — центральные процессоры не успевают за множеством операций, очень чувствительных ко времени. Для устранения этого «бутылочного горлышка» компания ScaleFlux разработала новые типы носителей. Внутри них бок о бок с 3D NAND памятью работают FPGA-компоненты, которые берут на себя множество типовых операций с данными. В этом посте мы подробно расскажем о решении ScaleFlux.


Принцип работы

CSS в случае со ScaleFlux — это Computational Storage System. Это устройство обычно имеет формат карты расширения PCI-E или накопителя формата U.2. Внутри установлена быстрая флэш-память — 1,6 ТБ, 3,2 ТБ или 6,4 ТБ — а также полупроводниковый компонент со сложным названием «программируемая пользователем вентильная матрица», более известная как FPGA.

В инфраструктуре с обычными SSD центральный процессор берет на себя все вычислительные операции. В том числе те, которые теснее всего связаны с данными. Например, сжатие — его проводят приложения, работающие с большими объемами информации, чтобы экономить место на дисках (GZIP-компрессия).

В инфраструктуре с CSS ScaleFlux компрессия проводится прямо в накопителе. Как и другие частые операции. Например:

  • Erasure Coding
  • Поиск в key-value хранилищах
  • Шифрование AES-128/256
  • Хэширование SHA-3

Это помогает освободить ресурсы процессора и направить их на ускорение приложений. Принцип работы понятен, теперь расскажем, как это работает в реальных условиях.

ScaleFlux в популярных приложениях

Наша основная цель в том, чтобы CSS ScaleFlux можно было использовать без танцев с бубном. Вместе с устройством мы поставляем пакет программ для Linux (требуется версия ядра от 2.6). С помощью пакета в течение нескольких минут настраивается FPGA, вычислительная часть CSS, к которой системы обращаются через совместимый API. Сейчас мы выпустили софт для использования в девяти популярных data-driven системах: MySQL, PostgreSQL, Hadoop, Aerospike, HBase, Hortonworks, RockDB, Spark, Vitesse Data.

Чтобы понять, стоит ли развивать поддержку той или иной системы, мы проводим бенчмарки, где сравниваем производительность аналогичных конфигураций с NVMe-картами и CSS ScaleFlux. Вот итоги:


На нашем сайте есть более подробные результаты по каждому из сценариев, с графиками и тестовыми конфигурациями

В списке официально поддерживаемых платформ пока отсутствуют несколько достаточно известных: MongoDB, Cassandra, Vertica и т.д. Мы работаем над совместимостью с этими системами и добавим их, когда уберем все возможные шероховатости. Если вы все-таки будете использовать CSS в работе с приложениями без официальной поддержки, то получите стандартный NVMe с блочным хранилищем. А потом при необходимости можете легко перейти к поддерживаемым системам и использованию вычислительной части.

Защита данных и общие вопросы

CSS ScaleFlux умеет использовать разные технологии для защиты информации: флэш-RAID, избыточную запись, сканирование и исправление ошибок. Постоянно создаются контрольные точки для критичной информации, например, адресных таблиц.

Для защиты от перебоев питания в CSS установлены дополнительные конденсаторы. При отсутствии внешнего питания их хватает на то, чтобы записать необходимую информацию без потерь. Для работы в условиях повышенной температуры предусмотрен троттлинг.

По цене CSS ScaleFlux сопоставимы с обычными NVMe-картами: разница обычно не превышает 9%.На практике часто бывает, что эта разница возмещается за счет сравнительной экономии пространства, достигаемой при «делегированной» компрессии. Гарантия на CSS ScaleFlux составляет три года из расчета 5 полных перезаписей данных ежедневно.

Можем поделиться некоторым опытом внедрения. Один наш финансовый заказчик обеспечивает 4 млрд транзакций по картам в год, фиксирует все данные в HBase и анализирует их, чтобы формировать новые предложения. После внедрения ScaleFlux объем, занимаемый его данными для анализа, уменьшился вдвое, как и время запроса по базе. Другой клиент, разрабатывающий средства цифровой защиты, использует другую БД — Aerospike. Он заменил шесть SATA SSD одной системой ScaleFlux и в результате увеличил скорость транзакций вдвое.

Если хотите посмотреть и протестировать CSS ScaleFlux, можете обратиться к нам через форму, в комментариях к посту, по почте ru@globaldots.com или по телефону +7-495-762-45-85.

FavoriteLoadingДобавить в избранное
Posted in Без рубрики

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *