XtremeData

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 00:04, 18 января 2019.
Xtremedata
Xtremedata logo.png
Создатели: XtremeData, Inc.
Выпущена: 2007
Состояние разработки: Active
Написана на: Java, Python, JavaScript, C
Операционная система: Кросс-платформенное
Локализация: Английский язык
Тип ПО: Движок SQL базы данных
Веб-сайт www.xtremedata.com

XtremeData - это движок базы данных для аналитики, разработанный для работы на обычном оборудовании в виртуализированной инфраструктуре приватных и публичных облачных хранилищ. [Источник 1]

Обзор

Возможности XtremeData

XtremeData позиционируется, как высокопроизводительная SQL база данных, способная поддерживать до 100TB данных. При этом XtremeData проста в развертке, администрировании и масштабировании.[Источник 2]

Основные преимущества XtremeData

Основными преимуществами XtremeData являются:

  • Гибкие варианты развертывания: несколько облачных хранилищ или On-Preimise
  • Прорывная производительность и масштабируемость MPP в облаке или в On-Preimise
  • Вертикальное и горизонтальное масштабирование для соответствия требованиям рабочей нагрузки
  • Механизм SQL, способный принимать большие объемы данных, быстро обрабатывать преобразования и выполнять расширенную аналитику на основе запросов.
  • Параллельная архитектура
  • Модель векторного исполнения
  • Модель ускорения SQL
  • Динамическое перераспределение данных
  • Автоматическая балансировка нагрузки
  • Мультиарендность [Источник 3]

Архитектура

Параллельность

Движок XtremeData был разработан с учетом современных вычислительных ресурсов, таких как многоядерные процессоры и высокоскоростные сети. В отличие от федеративных систем баз данных, в которых несколько полноценных экземпляров базы работают параллельно, XtremeData работает в виде одного экземпляра, который содержит в себе параллельный механизм работы с SQL. Основной программный уровень управляет всеми одноранговыми коммуникациями и обменом данными между узлами. Основным преимуществом такого подхода является более эффективная работа с Big Data, а также независимость XtremeData от архитектуры хранимой модели данных. Таким образом, XtremeData поддерживает суммарный объем таблиц до 100 TB, а скорость выполнения запросов при равных аппаратных мощностях выше в 10 раз в сравнении с федеративными базами данных.

Масштабируемость

Рисунок 1 – Параллельность в XtremeData


Отделенные от оборудования логические узлы могут быть сопоставлены с физическими узлами разного размера с различными ресурсами, такими как количество ядер и дисков. Это позволяет настраивать соотношения CPU-to-I/O. Благодаря этому, системы могут масштабироваться по одному узлу за раз, чтобы поддерживать рост. На рисунке 1 представлена схема реализации параллельности в XtremeData.

Модель векторного исполнения

Ядро XtremeData использует векторную модель исполнения, чтобы максимизировать полезную нагрузку и минимизировать накладные расходы на каждом этапе обработки. За счет многопоточного программного стека программное обеспечение работает с большими векторами строк, и все внешние операции ввода-вывода для дисков или сети выполняются через большие буферы памяти.

Динамическое перераспределение данных

Устаревшие базы данных были спроектированы так, чтобы минимизировать перемещение и обмен данными. Это приводит к значительным затратам времени, усилий и денег на разработку и поддержку одноконтурных решений. Помимо этого, такие решения не могут поддерживать более новые типы анализов и специальных запросов. XtremeData реализует высокоэффективную систему для динамического перераспределения данных по мере необходимости с использованием стандартных сетевых технологий. Обмен данными между узлами происходит как одноранговые переходные передачи во время выполнения для запросов. Обмен данными тщательно конвейеризирован с этапами обработки, так что время передачи в сети эффективно сокращено и не оказывает существенного влияния на время выполнения запроса. XtremeData гарантирует, что все объединения выполняются с почти одинаковыми скоростями. Динамическое перераспределение данных устраняет необходимость в моделях данных с учетом запросов и удобном размещении данных, что значительно сокращает время внедрения, трудозатраты и стоимость. Благодаря этому, XtremeData "из коробки" позволяет пользователям просто «загружать и работать» с любой моделью данных и любым размещением.

Модель ускорения SQL

XtremeData реализует ускорение операторов SQL с использованием таких методов, как генерация кода в реальном времени и компиляция “точно в срок”. Для ключевых операторов, необходимых для реализации планов SQL-запросов, были созданы оптимизированные библиотеки. Эти библиотеки используют все преимущества современных процессоров:

  • многоядерность
  • многоуровневая архитектура кеша
  • внутренние векторные единицы SIMD (Single Instruction Multiple Data)

Мультиарендность

На данный момент большинству решений для баз данных не хватает поддержки многопользовательского режима, то есть способности изолировать данные и ресурсы от разных групп пользователей. Такая изоляция чрезвычайно важна, поскольку она часто необходима для удовлетворения сегодняшних требований конфиденциальности. XtremeData была разработана для собственной поддержки мультиарендности, обеспечивая полную изоляцию данных и ресурсов. Это обеспечивает администраторам гибкость в выделении выделенных систем баз данных для соответствия различным соглашениям об уровне обслуживания (SLA) и в то же время позволяет управлять всеми системами как единым целым с помощью единого инструмента администрирования.

XtremeData поддерживает концепцию «наборов узлов» в кластере узлов. Это означает, что система из 100 узлов может действовать как одна система из 100 узлов, две разные системы из 50 узлов, пятьдесят разных систем из 2 узлов или любая комбинация, которую вы пожелаете. Администратор может легко разделить систему, чтобы изолировать одних пользователей от других. В облачных средах теперь вы можете отделить более высокооплачиваемых пользователей (на большем количестве узлов) от менее оплачиваемых клиентов (на меньшем количестве узлов). Оба типа пользователей получают одинаковые наборы функций, но могут применяться разные уровни производительности и обслуживания в зависимости от платы за использование.

Развертывание

Рисунок 2 – Варианты развертки XtremeData


На рисунке 2 перечислены варианты развертки XtremeData. Полнофункциональную многоузловую MPP-систему XtremeData можно развернуть в облаке или On-Premise. On-Premise может осуществляться на выделенном оборудовании или в виртуальных средах общего пользования. [Источник 4]

Развертывание через Azure MarketPlace

Источники

  1. XtremeData // Crunchbase Inc. [2019]. Дата обновления: 10.07.2017. URL: https://www.crunchbase.com/organization/xtremedata#section-overview (дата обращения 16.12.2018)
  2. XtremeData overview // XtremeData. Дата обновления: 08.06.2017. URL: https://www.xtremedata.com/product/features (дата обращения 16.12.2018)
  3. SQL Engine for High-Performance Analytics at Large Scale // XtremeData. Дата обновления: 02.06.2017. URL: http://xtremedata-inc.com/product/features (дата обращения 16.12.2018)
  4. XtremeData deployment // XtremeData. Дата обновления: 17.10.2017. URL: https://xtremedata.com/product/deployment (дата обращения 16.12.2018)