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.
    • +11
    • 2,7k
    • 2
    GlobalDots 5,38
    GlobalDots — We Make IT Faster!
    Поделиться публикацией
    Комментарии 2
    • 0
      Вот решили попробовать недавно NVME диски для постгресса — все круть, раза в 2 стало все отзывчивей, но пушной зверек пришел через неделю и привел kernel panic с собой, сначала грешили на дохлый nvme, но после перезагрузки все работало днями, потом как оказалось — это был баг в ядрах linux, пришлось накатывать новое ядро из репозитория…
      Новейшие технологии — все таки, некоторый риск для продакшена.
      • 0
        Именно для избежания подобных случаев мы всегда делаем с заказичками POC в течение месяца-двух, чтобы они могли проверить все нюансы своего приложения на новом продукте.
        Как говорится семь раз отмерь…

      Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

      Самое читаемое