Хранилища столбца: сравнение основанных на столбце баз данных

Просто дикая догадка, но ваши , эти ссылаются на две разные вещи в ваших контроллерах.

Когда в вашем контроллере A все работает как чудо, но затем вы загружаете контроллер B, и проверка для this.ABC возвращает false, и ваш код пытается загрузить фрагмент, который уже находится в DOM ошибка дублирующегося идентификатора.

6
задан JD Long 19 March 2009 в 00:50
поделиться

5 ответов

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

A Хранилище строк, традиционная архитектура базы данных, позволяет вставлять небольшое количество строк, обновлять строки на месте и запрашивать небольшое количество строк. В хранилище строк эти операции могут выполняться с одним или двумя дисковыми блоками ввода-вывода.

Аналитические базы данных обычно загружают тысячи записей за раз; иногда, как в вашем случае, перезагружают все. Они имеют тенденцию к денормализации, поэтому имеют много столбцов. И во время запроса они часто читают большую часть строк в таблице, но только некоторые из этих столбцов. Таким образом, с точки зрения ввода-вывода имеет смысл хранить вместе значения одного и того же столбца.

Оказывается, это дает базе данных огромные возможности для сжатия значений. Например, если строковый столбец имеет среднюю длину 20 байтов, но имеет только 25 различных значений, база данных может сжиматься примерно до 5 бит на значение. Базы данных колоночного хранилища часто могут работать без распаковки данных.

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

Базы данных с хранилищами столбцов также имеют другие аналитические функции, такие как индексы растровых изображений (еще один случай, когда лучшая организация обеспечивает лучшее сжатие, сокращает ввод-вывод и допускает алгоритмы, которые более эффективное использование ЦП), разделы и материализованные представления.

Другой фактор - использовать ли базу данных с массовым параллелизмом (MMP). Существуют базы данных MMP с хранилищем строк и хранилищем столбцов. Базы данных MMP могут масштабироваться до сотен или тысяч узлов и позволяют хранить огромные объемы данных, но иногда имеют компромиссы, такие как более слабое понятие транзакций или язык запросов, не совсем похожий на SQL.

Я бы рекомендовал это вы даете LucidDB попробовать. (Отказ от ответственности: я являюсь приверженцем LucidDB.) Это база данных хранилища столбцов с открытым исходным кодом, оптимизированная для аналитических приложений, а также имеет другие функции, такие как индексы растровых изображений. В настоящее время он работает только на одном узле, но эффективно использует несколько ядер и может обрабатывать разумные объемы данных без особых усилий.

Базы данных MMP могут масштабироваться до сотен или тысяч узлов и позволяют хранить огромные объемы данных, но иногда имеют компромиссы, такие как более слабое представление о транзакциях или не совсем SQL-язык запросов.

Я бы рекомендовал это вы даете LucidDB попробовать. (Отказ от ответственности: я являюсь приверженцем LucidDB.) Это база данных хранилища столбцов с открытым исходным кодом, оптимизированная для аналитических приложений, а также имеет другие функции, такие как индексы растровых изображений. В настоящее время он работает только на одном узле, но эффективно использует несколько ядер и может обрабатывать разумные объемы данных без особых усилий.

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

Я бы рекомендовал это вы даете LucidDB попробовать. (Отказ от ответственности: я являюсь приверженцем LucidDB.) Это база данных хранилища столбцов с открытым исходным кодом, оптимизированная для аналитических приложений, а также имеет другие функции, такие как индексы растровых изображений. В настоящее время он работает только на одном узле, но эффективно использует несколько ядер и может обрабатывать разумные объемы данных без особых усилий.

ма коммиттер в LucidDB.) Это база данных с открытым исходным кодом для хранения столбцов, оптимизированная для аналитических приложений, а также имеет другие функции, такие как индексы растровых изображений. В настоящее время он работает только на одном узле, но эффективно использует несколько ядер и может обрабатывать разумные объемы данных без особых усилий.

ма коммиттер в LucidDB.) Это база данных с открытым исходным кодом для хранения столбцов, оптимизированная для аналитических приложений, а также имеет другие функции, такие как индексы растровых изображений. В настоящее время он работает только на одном узле, но эффективно использует несколько ядер и может обрабатывать разумные объемы данных без особых усилий.

8
ответ дан 8 December 2019 в 17:27
поделиться

Мы могли бы быть лучше способны помочь Вам достигнуть обоснованного решения, если бы Вы описали [1] Ваша определенная цель и [2] проблемы, Вы сталкиваетесь с SQL Server.

0
ответ дан 8 December 2019 в 17:27
поделиться

Это похоже на изменение реализации (2-D массив в порядке развертывания по столбцам вместо главного строкой порядка), а не интерфейсное изменение.

Думайте шаблон "стратегии", вместо того, чтобы быть всем сдвигом парадигмы. Конечно, я никогда не использовал эти продукты, таким образом, они могут на самом деле вызвать сдвиг парадигмы вниз Ваше горло. Я не знаю почему, все же.

0
ответ дан 8 December 2019 в 17:27
поделиться

I have some experience with Infobright Community edition --- column-or. db, based on mysql.

Pro:

  • you can use mysql interfaces/odbc mysql drivers, from R too
  • fast enough queries on big chunks of data selection (because of KnowledgeGrid & data packs)
  • very fast native data loader and connectors for ETL (talend, kettle)
  • optimized exactly that operations what I (and I think most of us) use (selection by factor levels, joining etc)
  • special "lookup" option for optimized storing R factor variables ;) (ok, char/varchar variables with relatively small levels number/rows number)
  • FOSS
  • paid support option
  • ?

Cons:

  • no insert/update operations in Community edition (yet?), data loading only via native data loader/ETL connectors
  • no utf-8 official support (collation/sort etc), planned for q3 2009
  • no functions in aggregate queries f.e. select month (date) from ...) yet, planned for July(?) 2009, but because of column storage, I prefer simply create date columns for every aggregation levels (week number, month, ...) I need
  • cannot installed on existing mysql server as storage engine (because of own optimizer, if I understood correctly), but you may install Infobright & mysql on different ports if you need
  • ?

Resume: Хорошее FOSS решение для повседневных аналитических задач, и, думаю, ваших задач тоже.

2
ответ дан 8 December 2019 в 17:27
поделиться

4 миллиона строк, умноженные на 20 столбцов, умноженные на 8 байтов, для двойного числа - 640 МБ. Следуя эмпирическому правилу, R создает три временных копии для каждого объекта, мы получаем около 2 ГБ. По сегодняшним меркам это немного.

Таким образом, это должно быть выполнено в памяти на подходящей 64-битной машине с «приличным» объемом оперативной памяти (скажем, 8 ГБ или больше). Установить Ubuntu или Debian (возможно, в серверной версии) можно за несколько минут.

3
ответ дан 8 December 2019 в 17:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: