Netezza Deep Dive

Коллеги отвечающие за продвижение Netezza подготовили (специально для блога -))  перевод достаточно глубокой технической презентации. Очень рекомендую ее просмотреть.

Для затравки расскажу про основную особенность - "специальный соус" - которым так гордятся разработчики: обработка данных практически на уровне дискового контроллера. FPGA - это field programmable gate array, который разработчики Netezza научили..ну почти sql!


Этот самый FPGA реально занимается  декомпрессией и фильтрацией данных, те 'понимает' sql выражения. Достоинствам такого подхода является то, что память и процессоры S-Blade работают уже с отфильтрованными данными, что значительно упрощает обработку. Ну и конечно же обратите внимание на колоночное сжатие, ZoneMaps, управление нагрузкой. В презентации вы найдете небольшой экскурс в историю Netezza, где показывается что уже несколько лет Netezza показывает значительный рост производительности только с помощью обновления ПO (слайд 95)



Зачем бы компаниям, уже использующим Oracle могла понадобиться  Netezza? Ответ не очевиден, однако есть по крайне мере две причины.
 
Первая - основана на простоте Netezza. Как вы увидели из презентации там практически нечего администрировать. Многие компании использую Oracle как хранилище данных, они просто складывают туда данные и извлекают, используя далеко не все возможности Oracle. У них даже может не быть собственно DBA - как правило такую роль берет на себя кто-то из продвинутых разработчиков. На sql.ru каждую неделю можно видеть посты типа "я тут просто код пишу, помогите восстановить БД".  Их нельзя бросать в пасть Рачку - сожрет. Сюда же могу отнести случаи когда Oracle используется в ISV разработках, скажем 1C или SAP и требуется построить хранилище для обработки данных из них. Оба продукта не требуют наличия штата квалифицированных DBA (ок, до поры до времени по крайней мере), они (1С и SAP)  все делают с БД сами.  Администраторы больше занимаются приложением.  Теперь когда нужно строить хранилище и стоит выбор между серьезным увеличением штата DBA и их квалификации для использования  Exadata или приобретением коробки к которой есть sql интерфейс и которая почти не требует этого самого администрирования.

Вторая - проста и понятна бизнесу:  цена. К сожалению  политика IBM требует обращения к партнеру за ценой,  так что мои измышления по поводу Netezza, будут основаны на публичных источниках. Ecли внимательно приглядеться, то на уровне 10 Tb можно будет увидеть разницу примерно в 10 раз по сравнению с конкурентами ($125,000 против $1.6 mln). По прайс-листу, без учета производительности. Косвенно это подтверждает и Monash Research - у Netezza  одна из самых низких в индустрии стоимость владения  per terabyte .  Eще раз повторю - я опустил момент производительности  и скидок, но руководство может заинтересовать такая разница. Кстати доказать, кто производительнее оказалось не такой простой задачей, как думали некоторые -)   Чуть не забыл очень важный момент - сложить данные в СУБД это всего лишь маленькая часть задачи. Основная задача - аналитика. У Netezza весьма развитые средства аналитики, включая  OLAP, Spatial, Data Mining, Open Source и  если я не ошибаюсь, все это уже включено в стоимость. Ссылка про R.


Для организаций у которых уже есть штат квалифицированных DBA, которые привыкли на обед съедать по Рачку - путь тоже очевиден: Exadata, они там все знают и понимают. Разные опции для разных случаев.

Update 1. Netezza & Oracle.


Читать дальше...

RAC on VMware

Я похоже пропустил интересно и важное событие: Oracle стал поддерживать RAC 11.2.0.2 на VMware. Если быть честным, то полной уверенности в этом нет, но кажется что сообщество именно так восприняло изменения в My Oracle Support Note Support Position for Oracle Products Running on VMWare Virtualized Environments [ID 249212.1].   Mike Dietrich написал про это еще в январе этого года, и там же приведена цитата из Note выше.

Почему нет полной уверенности ?  Потому что во фразе ниже с одной стороны выделено отдельно RAC 11.2.0.2, с другой стороны - accept Service Requests as described in this note
"
Oracle has not certified any of its products on VMware. For Oracle RAC, Oracle will only
accept Service Requests as described in this note on Oracle RAC 11.2.0.2 and later
releases.
"

Я хотел бы быть позитивным, и считать, что да, счастье случилось и поддержка все таки появилась. Однако не дайте радости затуманить свой мозг  - если вы заходите поставить новый OEL 6 под VMware вас ждет сюрприз.

Цитата отсюда:
"
Unbreakable Enterprise Kernel doesn’t contain vmw_pvscsi driver (11697522)
As a workaround, when creating a new VM in VSphere, do not pick Red Hat Enterprise Linux 6 x86-64 as the OS type but use Oracle Linux 5 x86-64 (or Red Hat Enterprise Linux 5). ESX will then expose the LSI Logic SCSI controller in the VM and the 2.6.32-100.28.* kernel will see the devices properly.
"
Т.е. команда которая готовит  OEL, решили подложить спец. поросенка тем, кто попытается запустить этот самый OEL на VMware.

24 августа состоится интересный web cust webinar: Virtualizing Oracle Database Servers on VMware
А пока можете прочитать о других подробностях разворота Oracle Database на Vmware тут.


Читать дальше...

pl/sql inside DB2

Скажите пожалуйста, вам было бы интересно узнать больше о поддержке pl/sql в DB2 ?  Все люди тут серьезные, маркетинговыми заявлениями типа "98% кода переносится" можно только рассмешить.  Я сделал опрос справа. Пожалуйста поучаствуйте.  Если интерес проявится,  то я постараюсь привлечь  ребят из команды DB2 подготовить материалы и отвечать на вопросы.  Ссылку вверху я дал только для завтравки, обсуждать сильно ее не имеет смысла, деталей там особых нет.  Основной вопрос  конечно "зачем бы это было нужно ?", но возможно кто-то знает ответ...


Читать дальше...

any additional comments


В партнерской академии Форс прошел очередной курс  RAC is Simple.  Дмитрий Кучугуров (dmitry.kuchugurov  в домене gmail.com)  в очередной раз демонстрировал как на самом деле работает RAC и что нужно сделать для того чтобы он вас не покусал.

За всем этим маркетинговой чешуей про сами знаете что, не стоит забывать что там внутри. А там он, Рачок, и он ждет вас, когда вы облажаетесь, чтобы вцепиться в Вас изо всех сил. Но вы можете не дать ему такого шанса. Посмотрите методичку по TAF и сходите на курс.

PS. Получить комментарий выше от DBA одного из ведущих системных интеграторов - дорогого  стоит.  Дима, что не говори, настоящий сумасшедший,  что проводит такие семинары. Уважаю.


Читать дальше...

Exadata better than EMC

Must read вот этот пост


Чтобы было понятен контекст, Kevin работал с 2007 года в Exadata dev team, и считается многими ведущим экспертом по Exadata. В этом году он перешел в EMC и…по прошествии нескольких месяцев начинает писать про Exadata совершенно с другой стороны. Ничего не напоминает ? Вы конечно удивитесь, но он делает примерно тоже самое что вы можете видеть в этом блоге – берет скриншот и его разбирает. Почему случился такой переворот ? Причина проста - дело в том, что этот слайд со всем его булшитом начинают показывать заказчики и задавать вопросы – вот как вы это объясните ? И в какой-то момент это достает и уже хочется написать ответ.

Попробуйте прочитать пост Kevin в оригинале. Если не получается, далее идет очень вольный пересказ  c моими комментариями, для занятых. Важно, что на слайде Exadata сравнивается с EMC Storage  c решением для OLTP. EMC имеет технологию GreenPlum, c которой и следовало бы сравнивать Exadata (и которую она скорее всего победила бы).

Теперь по пунктам:

1.5 mln IOPS и тут же следующей позицией идет Hybrid Columnar Compression (HCC). Во первых цифра 1.5 mln IOPS была получена на данных без компресси, во вторых HCC не может использовать в OLTP, потому что это будет крайне медленно да и Exadata при попытке обновить запись будет переносить ее  в другой блок, без HCC. Тут мы видим смешение возможностей OLTP и DWH.

Average Database Compression Factor – о, этой новый слоган.  Сергей Данилов придумал этот термин за месяц до маркетинга Oracle и был на этом пойман -)  Мы об этом много писали вот тут. Нет никакого average database compression. Turkcell что только не делал чтобы влезть в нужный им объем, в том числе часть данных просто не переносил.  x10 это в лучшем случае для отдельных таблиц, да еще и с предварительной сортировкой данных перед загрузкой.  И еще раз, HCC не применимо к OLTP.

Database bandwidth, чтобы получить впечатляющую цифру, просто умножили на 10 (компрессию) реальную производительность дисков. Выше, HCC не принимимо к OLTP.

Database cache usable capacity – тут помимо того, что Database Cache это то что на стороне СУБД, вместо 5 Tb опять таки умножают на 10.

У меня был праздник когда я прочитал этот пост. То что я делал в течении последнео времени  оказывается также беспокоит людей из (ex) oracle dev –булшит в презентациях. Полное перемешивание возможностей для OLTP и Warehouse. Следующий пост будет об этом.

У Oracle прекрасный продукт предназначенный для построения хранилищ, но compensation заставляет придумывать совершенно сумасшедшие схемы подачи материала. Такого 'салата' в презентациях Oracle не было еще никогда.

Прошу прощения за трэш в комментариях в этом блоге – теперь все не по-делу будет просто удаляться.  Вы можете также увидеть пример такого же трэша и у Kevin, когда кто-то (из индии?) пишет ему – ‘чувак, да ты не разбираешься’ -)))

Update 1. Чистое совпадение, что Kevin хвалит IBM вот тут..просто алеверды, ничего более -))


Читать дальше...

RAC DD4D "в старом составе" -- сумашествие, реальность или и то и другое?

"Серая Шейка осталась на реке одна и долго провожала глазами улетевший косяк. Скучно ей было одной, и она все думала про своих улетевших братьев и сестер."

(Эпиграф в стиле семинаров серии Oracle mig-RAT-ion)



Читать дальше...

соображения об их недостатках

Марк Ривкин, бывший сотрудник IBM, а теперь сотрудник Oracle написал презентацию о сравнении конкурентов Exadata, цитата:
"В презентации рассказывается по мотивам презентаций IBM и MS на 16 конф Корпоративные БД об архитектуре и функциях конкурентшв Exadata - Data Allegro и Netezza, даются мои соображения об их недостатках по сравнению с Exadata"

Сама презентация


Давайте ее почитаем. Начиная со слайда 10 идет сравнение Exadata c IBM Netezza. Дело в том, что я ничего не понимал в Netezza, но на прошлой неделе я совершенно случайно столкнулся с командой IBM из штаб-квартиры которая отвечает за решения по аналитике, в том числе Netezza и просидел вместе с ними 3 дня. Теперь у меня знаний больше -)  Для начала разговора  (я же  парень простой), я начал их "мочить"  этой презентацией Марка. Они страшно смеялись, и вот что получилось  (см таблицу ниже)


Марк Ривкин о Netezza Как на самом деле 
не OLTP спасибо кэп, Netezza это специальный appliance для хранилищ данных и аналитики 
плохое сжатие мы много обсуждали это в блоге, 10-кратное (и выше)  сжатие достигается за счет первоначальной сортировки данных.  По информации разработчиков в Netezza каждый   блок с диска после декомпрессии превращается в 4-8 блоков в памяти, что есть ровно то же самое что у Exadata (без сортировки).  Netezza использует поколоночное сжатие данных, как и Exadata (я знаю про разницу в алгоритмах, но подход то один). Все данные в Netezza сжаты всегда по умолчанию. Там неоткуда взяться особенной разнице в сжатии, тем более некорректно писать 'плохое сжатие'.
нет процедурного языка, только SQL Чисто формально есть JDBC и ODBC драйвера, но...мы вроде бы договорились обсуждать хранилища ? Что-то мне подсказывает что pl/sql не используется широко в хранилищах (за исключением возможно ETL), потому что это неэффективно. Ну представьте себе загрузку 1Tb таблицы в pl/sql таблицу...У Netezza  есть возможность написать  UDX code (the  X stands for one of [Function | Aggregate | TableFunction | AnalyticProcess ]).  Но если все вышесказанное - это гнилые отмазки, то стоит открыть для себя nzPL/SQL.
спец. железо IBM  blade и Xeon стали спец железом ? Linux ?  SAS диски ? В Netezza eсть FPGA, у Oracle Sun Flash, и тот и другой ящик нельзя открывать чтобы не потерять поддержку. О чем речь то ? 
не учитывает специфику данных не понял проблемы
Host 24 ядра против 128 Exadata 128 Core это Exadata   X2-8 (+ 168 Cell Core). Тут Марк не разобрался где проводится основная работа с данными. А она ведется на стороне S-Blade, где 192 ядра Xeon + 192 ядра в FPGA  + 24 на стороне Host. Именно S-Blade производит скажем операцию sum. Host в понятиях Netezza не выполняет большой работы над данными.  Ну и у кого ядер больше ? Мое мнение, сравнивать  по кол-ву ядер вообще не стоило. 
Данные с неск дисков должны Join на 1 HOST Это совсем странное  заявление. Очевидно стоит прочитать как работает Parallel Execution в RAC - а именно, точно также, parallel slave вынуждены передавать всю прочитанные данные координатору на 1 хост.  Дальше, если вчитаться в то какую оптимизацию предлагает Netezza для того чтобы снизить этот эффект, то..точно такие же методы появились в 11g. Я имею в виду например  broadcast меньшей таблицы между узлами  при join. Т.е. тут явно видно не понимание  работы собственного продукта, Oracle RAC.

Итак, играл но не угадал ни одной буквы -). Стоит познакомится вот с этой книжкой.   Но и стоит огорчаться, те же ребята из штаб-квартиры попытались рассказать мне как работает Exadata и RAC. У них это не вышло. Они думают, что у Oracle RAC все еще на уровне 9i. Кончилось тем, что они попросили все-таки выступить меня (!)  и им был преподнесен DD4D в сокращенной версии, для занятых.  На память от них я получил специальную кепку, как символ уважения и признания  технической экспертизы -) Просто интересно, у Марка есть такая же после работы в IBM ? -)

Но вот что действительно интересно, так это схема лицензирования. Netezza лицензируется по объему ...пользовательских данных (только данных, никаких индексов )  после сжатия.  Как вы знаете, Exadata - требуется лицензировать все диски на cell, даже те которые содержат SYSTEM_DG, а уж сколько там будет данных  - дело ваше -)

Что же получается, Netezza идеальна ? Нет, у нее есть несколько архитектурных проблем, которые сейчас  решают, даже вроде анонсы уже есть.  Но их требовалось заметить -)))


Читать дальше...

IBM AIX: Enabler or roadblock?

Интересная тема из комментариев к предыдущему сообщению:

Есть экспертное мнение Дмитрия Волкова:

>> Oracle делает лучшую в мире СУБД
>> и непревзойденный RAC, Solaris, Java
>> IBM - все остальное

Из этого экспертного мнения следует, что Solaris круче AIX.

Вопрос 1: Означет ли это, что техника IBM в чем-то теряет от возможности использовать на ней только AIX, но не Solaris, а техника Sun что-то приобретает от того, что на ней есть Solaris?

Теперь поверх операционной системы устанавливается лучшая в мире СУБД Oracle.

Вопрос 2: Означает ли это, что с точки зрения пользователя СУБД Oracle цепочка IBM-AIX-Oracle работает хуже чем цепочка Sun-Solaris-Oracle из-за наличия более слабого звена в виде AIX?

Пожалуйста, интересует анализ по всем направлениям: производительность, масштабируемость, управляемость и двоичная совместимость, безопасность и надежность. Если можно, отвечайте не ссылками на документы, а развернуто по теме. По ссылкам читать долго и не интересно. Спасибо.

P.S. На фотке замечательно сохранившийся римский и средневековый город в провинции Прованс -- центре парфюмерной промышленности Франции. Называется этот город очень красиво и поэтично: AIX-en-Provence :^) Если будете в этих местах обязательно посетите. Волшебный запах лаванды и трав Прованса, стрекот цекад и шарм средневековья.


Читать дальше...