Колоночная база данных: Объяснение системы

В то время как большинство баз данных распределяют информацию по строкам, колоночные базы данных работают по-другому. Здесь данные структурированы в столбцах. Какой в этом смысл? Читайте дальше и узнайте, какие преимущества дают колоночные базы данных.

Как структурируются колоночные базы данных?

Обычно базы данных структурируются строка за строкой. Для каждой записи система управления базой данных (СУБД) создает строку. Таким образом, поля, содержащие соответствующую информацию, перечисляются одно за другим. На этом принципе основаны, в частности, реляционные базы данных. Колоночные базы данных переворачивают эту систему. В этой системе каждый столбец представляет собой запись: данные для каждой записи располагаются вертикально (а не горизонтально, как в случае с построчными вариантами).

Ниже показан наглядный пример системы, основанной на строках:

Номер Фамилия Имя Ключ
1 Скайуокер Люк 3FN-Z768
2 Кеноби Оби-ван 7TR-K345
3 Органа Лея 8NN-R266

База данных с колонками, по сути, переворачивает эту таблицу на бок:

Номер 1 2 3
Фамилия Скайуокер Кеноби Органа
Имя Люк Оби-ван Лея
Ключ 3FN-Z768 7TR-K345 8NN-R266

Однако на самом жестком диске данные выглядят одномерными: они отображаются один за другим. Для баз данных, основанных на строках, это выглядит следующим образом:

1, Skywalker, Luke, 3FN-Z768; 2, Kenobi, Obi-wan, 7TR-K345; 3, Organa, Leia, 8NN-R266

Колоночные базы данных также сохраняют информацию один за другим. Но эта альтернативная ориентация приводит к другой последовательности данных:

1, 2, 3; Skywalker, Kenobi, Organa; Luke, Obi-wan, Leia; 3FN-Z768, 7TR-K345, 8NN-R266
Совет

Кроме столбцовых баз данных существуют и другие альтернативы традиционной модели. Все чаще используются базы данных NoSQL или их подкатегория — хранилища документов, а также связанные с ними базы данных «ключ-значение». Графовые базы данных также становятся все более популярными, поскольку эта модель способна очень эффективно отображать данные, объединенные в сеть.

Применение столбцовых баз данных

Реляционные системы, основанные на строках, используются в основном тогда, когда необходимо быстро выполнять большое количество транзакций. Запись, изменение и удаление записей очень хорошо работают с реляционными базами данных. Колоночные базы данных особенно полезны при анализе больших объемов данных.

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

Преимущества и недостатки колоночной базы данных

Колоночные системы управления базами данных играют в свою силу при анализе больших объемов данных — например, больших данных. Поскольку доступ к жесткому диску является основным узким местом при чтении любой базы данных, а этот доступ более эффективен при использовании столбцово-ориентированной СУБД, столбцовый вариант здесь действительно эффективен.

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

Еще одним преимуществом столбцовых баз данных является возможность сжатия. Данные в одном столбце всегда одного типа, например, строка или целое число. Поскольку все записи одного типа находятся рядом друг с другом, их можно сжимать более эффективно.

Самые известные колоночные базы данных

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

  • Amazon Redshift: Являясь частью Amazon Web Services (AWS), Redshift предлагает хранилище данных на основе столбцов для больших данных.
  • MariaDB ColumnStore: СУБД с открытым исходным кодом MariaDB (форк MySQL) предлагает комбинацию колоночной и реляционной базы данных с ColumnStore.
  • SAP HANA: Платформа разработки SAP также использует комбинацию реляционной и столбцовой базы данных.
  • Apache Cassandra: свободное программное обеспечение построено на базе Apache Hadoop и скомпилировано на Java.
  • MonetDB: Это программное обеспечение с открытым исходным кодом было разработано с особым упором на добычу данных.

Оцените статью
cdelat.ru
Добавить комментарий