|
Sybase IQ 16.0
|
|||
---|---|---|---|
#18+
забыл дописать sharing-nothing :) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2013, 21:50 |
|
Sybase IQ 16.0
|
|||
---|---|---|---|
#18+
Vovaka, Интересно от Вас услышать практический опыт по такому вопросу. Вот у Вас работает > 3-х серверов в архитектуре shared-nothing. Вы как к каждому серверу отдельную дисковую стойку покупали (не лежит же у Вас база на обычных внутренних винтах) или на одной стойке нарезали LUNы? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2013, 12:20 |
|
Sybase IQ 16.0
|
|||
---|---|---|---|
#18+
Юр, стоек нет, есть локальные диски, на которых и лежит база. На каждом сервере лежит его часть базы + зеркало соседнего сервера. Можно включить режим двойного зеркалирования, когда каждый сервер еще хранит зеркало предыдущего и следующего сервера кластера по цепочке, но мы решили, что это уже избыточно. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2013, 17:22 |
|
Sybase IQ 16.0
|
|||
---|---|---|---|
#18+
ASCRUSНа каждом сервере лежит его часть базы + зеркало соседнего сервера Хмм.. Что ж это за кластер получается, когда на каждой ноде лежит только часть базы. Что пользователи должны знать к какому серверу подключаться, чтобы выполнить тот или иной запрос?? Или сама СУБД переадресует их на нужную ноду?? И как в таком случае выполняются запросы с join, затрагивающие данные, хранящиеся на разные нодах кластера??? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2013, 17:54 |
|
Sybase IQ 16.0
|
|||
---|---|---|---|
#18+
moris, в MPP СУБД изначально база равномерно распределяется между всеми серверами кластера, это называется сегментацией данных. Естественно это все происходит на физическом уровне, для клиентской сессии это одна БД и она просто посылает к ней запрос. Далее СУБД самостоятельно запускает параллельное выполнение запроса на всех серверах кластера, которые над своей частью данных выполняют работы по фильтрации, объединению, группировки и сортировке данных, обмениваясь при этом порциями промежуточных данных по сети, далее результаты собираются на сервере, с которого сессия вызвала запрос, допиливаются до окончательного вида и отдаются сессии. С джойнами все тоже самое - или если данные присоединяемых таблиц лежат по ключам рядом с основными данными, они сцепливаются локально на всех серверах или же происходит обмен данными по ним между серверами для проведения присоединения. Если СУБД видит выгоду, то он может нужные колонки мелких присоединяемых таблиц просто реплицировать по всем узлам, чтобы потом по хешу быстро их сцепить. Так же можно самостоятельно управлять сегментацией данных, указывая перечисления полей через хеширование, по которому можно определить распределение данных между серверами. Для мелких таблиц можно явно указать отключить сегментирование и их копия будет хранится на каждом из узлов кластера. В общем там все не так примитивно, как ты думаешь, оптимизатор показывает высший пилотаж, рассчитывая план запроса так, чтобы ноды кластера как можно больше работ выполнили локально, минимизировав их общение по сети. В принципе в современных MPP это все успешно решено и такие операции, как джойны, группировки и union на больших таблицах шустро работают. Понятное дело, что с непривычки после классических СУБД можно наломать не мало дров, даже партиционирование вообще имеет другой смысл и другое назначение, чем в привычном понимании. Даже колоночное хранение сжатых данных казалось бы принципы те же, а вот реализация разная, в итоге и работа оптимизатора здорово отличается и при проектировании структур это учитывать стоит. На самом деле с MPP выжать очень много можно, если понимать и уметь. Распределенное хранение и обработка данных гарантируют равномерные нагрузки на все сервера кластера, всегда работают все, простоев нет. Это дает горизонтальную масштабируемость - добавляем новый сервер в кластер, данные кластера ребалансируются равномерно на новое кол-во серверов, а значит на один сервер его объем локальных данных уменьшается, а ядер и памяти для параллельной обработки запроса увеличивается. Ну и дискового пространства для хранения данных прирастает. Локальные диски очень быстры, нодам не требуется сетевой доступ для чтения и записи данных, данные хранятся в виде блоков в сжатом поколоночном отсортированном виде, каждый блок содержит свою информацию о том, что лежит внутри него. В итоге не требуются и индексы как дополнительные структуры для повышения скорости доступа к данным. Они насколько я знаю есть только у GreenPlum, но и то оставлены как пережиток прошлого, при проектировании ими никто не пользуется. Ну и если уж говорить о PlexQ, то с одной стороны оно конечно здорово, что я могу определить группы серверов, занимающихся различной нагрузкой и разными задачами. С другой стороны, получается, что все это дело надо реконфигурировать в случае изменения задач, нагрузок или изменения технической части. В MPP все просто - всегда работают все, поэтому если нагрузки повышаются, они равномерно повышаются на все сервера кластера. Если добавляем новые сервера в кластер, повышается производительность работы всего кластера. Если вдруг один сервер стал недоступен для кластера, общая производительность кластера падает, так как один из его серверов начинает выполнять работу за двоих, но это не так значительно, чтобы все стало тормозить. Еще такой момент я обратил внимание, что например в Vertica оптимизатор никогда не использует зеркало соседнего сервера, хотя вот оно, казалось бы, лежит рядом, бери и пользуйся для ускорения. В PlexQ же получается так как физически база лежит в одном месте и все сервера ее читают, то это же какие затраты и издержки на то, чтобы одновременно всем серверам лезть к стойке за информацией и при этом синхронизировать свои действия, чтобы каждый четко прочитал только нужный кусок и не было дублирования обработки информации между серверами. Фактически это получается этакий виртуальный MPP, где все делают вид, что владеют своей частью данных и в масс параллельной обработке ее используют. Получается, что при использовании PlexQ теряется одно из главных преимуществ IQ - простота администрирования. За группами серверов надо следить, продумывать какие нагрузки как лучше распределять, если прибавилось подключений или потяжелели запросы, нужно переконфигурировать группы серверов, добиваясь лучшей производительности ... то есть появляется понятие тюнинга, что совсем не было в старом добром IQ. Ну и вот тоже мне не понятна фраза из статьи про IQ: Используя MPP-архитектуру с полным разделением ресурсов, платформа распределенной обработки запросов PlexQ в составе Sybase IQ 15.3 превосходит традиционные MPP-архитектуры без разделения ресурсов в части параллелизма, качества обработки произвольных запросов самообслуживания и независимого горизонтального масштабирования вычислительных мощностей и мощностей хранения. Не могу понять, почему здесь говорится, что у MPP нет разделения ресурсов. У MPP есть понятие workload, можно замечательно по пулам ресурсов провести разделение по приоритетам по использованию процессорного времени и памяти, раскидав на эти пулы пользователей. Описанный пул ресурсов работает для всех серверов кластера, но это и понятно - в коллективной работе серверов совсем не желательно, чтобы кто то тормозил, а кто то работал быстрее. Иначе кто отработал быстрее будет ждать остальных, кто работает дольше. Кстати поэтому и предъявляются требования, чтобы данные равномерно хранились на серверах без перекосов по объемам и чтобы сессии работали через балансировщик подключений и к серверам кластера так же равномерно разбрасывались пользовательские сессии. В общем по мне, так PlexQ что то смахивает на этакую многовекторность - мы типа и в одном месте данные храним, но и обрабатываем их частями отдельно. Сложновато по архитектуре получается организовать такую синхронизацию работы серверов, а я сторонник принципа чем проще тем лучше. Как минимум управлять проще и багов обычно меньше ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2013, 01:34 |
|
Sybase IQ 16.0
|
|||
---|---|---|---|
#18+
ASCRUSВ итоге не требуются и индексы как дополнительные структуры для повышения скорости доступа к данным. В IQ в отличие от других СУБД - индексы это не только оптимальный способ доступа к данным, но и уже готовый результат, т.е. операции, которая может над данными выполняться. Например - FP индекс - готовый результат - distinct , Datetime - готовые результаты конверсии даты/времени во все возможные datepart-ы, CMP индекс - готовый результат сравнения величин колонок. WD индекс - индексация составляющих text данных и т.д. Как следствие - индексы в IQ очень часто используются, без необходимости доступа к низлежащим данным. ASCRUSВ PlexQ же получается так как физически база лежит в одном месте и все сервера ее читают, то это же какие затраты и издержки на то, чтобы одновременно всем серверам лезть к стойке за информацией и при этом синхронизировать свои действия, чтобы каждый четко прочитал только нужный кусок и не было дублирования обработки информации между серверами. Фактически это получается этакий виртуальный MPP, где все делают вид, что владеют своей частью данных и в масс параллельной обработке ее используют. Получается, что при использовании PlexQ теряется одно из главных преимуществ IQ - простота администрирования. За группами серверов надо следить, продумывать какие нагрузки как лучше распределять, если прибавилось подключений или потяжелели запросы, нужно переконфигурировать группы серверов, добиваясь лучшей производительности ... то есть появляется понятие тюнинга, что совсем не было в старом добром IQ. Вы неправильно понимаете, как работает IQ и что делает PlexQ. IQ это версионник, синхронизация нужна только в один момент времени выполнения запроса - во время его начала, получая актуальную версию данных на тот момент. Далее IQ строит "конвейерный" план, максимально разбивая каждый этап выполнения на части , исходя из доступных ресурсов, тем самым задействую все доступные ядра на хосте/ах кластера. В случае Plex- IQ распределяет выполнение одного запроса - на все доступные ноды кластера, и на каждой ноде кластера разбивая его еще над подчасти, для задействования всех ядер на конкретной ноде. По мере выполнения запроса - никто никого не ждет. В момент выполнения такой подчасти, обработанные данные не ожидая конца выполнения всего этапа переходят на следующий этап выполнения, где продолжат свою параллельную обработку. Только на некоторых этапах выполнения может потребоваться синхронизация или серийный обработка. Но таких этапов достаточно мало. Администрирования IQ Plex ничем не отличается от администрирования обычного IQ. Если используются логические сервера - группы физических нод, то реконфигурация серверов это 2 кликание мышкой в визарде, или одна команда. Не так то уж и тяжело. Тем более, что такую работу может потребоваться сделать раз (ну или несколько раз) в год. Кстати, многие клиенты IQ вообще не связываются с группами серверов - добавляя все ноды в один общий DQP логический сервер и используют все ресурсы кластера, для выполнения одного или множества запросов. -+ ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2013, 15:17 |
|
Sybase IQ 16.0
|
|||
---|---|---|---|
#18+
moris Ну вот, у ASCRUS такая складная история получалась, уэе начали уверовать, а ты возьми да развей )) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2013, 19:18 |
|
Sybase IQ 16.0
|
|||
---|---|---|---|
#18+
bmv_rusmoris Ну вот, у ASCRUS такая складная история получалась, уэе начали уверовать, а ты возьми да развей )) Вы кому то что то хотите доказать или утверждаете что я хочу кому то что то доказать? moris, спасибо за ликбез. То, что Вы написали, чистой воды MPP, плюс минус особенности реализации. Не очень тогда понятно, почему Sybase считает, что их решение эффективнее прочих реализаций. Я еще раз повторюсь для bmv_rus - я не считаю, что IQ уступает остальным, мне кажется не удобной политика лицензирования. А все остальное познается только на практическом опыте, у меня нет такого опыта в IQ, чтобы сравнить с тем решением, с которым я сейчас работаю. У нас в силу требований проекта первым в списке шла способность многопоточной записи множества сессий в реалтайме (сбор статистики с множества устройств), поэтому IQ не рассматривался. Все просто. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2013, 23:23 |
|
Sybase IQ 16.0
|
|||
---|---|---|---|
#18+
ASCRUS moris, спасибо за ликбез. То, что Вы написали, чистой воды MPP, плюс минус особенности реализации. Не очень тогда понятно, почему Sybase считает, что их решение эффективнее прочих реализаций. Улыбнуло.. А почему Oracle считает, что у них все решения самые эффективные?? Маркетинг .. Кто то когда то видел, чтобы какой то вендор сказал, что их решение не самое самое??? Отсюда вывод - хочешь реально узнать кто круче - заказывай полноценное тестирование с обязательным привлечением специалистов, от каждого вендора, чтобы они смогли эффективно установить/настроить ту или иную СУБД -- выжать из нее все, что она может. А потом по результатам тестирования конкретной вашей задачи - делай выводы, кто быстрее, кто эффективней использует ресурсы, сколько времени заняла подготовка, простота администрирования и т.п. Конкретно для вашего случая, учитывая ваше "понимание" основных принципов работы IQ и то что специалисты Sybase не были привлечены к тестированию - почти уверен, что ваше тестирование IQ vs Vertica - было (как бы помягче сказать) - просто не корректным, чтобы на его результатах делать какие либо выводы, в частности что Vertica - впереди планеты всей, а вот Sybase IQ надо догонять ее... P.S. Больше в этой дискуссии не участвую. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2013, 14:03 |
|
Sybase IQ 16.0
|
|||
---|---|---|---|
#18+
VovakaА IQ мы знаем с Ascrus и далеко не понаслышке, он тоже был в нашем списке претендентов, но отвалился первым. И цены я запрашивал на него и действительно могу подтвердить, что Вертика на 36 ядрах и 30 ТБ нам обошлась дешевле че IQ на этих же ядрах, даже учитывая его политику делить пополам кол-во ядер. А сейчас мы доставляем еще 3 сервера, + 48 ядер ничего не доплачивая НР, а IQ бы нам уже стал бы золотым просто. Ядра пополам? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2013, 14:32 |
|
Sybase IQ 16.0
|
|||
---|---|---|---|
#18+
ASCRUS, Перечитал ваш ответ. Так вы вообще IQ получается толком не тестировали, если она у вас сразу отпала. Понятно.. По ценам, думаю так, пока Sybase может с успехом продавать IQ, то вряд-ли что то будет меняться. Хотя с другой стороны SAP, что то может и изменить.. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2013, 00:00 |
|
Sybase IQ 16.0
|
|||
---|---|---|---|
#18+
bmv_rusVovaka... нам обошлась дешевле че IQ на этих же ядрах, даже учитывая его политику делить пополам кол-во ядер. А сейчас мы доставляем еще 3 сервера, + 48 ядер ничего не доплачивая ... Ядра пополам? Это называлось скидкой 50% за мультиядерность. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2013, 09:43 |
|
Sybase IQ 16.0
|
|||
---|---|---|---|
#18+
morisASCRUS, Перечитал ваш ответ. Так вы вообще IQ получается толком не тестировали, если она у вас сразу отпала. Понятно.. По ценам, думаю так, пока Sybase может с успехом продавать IQ, то вряд-ли что то будет меняться. Хотя с другой стороны SAP, что то может и изменить.. IQ при стоимости 40 килобаксов за ядро с учетом скидки нам ну никак не подошел, у нас сейчас 84 ядра, и стоимость лицензий IQ более чем на порядок превышает стоимость лицензий остальных наших претендентов. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2013, 09:50 |
|
Sybase IQ 16.0
|
|||
---|---|---|---|
#18+
Описание PlexQ и DQP с результатами тестов (если кому интересно) http://www.sybase.ru/system/files/pdf/sybase_iq_scaling_wp_ru_lo.pdf ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2013, 13:37 |
|
Sybase IQ 16.0
|
|||
---|---|---|---|
#18+
Спасибо, конечно интересно. Многое схожее по решениям с тем, что есть у MPP, но есть много и разного. Под разные задачи это выливается и в плюсы и в минусы тоже (это конечно если не учитывать еще квалификацию разработчиков и считать, что они хранилище строят максимально оптимально). Насчет опасности неравномерного распределения данных у MPP соглашусь на все 100. Реально, когда запускаешь на проектирование хранилища разработчиков, привыкших к классическим реализациям сервера, они много чего наворотят такого, что потом их хочется пристрелить. Это самая ахилесова пята MPP, причем самое печальное, что из за таких перекосов в одной таблице фактов просядет производительность всего кластера. Здесь IQ вне конкуренции по простоте проектирования эффективных хранилищ. Остальные перечисленные недостатки отлично демонстрируют конкуренты Vertica (GP и Netezza), но не она ;) Все таки «папа» Стоунбрейкер человек с большом опытом создания СУБД и он максимально учел все достоинства и недостатки существующих решений. Смотрю есть и моменты заимствования решений от IQ, есть и наоборот недавно появившиеся в IQ фичи, которые были ноу хау в Vertica с момента создания. Это хорошая тенденция, если конечно обойдется без патентных войн. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2013, 22:03 |
|
Sybase IQ 16.0
|
|||
---|---|---|---|
#18+
ASCRUS, Ценник только запредельный огорчает когда смотришь на диаграмму Скорость распределенной обработки в конце обзора и дорисовываешь на ней еще кривую стоимости этой самой распределенной обработки... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2013, 09:24 |
|
Sybase IQ 16.0
|
|||
---|---|---|---|
#18+
VovakaASCRUS, Ценник только запредельный огорчает когда смотришь на диаграмму Скорость распределенной обработки в конце обзора и дорисовываешь на ней еще кривую стоимости этой самой распределенной обработки... Не вижу ничего запредельного если сравнивать с конкурентами (незнаю насчет оракла). Так как лицензионная стоимость зависит от процессорной мощности, которая (по рекомендациям Sybase) связана с объемами данных, то думаю несложно будет произвести сравнение стоимости лицензий конкурентов, которые зависят от объема данных. Не имею достаточной информации по стоимости озвученных конкурентов, но по моему мнению, стоимость будет сопоставима. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2013, 10:55 |
|
Sybase IQ 16.0
|
|||
---|---|---|---|
#18+
GA в апреле но доки уже доступны http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.help.iq.16.0/doc/html/title.html ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2013, 11:44 |
|
|
start [/forum/topic.php?fid=55&msg=38188773&tid=2009990]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
220ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
others: | 236ms |
total: | 552ms |
0 / 0 |