| Среди реляционных столбцовых СУБД — [[Teradata Database]], [[Netezza]], [[Sybase IQ]], [[kdb]], [[C-Store]] (и её потомок {{iw|Vertica}}), [[Greenplum]], [[Hana]], {{iw|ParAccel}} (и её потомок [[Amazon Redshift]]), [[MonetDB]], [[ClickHouse]]. В ряде традиционных реляционных СУБД реализованы средства столбцового хранения ([[Oracle Database]], [[Microsoft SQL Server|MS SQL Server]], [[MariaDB]]), либо существуют дополнения (например, Citus для [[PostgreSQL]]). Основные форматы Hadoop — {{iw|RCFIle}}, {{iw|ORC|||Apache ORC}}, {{iw|Parquet|||Apache Parquet}}, {{iw|Apache Arrow}} — также используют столбцовую организацию. Столбцовыми СУБД являются ряд систем, ориентированных на работу со временными рядами ([[InfluxDB]], [[Apache Druid]]). | | Среди реляционных столбцовых СУБД — [[Teradata Database]], [[Netezza]], [[Sybase IQ]], [[kdb]], [[C-Store]] (и её потомок {{iw|Vertica}}), [[Greenplum]], [[Hana]], {{iw|ParAccel}} (и её потомок [[Amazon Redshift]]), [[MonetDB]], [[ClickHouse]]. В ряде традиционных реляционных СУБД реализованы средства столбцового хранения ([[Oracle Database]], [[Microsoft SQL Server|MS SQL Server]], [[MariaDB]]), либо существуют дополнения (например, Citus для [[PostgreSQL]]). Основные форматы Hadoop — {{iw|RCFIle}}, {{iw|ORC|||Apache ORC}}, {{iw|Parquet|||Apache Parquet}}, {{iw|Apache Arrow}} — также используют столбцовую организацию. Столбцовыми СУБД являются ряд систем, ориентированных на работу со временными рядами ([[InfluxDB]], [[Apache Druid]]). |
| + | Простой пример. Допустим, предусмотрено что запись состоит из 3 полей - метка времени, номер датчика, показатель (например, температура в градусах Кельвина). Для хранения создается 3 отдельных файла, и при поступлении входящего потока от набора датчиков СУБД разделяет соответствующую информацию на 3 отдельных операции добавления в конец каждого из трех файлов - отдельно массив меток времени, отдельно массив номеров датчиков, отдельно собственно показателей. Сама структура данных (время-датчик-градусы) оказывается распределенной по 3м файлам, но так как число строк в каждом файле одинаково, это дает возможность извлекать из них произвольные наборы записей для последующего анализа. |
| + | В случае, если столбцовая (колоночная) СУБД поддерживает четкую структуру полей и язык [[SQL]], их можно трактовать как классические SQL СУБД. В случае если база поддерживает неструктурированные поля (например, хранение фотографий с меткой времени сьемки), их можно трактовать как [[NoSQL]] или документо-ориентированные СУБД, но это различие не принципиально<ref>[https://habr.com/ru/post/413051/ Колоночные СУБД против строчных, как насчет компромисса?]</ref>. Существуют реализации механизмов хранения данных для некоторых распространенных реляционных СУБД, которые добавляют к ним режимы работы столбцового хранения (например, [[cstore fdw]],<ref>{{cite web|url=https://github.com/citusdata/cstore_fdw|title=Columnar store for analytics with PostgreSQL}}</ref> [[vops]]<ref>{{cite web|url=https://github.com/postgrespro/vops|title=Vectorized Operations extension for PostgreSQL}}</ref> для [[PostgreSQL]] или ColumnStore<ref>{{cite web|url=https://mariadb.com/kb/en/mariadb-columnstore/|title=MariaDB ColumnStore}}</ref> для [[MariaDB]]). |