Skip to content

Latest commit

 

History

History
23 lines (18 loc) · 2.32 KB

lect0.md

File metadata and controls

23 lines (18 loc) · 2.32 KB

Лекция 0. Вводная

Composable database

Современные базы данных являются конструктором, который состоит из меньших деталей. Выделяют 4 части:

  1. Форматы хранения (Apache Arrow, Apache Parquet)
  2. Оптимизатор (Apache Calcite, Substrait)
  3. Compute (Trino/Presto, Velox)
  4. Транзакции (Apache Iceberg, Apache Hudi)

Виды СУБД

OLTP (Online Transaction Processing): заточены, чтобы сохранять текущие изменения, взаимодействия с пользователями. Например, MySQL, Oracle, Apache Kafka. Нужны, чтобы максимально быстро и изменять небольшое количество строк в таблице, но у этой таблицы может быть большое количество строк. В основном записи, а не чтения.

OLAP (Online Analytical Processing): заточены для анализа накопленной исторической информации. Работают с большим количеством строк и с маленьким количество аттрибутов, в основном читающая нагрузка.

Зачастую, в OLTP СУБД данные хранятся в строках, например, в Postgres, а в OLAP системах зачастую хранятся поколоночно (Clickhouse). Есть еще HTAP системы, которые пытаются быть "и нашим и вашим", но успехов у них не особо много. Пример HTAP базы данных – SAP Hana, MemSQL, туда же целится YDB. Обычно имеют два вида баз данных внутри, OLAP и OLTP, вместо одной универсальной БД.

Свойста распределенных аналитических SQL-движков

  1. SQL-интерфейс
  2. Отделение compute от storage
  3. Параллельность
  4. Распределенность
  5. Колоночное хранение
  6. Компиляция запросов (JIT)