Ключевая фраза. Где вы будете делать из 40 таблиц одну широкую? В какой среде?
В среде КХ конечно, мы ведь про него говорим.
Аналитик даст вам БТ на создание плоской витрины, источником для которой является 40 таблиц и крутись как хочешь. И дальше вы сами посмотрите как вам придется извратиться чтобы эту саму витрину построить в среде КХ. Сколько трудозатрат вы туда положите и времени.
Сделать-то можно, вопрос тро трудозатраты действительно остро встанет. Тут я согласен.
любой mpp sql движок справится с этой задачей лучше CH: greenplum, vertica, impala, snowflake и тд. Какой то будет чуть хуже, какой то чуть лучше, но в правильном подходе все в ЭТОЙ задаче будут работать лучше CH
Принимается.
… CH как движок для доступа к подготовленным где то во вне данным с ограниченным функционалом использования — очень хорошее решение...
Дополню только, к подготовленным во вне или частично внутри КХ. Все таки не стоит совсем скидывать со счетов внутренние мехнизмы агрегации.
Смотря какие запросы. Как только выходите за рамки «select function from where group by having» и подкинете «58 джойнов» в одни запрос начнутся проблемы. Тут можно долго рассуждать правильно или нет писать такие запросы, но их пишут :) К тому же SQL пока не все может. Те вы по сути на входе в систему ограничиваете себя в функциональности
Как я уже говорил CH хоть и имеет sql, при этом имеет другой формат хранения — колонки, а не строки. И сами разработчики и кто с ним активно работают рекомендовали не использовать много таблиц, а делать одну большую с кучей колонок. При выборке в select указывается набор из колонок и только по ним будет работать выборка. Тут есть как плюсы так и минусы. Однако в своей практике я использовал несолько таблиц (чисто по привычке) и делал на них джоины, не 58, но и не два и каких-то проблем не заметил. Для объективности надо тестировать.
Представьте что на входе у вас 40 таблиц на основе которых нужно разработать поток обработки который сформирует широкую таблицу...
Поскольку я не аналитик, видимо не совсем понимаю задачу. Но пробую ответить из того, что, вроде, понял.
Как говорил пунктом выше, можно использовать не 40 таблиц а одну, с тучей столбцов. Пусть будет 40 таблиц, КХ умеет хорошо в подзапросы чтобы выбрать алгоритм отбора. Есть «предагрегатные» (не помню как они правильно называются) таблицы, куда можно предварительно посчитать все что надо, и в конце доагрегировать. В общем, на этом примере, я особых проблем не вижу. Но это будет не совсем просто — нельзя взять sql и написать все что хочешь, sql это чисто интерфейс, и надо понимать как будет обрабатываться в КХ. А он там немного спецефичен.
Можете привести пример, какя аналитическая субд может нормально делать то, что вы описали? Ну чисто для понимания и сравнения
Вот я и хочу понять, что такое «большинство аналитических задач».
С трансформацией данных действительно беда.
Ad hoc запросы в легкую, коллеги постоянно что-то пишут сами.
Про ETL не понял, почему не получится? Скорее всего, я что-то не знаю, но интересно «послушать».
BI сверху посадить, наверно будет проблемой, не могу сказать однозначно, не пробовал такое.
И с acid тоже нормально все, по крайней мере сходу не смог вспонить проблем.
На счет энтерпрайзной защиты в части чувстительных данных и ролевой модели управления, ничего сказать не могу, не компетентен в этом вопросе.
Попробуйте рассчитать загружать неск сот объектов, рассчитать аналитическое ядро, рассчитать производные прикладные витрины и витрины отчетностей атрибутов так на 15к суммарно и запустить пользователей побаловаться с данными как им вздумается, и периодически помасштабировать кластер, добавляя новые узлы.
Самостоятельно, к сожалению сделать этого не смогу.
Vertcia, например, полагаю это все умеет?
Потом расскажите всем какой КХ хороший аналитический движок
Нет плохого или хорошего, есть подходящий.
Статья не моя, и я как и вы так и не понял о чем она.
В моем мире есть куча подходящих/неподходящих инструментов и свет клином не сошелся на постгрес и КХ.
P.S. я не пытаюсь, во чтобы то ни стало защищать КХ, просто хочется объективности или понимания или каких-то конткретных примеров.
Тогда в чем, или зачем, был изначальный вопрос, чтобы потом сказать какой он плохой и это не аналитичская субд?
Или сделать голословное заявление без контрпримеров? Откуда уверенность, что что-то сможет, а что-то нет? Вы это пробовали? Расскажите тогда, уверен будет интересно, можео даже в сравнении с теми базами, с которыми у вас есть опыт
С одним join или один запрос с кучей join?
Для чего такой запрос?
В CH некоторые моменты работают по другому и итоговый результат может быть тот, что нужен, но получен несколько другим путем. Особенность движка, так сказать
GPIO там и правда впритык. Однако, ABS и курсовую устойчивость делают как правило отдельным блоком.
P.S. с secu-3 я не работал, но видел что с ней вытворяют умельцы на ютубе. Очень гибкая штука
Это, конечно не замена профилям, но удобно когда надо быть «разным»)
Есть еще контейнер для facebook (Facebook Container), fb инста и прочее их, сразу в отдельном открывается.
Убрали возможность не выделять весь URL при нажатии в адресной строке. Особенно если по 20 с лишним раз в день нужно поменять последние 2-3 цифры в URL. Чтобы вернуть все как было, нужно патчить JavaScript'ы внутри bundle'ов самого браузера.
Если имеется ввиду клик по адресной строке, то можно не просто кликнуть, а сразу выделять мышью, тогда выделение всей строки не происходит. Либо двойной клик по нужному get параметру. Попробую записать видео…
В среде КХ конечно, мы ведь про него говорим.
Сделать-то можно, вопрос тро трудозатраты действительно остро встанет. Тут я согласен.
Принимается.
Дополню только, к подготовленным во вне или частично внутри КХ. Все таки не стоит совсем скидывать со счетов внутренние мехнизмы агрегации.
Как я уже говорил CH хоть и имеет sql, при этом имеет другой формат хранения — колонки, а не строки. И сами разработчики и кто с ним активно работают рекомендовали не использовать много таблиц, а делать одну большую с кучей колонок. При выборке в select указывается набор из колонок и только по ним будет работать выборка. Тут есть как плюсы так и минусы. Однако в своей практике я использовал несолько таблиц (чисто по привычке) и делал на них джоины, не 58, но и не два и каких-то проблем не заметил. Для объективности надо тестировать.
Поскольку я не аналитик, видимо не совсем понимаю задачу. Но пробую ответить из того, что, вроде, понял.
Как говорил пунктом выше, можно использовать не 40 таблиц а одну, с тучей столбцов. Пусть будет 40 таблиц, КХ умеет хорошо в подзапросы чтобы выбрать алгоритм отбора. Есть «предагрегатные» (не помню как они правильно называются) таблицы, куда можно предварительно посчитать все что надо, и в конце доагрегировать. В общем, на этом примере, я особых проблем не вижу. Но это будет не совсем просто — нельзя взять sql и написать все что хочешь, sql это чисто интерфейс, и надо понимать как будет обрабатываться в КХ. А он там немного спецефичен.
Можете привести пример, какя аналитическая субд может нормально делать то, что вы описали? Ну чисто для понимания и сравнения
С трансформацией данных действительно беда.
Ad hoc запросы в легкую, коллеги постоянно что-то пишут сами.
Про ETL не понял, почему не получится? Скорее всего, я что-то не знаю, но интересно «послушать».
BI сверху посадить, наверно будет проблемой, не могу сказать однозначно, не пробовал такое.
И с acid тоже нормально все, по крайней мере сходу не смог вспонить проблем.
На счет энтерпрайзной защиты в части чувстительных данных и ролевой модели управления, ничего сказать не могу, не компетентен в этом вопросе.
Самостоятельно, к сожалению сделать этого не смогу.
Vertcia, например, полагаю это все умеет?
Нет плохого или хорошего, есть подходящий.
Статья не моя, и я как и вы так и не понял о чем она.
В моем мире есть куча подходящих/неподходящих инструментов и свет клином не сошелся на постгрес и КХ.
P.S. я не пытаюсь, во чтобы то ни стало защищать КХ, просто хочется объективности или понимания или каких-то конткретных примеров.
Или сделать голословное заявление без контрпримеров? Откуда уверенность, что что-то сможет, а что-то нет? Вы это пробовали? Расскажите тогда, уверен будет интересно, можео даже в сравнении с теми базами, с которыми у вас есть опыт
Для чего такой запрос?
В CH некоторые моменты работают по другому и итоговый результат может быть тот, что нужен, но получен несколько другим путем. Особенность движка, так сказать
P.S. с secu-3 я не работал, но видел что с ней вытворяют умельцы на ютубе. Очень гибкая штука
Есть еще контейнер для facebook (Facebook Container), fb инста и прочее их, сразу в отдельном открывается.
Если имеется ввиду клик по адресной строке, то можно не просто кликнуть, а сразу выделять мышью, тогда выделение всей строки не происходит. Либо двойной клик по нужному get параметру. Попробую записать видео…
Если кому интересно будет, сделал так, именно с нулями и еденицами.