Движок хранения

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

В настоящее время система базы данных YMatrix поддерживает использование нескольких движков хранения:

  • HEAP на базе PostgreSQL
  • AO (оптимизированный для добавления) на базе Greenplum
  • MARS2, разработанный YMatrix
Движок хранения Описание
HEAP Движок хранения, предоставляемый базой данных PostgreSQL, также известный как кучи (heap-таблицы), использует построчное хранение. Такие таблицы поддерживают большое количество одновременных операций чтения и записи, транзакции, индексы и другие функции
AO Движок хранения, предоставляемый базой данных Greenplum, также известный как таблицы с оптимизацией для добавления, использует формат хранения Append-optimized (AO) для пакетной загрузки и чтения данных, обеспечивая преимущества в производительности по сравнению с HEAP-таблицами. Оптимизированное для добавления хранение предоставляет контрольные суммы для защиты данных, сжатие и поддержку построчного/постолбцового формата. Таблицы с оптимизацией для добавления строк или столбцов могут сжиматься
MARS2 Движок хранения, разработанный на основе MARS, снижает количество операций адресации ввода-вывода за счет физически упорядоченного метода слияния, тем самым повышая производительность запросов к данным в таблице. MARS2 поддерживает сжатие, хранение по столбцам, автоматическое архивирование, предварительную агрегацию и другие функции, демонстрируя превосходную производительность в сценариях временных рядов. В плане сжатия MARS2 предоставляет настраиваемые решения: Цепочки кодирования (mxcustom). Включение цепочек кодирования позволяет выполнять детализированное, целенаправленное и настраиваемое глубокое сжатие таблицы. Подробно это означает набор алгоритмов кодирования, разработанных YMatrix, таких как deltadelta, deltazigzag и др.; целенаправленность означает возможность ориентации кодировок на столбцы, что обеспечивает более точную и специфическую настройку по сравнению со сжатием на уровне таблицы; настраиваемость означает способность цепочек кодирования комбинировать алгоритмы сжатия, позволяя дополнительно комбинировать алгоритмы на основе типов данных и общих алгоритмов для достижения лучшего эффекта сжатия. В настоящее время таблицы MARS2 не поддерживают обновления и удаления

Принципы движения хранения

Лучшие практики проектирования таблиц

Использование сжатия

Диагностика состояния хранения