Netezza Deep Dive
Для затравки расскажу про основную особенность - "специальный соус" - которым так гордятся разработчики: обработка данных практически на уровне дискового контроллера. 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.
Читать дальше...