Ориентация на данные
-
Ориентация данных в базах данных
- Ориентация данных определяет способ хранения табличных данных в памяти.
- Существуют два основных типа ориентации: ориентированные на строки и ориентированные на столбцы.
-
Выбор ориентации данных
- Ориентация данных является компромиссом между производительностью и хранением.
- В онлайн-обработке транзакций (OLTP) чаще используются форматы, ориентированные на строки.
- В онлайн-аналитической обработке (OLAP) чаще используются форматы, ориентированные на столбцы.
-
Примеры форматов данных
- Примеры форматов, ориентированных на строки: CSV, форматы Postgres, Apache Spark, Apache Avro.
- Примеры форматов, ориентированных на столбцы: Apache ORC, Apache Parquet, Apache Arrow, форматы BigQuery, Amazon Redshift, Snowflake.
-
Описание данных в памяти
- Табличные данные двумерны, но современные операционные системы хранят их в линейной модели памяти.
- Ориентация данных решает, как проецировать двумерные элементы в одномерное пространство.
-
Преимущества и компромиссы ориентации данных
- Преимущества ориентации на строки: быстрый произвольный доступ к строкам, быстрая вставка новой строки.
- Преимущества ориентации на столбцы: быстрый произвольный доступ к столбцам, быстрый условный доступ, высокая вычислительная производительность, меньший несжатый и сжатый размер данных.
- Преобразование и взаимообмен данных между ориентациями требует больших вычислительных затрат.
-
Рекомендации
- В зависимости от типа обработки данных рекомендуется использовать форматы, ориентированные на строки или на столбцы.