Базы данных, сети дистрибуции контента, 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 компрессия проводится прямо в накопителе. Как и другие частые операции. Например:
Это помогает освободить ресурсы процессора и направить их на ускорение приложений. Принцип работы понятен, теперь расскажем, как это работает в реальных условиях.
Наша основная цель в том, чтобы 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.
Принцип работы
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.