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.

21 комментарий:

  1. Анонимный31/7/11 12:56 PM

    > Ну и немного юмора в конце - на этой странице утверждают что среди заказчиков Netezza - Oracle UK -)

    Шутка юмора в том что Orange <> Oracle?

    ОтветитьУдалить
  2. >Orange <> Oracle?

    Спасибо вам - удалил этот текст. Заработался. Извините.

    ОтветитьУдалить
  3. Анонимный31/7/11 1:03 PM

    > Oracle: несколько часов

    Бред сивой кобылы, а не сравнение? Нужно объяснять почему или ты сам посоветуешь слайд убрать?

    ОтветитьУдалить
  4. Анонимный31/7/11 1:04 PM

    Ты все вычитай. Презентация-то плохая.

    ОтветитьУдалить
  5. >Нужно объяснять почему или ты сам посоветуешь слайд убрать?

    конечно нужно объяснять, коллегам будет весьма полезно.

    >Ты все вычитай. Презентация-то плохая.
    Спасибо за ваше мнение. Теперь пожалуйста поконкретнее. Номер слайда, что не так.

    ОтветитьУдалить
  6. Анонимный1/8/11 7:29 AM

    Я напишу запрос сейчас абстрактный, запущу его на Oracle/Exadata, MS SQL server, MySQL, и проч. и просто скажу в какой-то другой презентации, что такой же на Netezza работает 3 часа. Не указав почему он работает 3 часа, не сравнив и показав где реально Oracle, MySQL, MySQL, и прочие тратят время и где Netezza реально "побеждает". То что указано на том слайде это тип псевдо-технического, неполноценного сравнения, а это еще хуже чем просто маркетинговая информация. Исправлять за тебя слайды никто не будет, потрудись сам разобраться в той переведенной чепухе и в абсолютно непрезентабельном изложении материала. Их читать невозможно.

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

    "Отказавшие диски автоматически восстанавливаются" что будет если произойдет сбой во время восстановления? Как ускорить (дать больше ресурсов) на операцию восстановления?

    "Транзакции и загрузка прерываются" "Загрузка данных перезапускается с последней контрольной точки" противоречит "Отказы дисков не влияют на запросы и транзакции" они влияют имменно потому что чудес не бывает и время отклика при сбойном диске (или другом элементе программно-аппаратного комплекса) увеличится.

    Это не "глубокое погружение", это убогий "технической маркетинг".

    ОтветитьУдалить
  7. >Исправлять за тебя слайды никто не будет, потрудись сам разобраться

    Спасибо за потраченное время, действительно есть что улучшать. К сожалению в пылу вы явно забыли прочитать кто делал эту презентацию, хотя это написано в первой строке поста. Я занимаюсь Oracle, это база данных такая

    >Не указав почему он работает 3 часа
    Думаю что слайд не очень конечно. Следовало привезти customer case, например вот такой http://www.netezza.com/documents/ibasis_casestudy.pdf

    >где я могу увидеть статисткик
    >Где цифры в миллисекундах?

    Диски в Netezza зеркалированы, поэтому если не удасться считать данные с одного диска данные будут считываться с другого. Придется повторить операцию чтения, 10 ms на этом будет потеряно. Но Netezza это DWH и время запросов измеряется минутами, поэтому ms никого не волнуют

    > Что то будет если произойдет сбой во время восстановления?
    > Как ускорить операцию восстановления?
    В Netezza есть hot spare диски, данные копируются на новый диски, если восстановление на старом невозможно. Не знаю как ускорить и не знаю зачем это нужно, работает с максимальной скоростью которой может автоматически.

    >"Транзакции и загрузка прерываются" противоречит "Отказы дисков не влияют на запросы и транзакции"

    Вы запутались в слайдах 36 и 37. На 36 идет речь про отказ диска, он не влияет скорость запросов. На слайде 37 речь идет про отказ s-blade. Конечно при отказе s-blade транзакция останавливается и будут продолжены с контрольной точки.

    >Это не "глубокое погружение"
    Спасибо еще раз за ваше анонимное мнение.

    ОтветитьУдалить
  8. Андрей Выходцев1/8/11 12:04 PM

    Добрый День!

    Насчет сравнения времени выполнения запросов в презентации действительно написано немного голословно, но это действительно правда что системы MPP гораздо производительнее в аналитических запросах, могу утверждать по опыту.

    Отказы дисков действительно не влияют на запросы и транзакции - все диски зеркалированы, во всех моделях кроме самой младшей имеются запасные диски (hot spares). Именно эти диски и используются для операции восстановления, которая происходит в бэкграунде.

    Как управлять ресурсами, выделенными на восстановление если честно, не знаю, но мог бы выяснить если была бы необходимость.

    "Транзакции и загррузка прерываются", и "Загрузка данных перезапускается с последней контрольной точки" - это было не про отказы дисков, а про отказы S-Blades, так что противоречия тут нет.

    Буду рад ответить на другие вопросы если есть.

    Андрей Выходцев

    ОтветитьУдалить
  9. По приведенной ссылке Netezza & Oracle есть как минимум 1 ошибка (даже не ошибка, а скорее неточность):
    GoldenGate не умеет складывать данные напрямую в Netezza. Интеграция с Netezza делается через плоские файлы. А вот с Exadata и Teradata - интеграция делается напрямую - GoldenGate льет изменения прямо в базу данных.

    ОтветитьУдалить
  10. >GoldenGate не умеет складывать данные напрямую в Netezza

    Александр, спасибо !

    ОтветитьУдалить
  11. Дима, ты так долго занимался критикой маркетингового булшита от Oracle, а вывеcил презу Netezza, в качестве технической, где этого булшита огромное количество :)

    Но все равно преза интересная, спасибо!

    В качестве конструктивной критики - слайды, где есть системы ETL содержат упоминания о Sunopsis и Hyperion, как отдельных компаниях.
    Они уже куплены Oracle более 4 лет назад, что говорит о том, что слайды с тех пор не менялись.

    ОтветитьУдалить
  12. >ты так долго занимался критикой маркетингового булшита

    Я против булшита во всех компаниях -) И вывесил я презентацию именно с целью искоренить его. По результатам замечаний будет update.

    >преза интересная, спасибо!
    Всегда пожалуйста

    >где этого булшита огромное количество

    Slide by Slide, номер слайда, в чем булшит ? Ребята все поправят без проблем, я думаю.

    >В качестве конструктивной критики..Они уже куплены Oracle более 4 лет назад

    Принято

    ОтветитьУдалить
  13. Анонимный4/8/11 3:00 PM

    Секретная ссылочка на цены Netezza
    http://netezza-twinfin.com/

    ОтветитьУдалить
  14. >Секретная ссылочка
    супер. Помните только что это цены от некоторого партнера, а не IBM.

    ОтветитьУдалить
  15. Анонимный4/8/11 4:19 PM

    > И вывесил я презентацию именно с целью искоренить его. По результатам замечаний будет update.

    а мне кажется, что преза была сюда вывешена, чтобы мы ее оценили, вы ее поправили и пошли с ней по заказчикам :)

    >Помните только что это цены от некоторого партнера, а не IBM.

    не потому ли, что ни один из партнеров в России пока еще не имеют право продавать netezza?

    ОтветитьУдалить
  16. >а мне кажется, что преза была сюда вывешена
    Может быть и так тоже. Только я не хожу по заказчикам с Netezza, я занимаюсь Oracle Database. Oracle RAC.

    ОтветитьУдалить
  17. Анонимный5/8/11 9:18 AM

    > написано немного голословно
    Написано не "немного голословно", а написана откровенная чепуха.

    > но это действительно правда что системы MPP гораздо производительнее в аналитических запросах, могу утверждать по опыту.
    Просили указать на чепуху, а не на твой конкретный опыт, про который в презентации не говориться.

    > Отказы дисков действительно не влияют на запросы и транзакции
    Прочитай очень внимательно, очень, о чем было написано. И поймешь что ты пишешь чепуху. Они не могут не влиять. Они влияют. Это влияние имеет характеристики. Эти характеристики в нормальных документах указывают.

    > Именно эти диски и используются для операции восстановления, которая происходит в бэкграунде.
    Что будет если сбой произойдет во время операции восстановления? Как это мониторится? Что делать?

    > Как управлять ресурсами, выделенными на восстановление если честно, не знаю, но мог бы выяснить если была бы необходимость.
    Речь не о тебе, а о том что в презентации. Если там написана фигня, то ее нужно исправить.

    > "Транзакции и загррузка прерываются", и "Загрузка данных перезапускается с последней контрольной точки" - это было не про отказы дисков, а про отказы S-Blades, так что противоречия тут нет.

    См. выше. Хватит писать чепуху.

    ОтветитьУдалить
  18. Мы работаем в данный момент с потенциальными партнерами. Только на этой неделе было 5 встреч.

    ОтветитьУдалить
  19. Андрей Выходцев16/8/11 5:36 PM

    > Что будет если сбой произойдет во время операции восстановления? Как это мониторится? Что делать?

    Давайте обратимся к слайду номер 36, на котором нарисованы разделы диска (primary, mirror, temp.
    Если происходит сбой диска, то происходит следующее: а) данные продолжают считываются с другого диска, который содержит раздел с его зеркалом; б) В это время система копирует на запасной (hot spare disk) этот раздел с зеркалом сбойного диска в качестве основного (primary) раздела, а в качестве mirror раздела копируется раздел того диска, с которого происходило копирование.
    Если во время этой процедуры произошел сбой, то процесс копирования начнется по-новой.
    Мониторить этот процесс можно при помощи специальных утилит - nzsystem и nzAdmin.

    ОтветитьУдалить
  20. Владимир Комаров24/8/11 5:36 PM

    Буллшит, говорите? Ну, хорошо.

    Слайд 4: teradata и exadata - тоже интегрированные решения, netezza не уникальна. К тому же у Informatica есть опция push-down optimization, заставляющая выполняться etl-процессы прямо в терадате, не гоняя данные по сети и не нагружая ETL-сервер. У SAS есть scoring accelerator и analytics accelerator, также позволяющие проводить промышленный скоринг и обучение моделей силами терадаты. Так что в отношении интеграции netezza не уникальна, а терадате даже проигрывает.

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

    Слайд 29: "секретная железка" - хорошо, но дорого. В exadata и teradata практически всё железо стандартное (за исключением flash cache и BYNET). Как только netezza составит упомянутым решениям хоть сколько-нибудь серьёзную конкуренцию, цену можно будет мгновенно снизить за счёт скидок на ПО. А вот железом торговать себе в убыток вряд ли долго получится.

    Слайд 62, zone maps: в exadata есть, только называется по-другому.

    ОтветитьУдалить
  21. Андрей Выходцев31/8/11 12:08 PM

    Владимир, привет!

    Не спора ради, а информации для:

    Informatica может делать PDO и в Netezza. SAS accelerator'ы для Netezza тоже есть, работают приблизительно так же. И тоже есть SAS Access for Netezza и SQL pushdown тоже работает.
    Насчет курсов обучения - так и есть, чем длиннее курс, тем больше фич, однако в Netezza пошли путем максимального упрощения и выноса логики в аппаратный уровень, что сокращает время на обучение (могу сказать по личному опыту, что мне понадобилось на изучение Netezza гораздо меньше времени чем на изучение Teradata и Oracle)

    FPGA это не совсем секретная железка, это программируемый чип, про него даже в википедиях написано .
    И стоит тоже недорого, особенно в сравнении.

    В Exadata есть фича, поразительно похожая на zone maps - называется Exadata Storage Indexes. Там вся магия происходит внутри Exadata Storage Server Grid, на который сверху смотрит RAC Database Server Grid. В Netezza сделано по-другому, там shared nothing, нагрузка распределяется равномерно между процессинговыми юнитами (SPU), которые читают с диска при помощи FPGA, в котором и происходит фокус с zone maps, а так же много других вещей - декомпрессия, фильтрация колонок, и т.п.

    Надеюсь, ничем не оскорбил твои религиозные чувства :)

    С уважением, Андрей.

    ОтветитьУдалить