Представлен (http://infinidb.org/infinidb-blog/infinidb-10-is-now-availab... первый релиз InfiniDB (http://infinidb.org/), нового хранилища для MySQL 5.1.x, предназначенного для организации обработки и выполнения аналитических запросов над большими массивами данных (Data Warehouse). InfiniDB подходит (http://infinidb.org/resources/what-is-infinidb) для создания хранилища для средств бизнес-аналитики, организации систем генерации отчетов и использования в программах с интенсивным чтением данных из БД. Слабое место InfiniDB - производительность добавления данных. Исходные тексты разработки распространяются в рамках лицензии GPL v2.В отличие от других хранилищ, InfiniDB хранит данные не построчно, а с разбивкой по столбцам (http://en.wikipedia.org/wiki/Column-oriented_database), что позволяет оптимизировать выполнение группировки по столбцам из БД большого размера (сотни гигабайт). Особенно эффективен подобный подход, когда данные в столбцах повторяются. Кроме построчного хран...
URL: http://infinidb.org/infinidb-blog/infinidb-10-is-now-availab...
Новость: https://www.opennet.ru/opennews/art.shtml?num=25267
# Отсутствует необходимость в создании индексов, так как индексация при вертикальном и горизонтальном партицировании производится автоматически;Как это? А какой индекс создастся: лоакльный на каждой партиции или глобальный на всей таблице? А если партицирую по дате (заключения договора), что вероятнее всего, а индекс нужен на номере договора и еще много где, но не на дате.
Может быть просто для реализации партицирования используется индекс? Только вот зачем?
По ходу индекс вообще не создаётся. Обычное дело в Data Warehouse - если у тебя 99+% запросов приводит к full table scan, то тебе индексы - как велосипед Электронику.
>По ходу индекс вообще не создаётся. Обычное дело в Data Warehouse -
>если у тебя 99+% запросов приводит к full table scan, то
>тебе индексы - как велосипед Электронику.99% запросов - это сильно сказано, гораздо меньше и не всех таблиц. И смотря какой full scan. Зачем выбирать данные за 1999 год, когда в большинстве отчетов понадобятся последние несколько кварталов - тут партиции помогут существенно.
Индексы все же очень нужны - часто лучше соеденить куски нескольких таблиц, нежели денормализовать все в одну большую fact table. Не говоря уже о других типах индексов (bitmap индексы), без которых сложно себе представить хранилище данных.
Конкретный пример из банковской сферы: посчитать кредитную задолжность по группе взаимосвязных клиентов: нужно из таблиц выбирать данные только по нескольким клиентам, а не по всем - тут без индексов все встанет.
может просто почитать материалы?
Automatic vertical and horizontal partitioning: In addition to being column-oriented, InfiniDB also uses a form of logical horizontal range partitioning that does not require special storage placement or schema design. Using both vertical and logical horizontal range partitioning allows InfiniDB to reduce I/O in both directions (column and row).Да, индексов не вижу.
Непонятно, как же постгрес обходится без всего этого зоопарка хранилищ.. А в мускуле по сути под каждую задачу есть своё оптимизированное под неё хранилище.
Вы бы еще оракл привели :))) Как показывает жизнь, специализированные решения почти всегда лучше комбайнов-универсалов.
Оракл - закрытый монстрообразный продукт.А мускул с постгресом - оба вполне себе свободны, оба с достаточно прямой и понятной для разработчиков архитектурой, но различные хранилища клепают только под мускул.
> но различные хранилища клепают только под мускулэто упрёк? В таком случае, вы наверное и кучу встраиваемых в постгре языков считаете недостатком и возмущаетесь, ага? Я считаю это - дополнительное преимущество, которое позволяет эффективнее решать задачи, предусмотренными для этого хранилищами :)))
> это упрёк?Ни в коем разе, Вы что, как раз наоборот.
А интересуют причины. Почему под мускул разрабатывают различные хранилища, а под постгрес нет? Мускул проще для разработчика? Или в постгресе и так всё хорошо? Или лицензия не нравится? Или что?
Потому что у мускула есть интерфейс плагинов. Если человеку дать дубину - он ищет ей различные применения :)))
Кстати, у постгре тоже фишка есть - встраиваемые языки. Они тоже не остановились на одном языке.
> Если человеку дать дубину - он ищет ей различные применения :)))А какое основное применение дубины? :)
>> Если человеку дать дубину - он ищет ей различные применения :)))
>
>А какое основное применение дубины? :)Создать согласие с мнением хозяина дубины =)
>>> Если человеку дать дубину - он ищет ей различные применения :)))
>>А какое основное применение дубины? :)
>Создать согласие с мнением хозяина дубины =)Следовательно не дубина виновата, а хозяин.
>>>> Если человеку дать дубину - он ищет ей различные применения :)))
>>>А какое основное применение дубины? :)
>>Создать согласие с мнением хозяина дубины =)
>
>Следовательно не дубина виновата, а хозяин.В случае дубины - да)
Но это издержки аналогии.
>> Если человеку дать дубину - он ищет ей различные применения :)))
>
>А какое основное применение дубины? :)Усиленная аргументация. :)
>Вы бы еще оракл привели :))) Как показывает жизнь, специализированные решения почти
>всегда лучше комбайнов-универсалов.Дык у оракла есть компоненты для ОЛАП хранилищ!
>Непонятно, как же постгрес обходится без всего этого зоопарка хранилищ.. А в
>мускуле по сути под каждую задачу есть своё оптимизированное под неё
>хранилище.Наверное поэтому постгрес и не рационально применять для ОЛАП задач.