Рекомендации по колоночно-ориентированной базе данных
Я обнаружил, что базы данных обычно бывают двух видов: традиционная RDBMS, ориентированная на строки, или объектно-ориентированная база данных (OODBMS). Тем не менее, в середине 90-х, я помню, появилось новое поколение баз данных, ориентированных на столбцы. Некоторым из них дали термин 4GL, но я не думаю, что это был застрявший термин.
Я хотел бы знать следующее:
- Какие базы данных, ориентированные на столбцы, еще существуют?
- Каковы характеристики производительности этих баз данных?
- Существуют ли базы данных с открытым исходным кодом, ориентированные на столбцы?
- С какими платформами они взаимодействуют (.NET, Java и т. Д.)
- Какой у вас был общий опыт с ними?
Я помню, как работали с двумя ориентированными на столбцы базами данных FAME и KDB.
7 ответов
HBase - это система баз данных с открытым исходным кодом, основанная на столбцах Google BigTable.
Infobright
Это ориентированный на столбцы движок MySQL
Вы можете использовать (почти) все MySQL API / интерфейсы / инструменты, но он ориентирован на столбцы.
Это с открытым исходным кодом и имеет бесплатную версию.
Это очень хорошо для складирования. У меня была таблица фактов 10Gig на сервере SQL. Infobright сжал его до 15 МБ.
Также посетите C-store Майкла Стоунбрейкера: C-store (включает ссылки на исходный код и исследовательскую работу)
Этот документ содержит отличную точку зрения на базы данных, ориентированные на столбцы, которые должны ответить на большинство ваших вопросов.
Чтобы процитировать статью,
"Most major DBMS vendors implement record-oriented
storage systems, where the attributes of a record (or tuple)
are placed contiguously in storage. With this row store
architecture, a single disk write suffices to push all of the
fields of a single record out to disk. Hence, high
performance writes are achieved, and we call a DBMS
with a row store architecture a write-optimized system.
In contrast, systems oriented toward ad-hoc querying
of large amounts of data should be read-optimized. Data
warehouses represent one class of read-optimized system,
in which periodically a bulk load of new data is
performed, followed by a relatively long period of ad-hoc
queries. Other read-mostly applications include customer
relationship management (CRM) systems, electronic
library card catalogs, and other ad-hoc inquiry systems. In
such environments, a column store architecture, in which
the values for each single column (or attribute) are stored
contiguously, should be more efficient. This efficiency
has been demonstrated in the warehouse marketplace by
products like Sybase IQ [FREN95, SYBA04], Addamark
[ADDA04], and KDB [KDB04]. In this paper, we discuss
the design of a column store called C-Store that includes a
number of novel features relative to existing systems."
Вот вики -ориентированная СУБД с ориентированными на столбцы реализациями СУБД, ориентированными на столбцы.
InfiniDB был недавно выпущен с открытым исходным кодом (GPLv2) Calpont. Он поддерживает большую часть MySQL API и хранит данные в виде столбцов, а также оптимизирован для крупномасштабной аналитической обработки.
Sybase IQ ориентирован на столбцы. Все столбцы автоматически индексируются при создании таблицы, и данные хорошо сжимаются в столбцах.
Это хорошая база данных OLAP (... хранилище данных), но я бы не рекомендовал ее для какой-либо обработки транзакций, поскольку она предназначена для операций хранилища данных.
Что касается характеристик производительности, SELECTS очень быстры для больших объемов данных, но INSERT / UPDATE / DELETE очень медленны по сравнению со стандартной базой данных OLTP, такой как, например, Sybase ASE. Блокировка таблиц также сильно отличается от базы данных OLTP, поэтому при работе в хранилище данных MAIN ожидайте исключительных блокировок таблиц для операций записи (INSERTS и т. Д.).
В противном случае он поддерживает T-SQL (версия Sybase) и Watcom SQL.
Ура,
Kevin