powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Украина - вперёд с Vertica!
52 сообщений из 52, показаны все 3 страниц
Украина - вперёд с Vertica!
    #38618043
Фотография Vovaka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Компания Supportio сообщает о завершении первого в Украине, по ее данным, проекта внедрения аналитического хранилища HP Vertica 7, реализованного в коммерческом банке BitBank.
...
«Учитывая объемы и специфику работы с данными, а это, в первую очередь, постоянная актуализация и анализ в режиме реального времени, BitBank остановился на решении Vertica от HP , которое не только показало лучшие результаты benchmark тестов среди лидеров решений (Oracle, IBM Netezza, EMC Greenplum, Sybase IQ) , но и наиболее оптимально подошло заказчику по своим возможностям».

http://ko.com.ua/supportio_realizovala_dlya_bitbank_proekt_vnedreniya_hp_vertica_7_104822
...
Рейтинг: 0 / 0
Украина - вперёд с Vertica!
    #38618151
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я уж испугался - думал про политику внутри)

Интересно зачем банку реал-тайм интеграция с социальными сетями?
...
Рейтинг: 0 / 0
Украина - вперёд с Vertica!
    #38618158
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergSuperИнтересно зачем банку реал-тайм интеграция с социальными сетями?

Должников искать.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Украина - вперёд с Vertica!
    #38618172
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovSergSuperИнтересно зачем банку реал-тайм интеграция с социальными сетями?

Должников искать.ну если толь через форксквер ловить
...
Рейтинг: 0 / 0
Украина - вперёд с Vertica!
    #38618239
Фотография Vovaka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergSuperЯ уж испугался - думал про политику внутри)

Интересно зачем банку реал-тайм интеграция с социальными сетями?

Знаю один, который использует для принятия решения по кредиту такие данные тоже.
...
Рейтинг: 0 / 0
Украина - вперёд с Vertica!
    #38618367
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VovakaSergSuperЯ уж испугался - думал про политику внутри)

Интересно зачем банку реал-тайм интеграция с социальными сетями?

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

наверное для чего-то другого, может какая-нибудь рассылка сообщений или типа просмотр баланса вконтакте
...
Рейтинг: 0 / 0
Украина - вперёд с Vertica!
    #38618444
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovSergSuperИнтересно зачем банку реал-тайм интеграция с социальными сетями?

Должников искать.

реал-тайм?

реал-тайм там с соц сетями 100% для рекламы контекстной.
...
Рейтинг: 0 / 0
Украина - вперёд с Vertica!
    #38618448
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergSuperVovakaпропущено...


Знаю один, который использует для принятия решения по кредиту такие данные тоже.да наверное все используют, но реал-тайм то зачем?
есть и реал-тайм принятия решений по выдаче кредитов
...
Рейтинг: 0 / 0
Украина - вперёд с Vertica!
    #38618495
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan Durakреал-тайм?
Залогинился человек на одноквасниках - групзах выезжает сразу.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Украина - вперёд с Vertica!
    #38619161
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovIvan Durakреал-тайм?
Залогинился человек на одноквасниках - групзах выезжает сразу.

КУДА ВЫЕЗЖАЮТ?
...
Рейтинг: 0 / 0
Украина - вперёд с Vertica!
    #38619167
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan DurakКУДА ВЫЕЗЖАЮТ?
К месту предполагаемого нахождения цели.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Украина - вперёд с Vertica!
    #38619307
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Очередной маркетинговый булшит. Без детализации вот этого вот:

Vovaka«Учитывая объемы и специфику работы с данными

вааще ниочем...

ЗЫ. Объемы, коммерческий банк, Украина - выберите любые два.
...
Рейтинг: 0 / 0
Украина - вперёд с Vertica!
    #38619309
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И, да, собственно, о "банке":

http://ain.ua/2013/10/11/497702 11 Октября 2013. Запустился первый в Украине банк без отделений BitBank.
...
Рейтинг: 0 / 0
Украина - вперёд с Vertica!
    #38619413
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinИ, да, собственно, о "банке":

http://ain.ua/2013/10/11/497702 11 Октября 2013. Запустился первый в Украине банк без отделений BitBank.+1.

Мне кажется, что у банка, открывшегося полгода назад, должны быть сильно другие проблемы. Ну и как-то странно звучит аналитическое хранилище, внедренное в первые полгода работы банка (это значит, что его внедрили за месяц-два). Тем боле странно звучит "... которое не только показало лучшие результаты benchmark тестов среди лидеров решений (Oracle, IBM Netezza, EMC Greenplum, Sybase IQ)...". Я ведь тоже могу левой ногой поставить Vertica так, что ее даже MS Access обойдет по производительности, а сроки внедрения ясно дают понять, что специалистов по обруганным системам не привлекали.

Вот над этой фразой тоже поржал "В рамках проекта, была проведена интеграция HP Vertica... а также с экосистемой Cloudera Hadoop, отвечающей за real-time интеграцию с социальными сетями". Правда что ли с помощью Hadoop? Всегда считал, что Hadoop предназначен для обработки большого объема данных в пакетном режиме, но никак не для real-time.

Короче, мое мнение, что там внедрена витринка данных, и, скорее всего, на бесплатной версии Vertica.
...
Рейтинг: 0 / 0
Украина - вперёд с Vertica!
    #38621879
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander Ryndin,

Саш, не буду с тобой спорить насчет витрин, целесообразности и прочего (маркетинг он такой), но вот насчет левой ноги ты явно погорячился, со всей серьезностью уверяю тебя. Можешь хоть обоими ногами становится на Вертику, но затормозить ее работу просто так не получится, придется постараться и очень извернуться ;)
...
Рейтинг: 0 / 0
Украина - вперёд с Vertica!
    #38622353
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ASCRUSAlexander Ryndin,

Саш, не буду с тобой спорить насчет витрин, целесообразности и прочего (маркетинг он такой), но вот насчет левой ноги ты явно погорячился, со всей серьезностью уверяю тебя. Можешь хоть обоими ногами становится на Вертику, но затормозить ее работу просто так не получится, придется постараться и очень извернуться ;) возможно вертика что то придумала интересное, но больное место всех мрр это ключ распределения данных. Что у терадаты, что у хадупа... Без разницы.

Но поинт мой был не в том чтобы принизить заслуги какого то из решений, а в том, что вряд ли тот банк за полгода смог наработать репрезентативноый набор требований, а тем более вряд ли привлекали нормальных партнёров от оракл, терадата и т.д.
...
Рейтинг: 0 / 0
Украина - вперёд с Vertica!
    #38622354
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
P.s. так все таки на бесплатной версии вертики сделано?
...
Рейтинг: 0 / 0
Украина - вперёд с Vertica!
    #38622432
Фотография Vovaka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander RyndinP.s. так все таки на бесплатной версии вертики сделано?

Насколько я знаю, продажа была. Да и вчера на HP World Tour упомянули про это внедрение, бесплатные не включают в презентации.
...
Рейтинг: 0 / 0
Украина - вперёд с Vertica!
    #38622822
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander Ryndin,

Поясни, что ты имеешь ввиду. Сегментация в Вертике работает без проблем, балансировка данных достаточно грамотная, я даже не знал, что там могут быть какие то проблемы. Сегментация Вертикой делается автоматически по полям PK, если явно не указана. При явном указании можно зеркалировать данные для всех нод (что удобно для небольших измерений), для мастер-детайл например указать сегментацию для мастера по PK, для детайла по FK, обеспечив таким образом их соединение JOIN без BROADCAST и т.д. Здесь вообще проблем не возникает, даже если в мастер-детайл лежат десятки миллиардов записей.
...
Рейтинг: 0 / 0
Украина - вперёд с Vertica!
    #38623230
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ASCRUSAlexander Ryndin,

Поясни, что ты имеешь ввиду. Сегментация в Вертике работает без проблем, балансировка данных достаточно грамотная, я даже не знал, что там могут быть какие то проблемы. Сегментация Вертикой делается автоматически по полям PK, если явно не указана. При явном указании можно зеркалировать данные для всех нод (что удобно для небольших измерений), для мастер-детайл например указать сегментацию для мастера по PK, для детайла по FK, обеспечив таким образом их соединение JOIN без BROADCAST и т.д. Здесь вообще проблем не возникает, даже если в мастер-детайл лежат десятки миллиардов записей.Очень простой и довольно распространенный кейс: есть табличка-измерение - 30 млн. клиентов, а также табличка фактов с операциями этих клиентов (для простоты пускай это будут звонки/смс). Допустим 20% звонков/смс сделаны с 2-10 служебных номеров (Яндекс-такси, Сбербанковский информатор и т.д.). Как тогда будешь пилить данные между узлами?
...
Рейтинг: 0 / 0
Украина - вперёд с Vertica!
    #38623574
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander RyndinОчень простой и довольно распространенный кейс: есть табличка-измерение - 30 млн. клиентов, а также табличка фактов с операциями этих клиентов (для простоты пускай это будут звонки/смс). Допустим 20% звонков/смс сделаны с 2-10 служебных номеров (Яндекс-такси, Сбербанковский информатор и т.д.). Как тогда будешь пилить данные между узлами?
Никак не буду. Клиентам скажу сегментироваться и сортироваться по PK, а звонкам сегментироваться по своему PK, а сортироваться по FK ключ клиента + другие поля, значимые при фильтрах запросов. Дальше оптимизатор Вертики сам все сделает правильно (фильтры+MERGE JOIN+частичный BROADCAST) Как измерение и факт в сегментации связаны и какие здесь проблемы? :) Руками в Вертике такие вещи не делаются, это забота оптимизатора.

В общем Саш, ты о чем то таком ручном говоришь не понятном, чего в Вертике просто нет.
...
Рейтинг: 0 / 0
Украина - вперёд с Vertica!
    #38623626
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ASCRUSAlexander RyndinОчень простой и довольно распространенный кейс: есть табличка-измерение - 30 млн. клиентов, а также табличка фактов с операциями этих клиентов (для простоты пускай это будут звонки/смс). Допустим 20% звонков/смс сделаны с 2-10 служебных номеров (Яндекс-такси, Сбербанковский информатор и т.д.). Как тогда будешь пилить данные между узлами?
Никак не буду. Клиентам скажу сегментироваться и сортироваться по PK, а звонкам сегментироваться по своему PK, а сортироваться по FK ключ клиента + другие поля, значимые при фильтрах запросов. Дальше оптимизатор Вертики сам все сделает правильно (фильтры+MERGE JOIN+частичный BROADCAST) Как измерение и факт в сегментации связаны и какие здесь проблемы? :) Руками в Вертике такие вещи не делаются, это забота оптимизатора.Леш, я не с желанием поругать. Мне действительно интересно. Я этот случай видел очень явно на Hadoop и Hadoop ушел и больше не вернулся, поэтому интересно, как этот решается в MPP. Давай этот кейс до конца разберем. Ты же сам говорил
автордля мастер-детайл например указать сегментацию для мастера по PK, для детайла по FKИ я понимаю почему. Чтобы не была BROADCAST.
А сейчас говоришь про сегментацию и мастера, и детайла по PK.
...
Рейтинг: 0 / 0
Украина - вперёд с Vertica!
    #38623642
loki1984
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ASCRUSAlexander RyndinОчень простой и довольно распространенный кейс: есть табличка-измерение - 30 млн. клиентов, а также табличка фактов с операциями этих клиентов (для простоты пускай это будут звонки/смс). Допустим 20% звонков/смс сделаны с 2-10 служебных номеров (Яндекс-такси, Сбербанковский информатор и т.д.). Как тогда будешь пилить данные между узлами?
Никак не буду. Клиентам скажу сегментироваться и сортироваться по PK, а звонкам сегментироваться по своему PK, а сортироваться по FK ключ клиента + другие поля, значимые при фильтрах запросов. Дальше оптимизатор Вертики сам все сделает правильно (фильтры+MERGE JOIN+частичный BROADCAST) Как измерение и факт в сегментации связаны и какие здесь проблемы? :) Руками в Вертике такие вещи не делаются, это забота оптимизатора.

В общем Саш, ты о чем то таком ручном говоришь не понятном, чего в Вертике просто нет.
Сразу видно, что вы не сталкивались с такой проблемой :-)
1)
каждый join клиентов на операции будет происходить redistribute (с вертикой не знаком, но в других mpp это так) по ключу клиента (т.к. по нему идёт join)

2) REdistribute приведёт к тому, что на отдельных нодах(процессах, сегментах, amp'ах) окажется больше операций чем на других (т.к. распределение пойдёт по ключу клиента) из-за чего весь комплекс будет работать со скоростью наиболее загруженной ноды.


Как решить эту проблему:

1 Вариант простой:

select c1, c2, c3 from customer c
join operation o on c.cus_id=o.cus_id and c.csu_id NOT IN (перечисляем клиентов у которых те самые 20% записей, которые дают перекос)
union all
select c1, c2, c3 from customer c
join operation o on c.cus_id=o.cus_id and c.csu_id IN (перечисляем клиентов у которых те самые 20% записей, которые дают перекос)

В 1-м запросе система просто делает redistribute исключая записи, которые дадут перекос в данных на нодах .
Во втором (если оптимизатор умный) система распределит нужные записи из таблички клиентов на все ноды, где локально соединит ихс операциями.

2-й способ относится не ко всем MPP, и не ко всем случаям.

Вроде как-то так, если ничего не напутал и не забыл.
...
Рейтинг: 0 / 0
Украина - вперёд с Vertica!
    #38623644
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander RyndinА сейчас говоришь про сегментацию и мастера, и детайла по PK.
Клиенты и звонки это никак не мастер-детайл :) Это измерение-факт со связью. Вот CDR+CDR List Of Traffic это как раз мастер-детайл. И там на один сдр где то от 1 до 10 записей детальки, которые имеет смысл уложить рядом с самой записью СДР.

P.S. Ну ты сравнил файловую помойку Hadoop и Vertica. У них же вообще абсолютно разные принципы хранения данных, зеркалирования и прочее. Они даже близко не похожи. Поэтому поведение Хадупа на Вертику генерировать не корректно. Так же как и например поведение Нетизы, которая по принципам хотя и ближе к Вертике, но так же отличий столько, что поведение совершенно разное (я уж молчу про ГринПлам).
...
Рейтинг: 0 / 0
Украина - вперёд с Vertica!
    #38623650
loki1984
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А по поводу "успешного внедрения за полгода" извините не верю. Может парочку витрин сделали, но полноценным внедрением это называть...
+ну какие там на украине сейчас кредитные карты, там просрочка должна бы уже в космос улететь, в стране восстание, до должников дела никому нет. А раз так, то не верю я в необходимость MPP - нет там объёмов таких. Короче реклама это всё.
...
Рейтинг: 0 / 0
Украина - вперёд с Vertica!
    #38623661
loki1984
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ASCRUSAlexander RyndinА сейчас говоришь про сегментацию и мастера, и детайла по PK.

P.S. Ну ты сравнил файловую помойку Hadoop и Vertica. У них же вообще абсолютно разные принципы хранения данных, зеркалирования и прочее. Они даже близко не похожи. Поэтому поведение Хадупа на Вертику генерировать не корректно. Так же как и например поведение Нетизы, которая по принципам хотя и ближе к Вертике, но так же отличий столько, что поведение совершенно разное (я уж молчу про ГринПлам).
BTW интересно, есть ли у хваленой вертики что-то подобное:
https://www.google.com/patents/US20110093499
или http://www.teradata.com/web-seminars/PayPal-Dealing-with-Natural-Data-Skew/
...
Рейтинг: 0 / 0
Украина - вперёд с Vertica!
    #38623663
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
loki1984,

Алгоритмы будут зависеть от ситуации (статистики и подходящих проекций). Если измерение небольшое, то все измерение просто зеркалируется по нодам, если большое, то произойдет BROADCAST по частям, если на факте висит сортировка по FK, то вместо обьединения через хэш-таблицы (HASH JOIN) произойдет соединение путем объедения записей упорядоченных значений колонок (MERGE JOIN).

Ситуацию, чтобы Вертика не смогла эффективно распределить между серверами соединение или агрегацию, уведя большой объем работ на инициализирующую ноду и заставив ее все собирать я видел пару раз в жизни и то это были запросы на соединение больших фактовых таблиц и больших измерений с количеством джойнов более полсотни. Но опять же, под такие большие запросы имеет смысл делать реоптимизацию структуры хранения данных. Например, никто не мешает сделать JOIN проекцию на факт+измерения, если этим измерения всегда цепляются INNER JOIN. В таком случае без разницы, как сегментируются измерения и факты, их джойн проекция будет лежать сразу в одном месте по нужным полям измерений с фактами и все это лежат рядом на серверах. Этакая материальная проекция, позволяющая дематериализовать нужные поля измерений в факты без затрат по кодированию и сопровождению. В ситуации с 30 миллионами клиентов конечно смысла возится с такой проекцией нет, но вот если их хотя бы миллионов 100, наверное имеет смысл уже подумать ее сделать.
...
Рейтинг: 0 / 0
Украина - вперёд с Vertica!
    #38623672
Фотография Vovaka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander RyndinОчень простой и довольно распространенный кейс: есть табличка-измерение - 30 млн. клиентов, а также табличка фактов с операциями этих клиентов (для простоты пускай это будут звонки/смс). Допустим 20% звонков/смс сделаны с 2-10 служебных номеров (Яндекс-такси, Сбербанковский информатор и т.д.). Как тогда будешь пилить данные между узлами?

Стандартное решение дня МРР: сегментировать и то и то по своим ключам. Получаем равномерное распределение данных, но проблему джойнов.
В Вертике можно измерению сказать unsegmented all nodes, тогда оно расклонируется по всем нодам, 30 млн записей - фигня, физического места займут немного, лицензий вообще не потратится дополнительных, зато не будет поражняка в сети кластера и производительность вырастет.
Плюс у Вертики всегда есть доп.проекции, которые и сегментируются, и сортируются по другим правилам нежели таблица (суперпроекция).
...
Рейтинг: 0 / 0
Украина - вперёд с Vertica!
    #38623677
loki1984
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ASCRUS,

у нас конкретный пример от Александра: есть 30 МЛН клиентов, есть операции по ним. Среди этих 30 МЛН есть 5 клиентов, чьи операции занимают 20% от всей таблицы. Допустим у нас 100 параллельных процессов обработки, на которых хранятся данные.
Если размазывать данные по клиентам, то на 5 из 100 серверов данных окажется больше в разы. То, что называется skew.

Если таблица с операциями будет распределена по своему ключу, то проблема встанет всё равно, т.к. предположительно все равно в момент join будет распределение по ключу клиента. Как конкретно в вертике решена эта проблема?
...
Рейтинг: 0 / 0
Украина - вперёд с Vertica!
    #38623678
Фотография Vovaka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
loki1984ASCRUS,

у нас конкретный пример от Александра: есть 30 МЛН клиентов, есть операции по ним. Среди этих 30 МЛН есть 5 клиентов, чьи операции занимают 20% от всей таблицы. Допустим у нас 100 параллельных процессов обработки, на которых хранятся данные.
Если размазывать данные по клиентам, то на 5 из 100 серверов данных окажется больше в разы. То, что называется skew.

Если таблица с операциями будет распределена по своему ключу, то проблема встанет всё равно, т.к. предположительно все равно в момент join будет распределение по ключу клиента. Как конкретно в вертике решена эта проблема?

В предыдущем посте ответ.
...
Рейтинг: 0 / 0
Украина - вперёд с Vertica!
    #38623687
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
loki1984,

Гм, а я недостаточно подробно объяснил как ? :)
...
Рейтинг: 0 / 0
Украина - вперёд с Vertica!
    #38623696
loki1984
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vovakaloki1984ASCRUS,

у нас конкретный пример от Александра: есть 30 МЛН клиентов, есть операции по ним. Среди этих 30 МЛН есть 5 клиентов, чьи операции занимают 20% от всей таблицы. Допустим у нас 100 параллельных процессов обработки, на которых хранятся данные.
Если размазывать данные по клиентам, то на 5 из 100 серверов данных окажется больше в разы. То, что называется skew.

Если таблица с операциями будет распределена по своему ключу, то проблема встанет всё равно, т.к. предположительно все равно в момент join будет распределение по ключу клиента. Как конкретно в вертике решена эта проблема?

В предыдущем посте ответ.
Не увидел в момент написания поста. По сути это то же самое, что гонять по сети эти 30 млн в момент join, только снижается нагрузка на сеть, зато растёт объём хранимых данных в N=кол-во параллельных процессов. В принципе справедливо, чем-то надо жертвовать.

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

Или если есть возможность распределить данные по паре ключей, опять же проблемы не будет. Например если у сети магазинов есть гипермаркеты и магазины у дома, остатки можно сегментировать по паре магазин+товар и skew не будет.
...
Рейтинг: 0 / 0
Украина - вперёд с Vertica!
    #38623698
loki1984
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ASCRUS, вы нет, vovaka да.
...
Рейтинг: 0 / 0
Украина - вперёд с Vertica!
    #38623706
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
loki1984,

Я с этим сталкивался просто :) Не из книжек пример.
...
Рейтинг: 0 / 0
Украина - вперёд с Vertica!
    #38623711
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VovakaAlexander RyndinОчень простой и довольно распространенный кейс: есть табличка-измерение - 30 млн. клиентов, а также табличка фактов с операциями этих клиентов (для простоты пускай это будут звонки/смс). Допустим 20% звонков/смс сделаны с 2-10 служебных номеров (Яндекс-такси, Сбербанковский информатор и т.д.). Как тогда будешь пилить данные между узлами?

Стандартное решение дня МРР: сегментировать и то и то по своим ключам. Получаем равномерное распределение данных, но проблему джойнов.
В Вертике можно измерению сказать unsegmented all nodes, тогда оно расклонируется по всем нодам, 30 млн записей - фигня, физического места займут немного, лицензий вообще не потратится дополнительных, зато не будет поражняка в сети кластера и производительность вырастет.
Плюс у Вертики всегда есть доп.проекции, которые и сегментируются, и сортируются по другим правилам нежели таблица (суперпроекция).Если это измерение из 30 млн. записей раскопировать по всем нодам, то, мне кажется, и JOIN будет происходить несколько медленее. А потом, когда я еще чего нибудь захочу сгруппировать по столбцам, отличным от ключа секционирования, то начнется еще большее веселье.
...
Рейтинг: 0 / 0
Украина - вперёд с Vertica!
    #38623717
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
loki1984Vovakaпропущено...


В предыдущем посте ответ.
А вообще пример довольно надуманный конечно. Оракл его везде приводит, т.к. только в этом случае может потягаться с MPP. Если кол-во таких клиентов с большим числом операций будет больше чем кол-во единиц параллелизма, то проблема вообще исчезнет.
Хэш алгоритмы, которые распределяют данные по нодам не столь умны, чтобы каждого такого клиента положить на свою ноду. Есть ненулевая вероятность, что при разбиении на секции они могут упасть на одну ноду.
...
Рейтинг: 0 / 0
Украина - вперёд с Vertica!
    #38623719
Фотография Vovaka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander Ryndinloki1984,

Я с этим сталкивался просто :) Не из книжек пример.

Абонентскую базу явно проще клонировать по нодам MPP. Винты сейчас большие и недорогие. У Facebook кластер Вертики 255 серверов и на каждом 15 х 4ТБ дисков, какой raid не знаю правда, но все равно сильно.

Кстати, на пилот в FB кроме Вертики не вышел ни один из вендоров больше, к чему бы это? :) Пилот правда был на 1 ПТ, но что это за проблема для именитых вендоров? ;)
...
Рейтинг: 0 / 0
Украина - вперёд с Vertica!
    #38623725
Фотография Vovaka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander RyndinЕсли это измерение из 30 млн. записей раскопировать по всем нодам, то, мне кажется, и JOIN будет происходить несколько медленее.

Это почему это? Джойны будут локально на нодах происходить.

Alexander RyndinА потом, когда я еще чего нибудь захочу сгруппировать по столбцам, отличным от ключа секционирования, то начнется еще большее веселье. Ну да, тут хуже. Но в Вертике можно сделать проекцию и под такой запрос и опять все полетит, но в жертву принесем физическое место.
...
Рейтинг: 0 / 0
Украина - вперёд с Vertica!
    #38623732
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
loki1984ASCRUS,

у нас конкретный пример от Александра: есть 30 МЛН клиентов, есть операции по ним. Среди этих 30 МЛН есть 5 клиентов, чьи операции занимают 20% от всей таблицы. Допустим у нас 100 параллельных процессов обработки, на которых хранятся данные.
Если размазывать данные по клиентам, то на 5 из 100 серверов данных окажется больше в разы. То, что называется skew.

Если таблица с операциями будет распределена по своему ключу, то проблема встанет всё равно, т.к. предположительно все равно в момент join будет распределение по ключу клиента. Как конкретно в вертике решена эта проблема?
Еще раз. Данные фактов не будут размазываться по клиентам. Это контрпродуктивно. Так же, как и по городам, полу и прочему :) Данные фактов будут сегментироваться по уникальному ключу, чаще всего это PK. Но помимо сегментации данные фактов будут на каждом сервере храниться в упорядоченном виде, если в сортировке хранения проекции указать Код Клиента. С учетом того, что Вертика колонориентированный сервер, каждой ноде кластера получить с фактов список ключей клиентов и попросить другие ноды дослать ей по этому списку нужные записи для соединения дело миллисекунд. Не нужно будет даже полную копию измерения собирать со всех нод и рассылать на все ноды. BROADCAST будет минимальным. Если же на сам запрос к фактам еще накладывается общий фильтр по другим полям, это вообще будет замечательно выглядеть - оптимизатор наложит фильтр, очертит круг нужных записей, с них получит на каждой ноде ид клиентов, соберет по спискам с других нод, далее в зависимости от запроса сверху каждая нода проведет дальнейшие действия (сортировка, агрегация, окна, ...).

Если же соединений очень много и измерения большие, то проще всего даже не зеркалировать их по нодам, указав Вертике в явном виде, а просто сделать преджойн проекцию с денормализацией звезды (полей измерений в факт).
...
Рейтинг: 0 / 0
Украина - вперёд с Vertica!
    #38624077
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VovakaAlexander RyndinЕсли это измерение из 30 млн. записей раскопировать по всем нодам, то, мне кажется, и JOIN будет происходить несколько медленее.

Это почему это? Джойны будут локально на нодах происходить.

Alexander RyndinА потом, когда я еще чего нибудь захочу сгруппировать по столбцам, отличным от ключа секционирования, то начнется еще большее веселье. Ну да, тут хуже. Но в Вертике можно сделать проекцию и под такой запрос и опять все полетит, но в жертву принесем физическое место.
А проекция это что?? эдакое Materialized view?
...
Рейтинг: 0 / 0
Украина - вперёд с Vertica!
    #38624105
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ASCRUSкаждой ноде кластера получить с фактов список ключей клиентов и попросить другие ноды дослать ей по этому списку нужные записи для соединения дело миллисекунд. Не нужно будет даже полную копию измерения собирать со всех нод и рассылать на все ноды. BROADCAST будет минимальным.
Клевая фича. Броадкаст будет не фактов а измерения. Кстати гринплам так не умеет. Он даже и сортировку внутри нод не делает.
...
Рейтинг: 0 / 0
Украина - вперёд с Vertica!
    #38624212
Фотография Vovaka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan DurakА проекция это что?? эдакое Materialized view?

Ну больше всего похоже на матвью, да. Это набор колонок таблицы (или нескольких для преджойн проекций), которые хранятся (дублируя данные в суперпроекции) по своим правилам сортировки и сегментирования. Оптимизатор выбирает наиболее подходящую проекцию для запроса.
...
Рейтинг: 0 / 0
Украина - вперёд с Vertica!
    #38625693
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan DurakASCRUSкаждой ноде кластера получить с фактов список ключей клиентов и попросить другие ноды дослать ей по этому списку нужные записи для соединения дело миллисекунд. Не нужно будет даже полную копию измерения собирать со всех нод и рассылать на все ноды. BROADCAST будет минимальным.
Клевая фича. Броадкаст будет не фактов а измерения. Кстати гринплам так не умеет. Он даже и сортировку внутри нод не делает.
Там еще один нюанс - Вертике можно же указать способ хранения для столбцов (encoding). Возвращаясь к тому примеру с 20% 5 клиентов от всей таблицы. В фактовой таблице делаем сортировку по полю account_id и назначаем ему ENCODING RLE. Теперь этот столбец будет хранится как КодКлиента:КоличествоИдущихПодрядЗаписей. При чтении контейнеров для запроса Вертика изначально уже не будет просматривать значения колонки клиента по всем записям таблицы, которые легли в этот блок, там будет ровно столько записей на эту колонку, сколько уникальных значений во всех записях этого контейнера кода клиента там присутствует. То есть моментально, вне зависимости от размера контейнера (они по мере ухода в историчность еще и укрупняются, дефрагментируясь). В этом плане кодирование хранения великая штука. Например у нас есть большой символьный код группы, групп ограниченное число, поиск по нему идет, но сортировка не выгодна по каким то причинам. Делаем ENCODING BLOCK_DICT и Вертика в контейнерах вместо самих кодов хранит значения счетчика, а все коды, используемые в записях хранимого контейнера записывает как словарик в начало контейнера кодируя внутренним счетчиком. Теперь при работе с таким кодом группы достаточно просто считать заголовок контейнера и сразу увидеть все значения, которые присутствуют в этом контейнере по этому полю. Так как записей в одном контейенере на таблицу могут быть миллионы, очень экономичный способ поиска информации без дополнительных на хранение или процессорное время, как это происходит при алгоритмах индексации данных, упорядоченного хранения и т.д. Ну а если учесть, что на каждый хранимый контейнер в заголовок пишется его статистика по полям, то вообще быстрый поиск информации без полного просмотра данных на хороших скоростях шуршит. В Нетизе помнится тоже статистика по блокам хранения данных хранится, но в отличие от Вертики у них блоки фиксированной длины, на больших объемах их много просматривать приходится, у Вертики в этом плане склонность к автоматическому укрупнению хранения данных по мере их устаревания мне кажется правильно сделано.
...
Рейтинг: 0 / 0
Украина - вперёд с Vertica!
    #38625717
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а это как раз уже все умеют
...
Рейтинг: 0 / 0
Украина - вперёд с Vertica!
    #38634889
SQLMantis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan DurakКлевая фича. Броадкаст будет не фактов а измерения. Кстати гринплам так не умеет. Он даже и сортировку внутри нод не делает.

Вы хотите сказать что greenplum, сортировку делает только на мастер-ноде?
...
Рейтинг: 0 / 0
Украина - вперёд с Vertica!
    #38635522
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQLMantisIvan DurakКлевая фича. Броадкаст будет не фактов а измерения. Кстати гринплам так не умеет. Он даже и сортировку внутри нод не делает.

Вы хотите сказать что greenplum, сортировку делает только на мастер-ноде?
нет, сортировку он делает на всех нодах паралельно. Но он НЕ ХРАНИТ данные отсортированными (так как я понял делает Вертика и Террадата) !!!
...
Рейтинг: 0 / 0
Украина - вперёд с Vertica!
    #38635748
SQLMantis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan DurakSQLMantisпропущено...


Вы хотите сказать что greenplum, сортировку делает только на мастер-ноде?
нет, сортировку он делает на всех нодах паралельно. Но он НЕ ХРАНИТ данные отсортированными (так как я понял делает Вертика и Террадата) !!!

проекция (поправте меня если я не прав) - это еще одна копия данных на ноде, которая отсортирована в порядке указанном при ее создании.
Чем это отличается от индекса?
...
Рейтинг: 0 / 0
Украина - вперёд с Vertica!
    #38636019
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQLMantisIvan Durakпропущено...

нет, сортировку он делает на всех нодах паралельно. Но он НЕ ХРАНИТ данные отсортированными (так как я понял делает Вертика и Террадата) !!!

проекция (поправте меня если я не прав) - это еще одна копия данных на ноде, которая отсортирована в порядке указанном при ее создании.
Чем это отличается от индекса?
Это вообще про какую субд вопрос???
В гринпламе никаких проекций нет
...
Рейтинг: 0 / 0
Украина - вперёд с Vertica!
    #38636064
Фотография Vovaka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQLMantisпроекция (поправте меня если я не прав) - это еще одна копия данных на ноде, которая отсортирована в порядке указанном при ее создании.
Чем это отличается от индекса?

Да, так. При создании таблицы в Вертике создается суперпроекция со всеми колонками, сортированная, сегментированная, партиционированная по заданным правилам. Создание доп. проекций означает новую физическую копию части колонок таблицы (или колонок разных таблиц в преджойн проекциях) со своими правилами физического хранения (сортировка, сегментирование). Оптимизатор выберет наиболее подходящую. Больше всего это похоже на матвью. Индексы с успехом заменяют сортировка и формат кодирования хранения данных. Есть еще группировка колонок, когда можно указать набор колонок, которые физически будут храниться вместе. А-ля row storage внутри колоночного :)
...
Рейтинг: 0 / 0
Украина - вперёд с Vertica!
    #38636274
SQLMantis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VovakaДа, так. При создании таблицы в Вертике создается суперпроекция со всеми колонками, сортированная, сегментированная, партиционированная по заданным правилам. Создание доп. проекций означает новую физическую копию части колонок таблицы (или колонок разных таблиц в преджойн проекциях) со своими правилами физического хранения (сортировка, сегментирование). Оптимизатор выберет наиболее подходящую. Больше всего это похоже на матвью. Индексы с успехом заменяют сортировка и формат кодирования хранения данных. Есть еще группировка колонок, когда можно указать набор колонок, которые физически будут храниться вместе. А-ля row storage внутри колоночного :)

Спасибо, большое. Стало интересно и я вчера почитал документацию.
Действительно интересная возможность. А почему слияние только inner?
...
Рейтинг: 0 / 0
Украина - вперёд с Vertica!
    #38636279
SQLMantis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan DurakЭто вообще про какую субд вопрос???
В гринпламе никаких проекций нет

Я в курсе :)
...
Рейтинг: 0 / 0
Украина - вперёд с Vertica!
    #38724098
Vladimir_Vertica
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
52 сообщений из 52, показаны все 3 страниц
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Украина - вперёд с Vertica!
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]