Power of Oracle BI

IBM подготовила очень хорошую статью о преимуществах систем на основе процессора Power 7 для Oracle Business Intelligence. Прежде всего в этой статье нет никакой маркетинговой истерики - если заказчик хочет  Oracle BI - пожалуйста, никаких проблем. Далее описываются преимущества платформы - виртуализация, надежность. Дается принципиальная картинка  референсной архитектуры. Но самое главное - есть ссылки, как начать нормальный процесс сайзинга.
Для тех, кто уже знает какая лучшая в мире платформа для Oracle BI -)   - приводится специальная табличка производительность Power 770 (топовый midrange или нижний hi end как вам больше нравится -)
Обратите внимание на Total I/O bandwith: 236GB/sec. Чтобы понять много это или мало, можно обратится к этому документу. C дисков Exadata Full Rack дает 25 Gb/sec 14Gb/sec, с Flash - 75.6 GB/sec без сжатия.  Ну а если вся база помещается на Flash, то почему бы просто не купить SSD диски ? 


38 комментариев:

  1. Наверное я недопонял или невнимательно прочитал.

    BI работает на сервере приложений. Посылает запрос к базе и дальше ждет ответа от базы. По результатам возвращенного ответа рисует графики и таблички.

    То есть, в целом в BI системе основная нагрузка находится на стороне базы. И тут понятно, что на Экзадате 75Gb/sec это довольно хорошо. Так как Экзадата и ворочает данные.

    А вот что за цифра 236Gb/sec тут я не понял. В статье про базу ничего внятного не написано.

    Если это I/O просто внутри сервера на котором крутится апсервер - то это ни о чем. Основная нагрузка не там.

    И про какой BI (10,11) идет речь тоже неясно. Они сильно отличаются

    ОтветитьУдалить
  2. >в целом в BI системе основная нагрузка находится на стороне базы
    >что за цифра 236Gb/sec тут я не понял
    Это цифра для сервера обслуживающего БД, если сервер набит под завязку картами ввода-вывода. Из картинке с reference architecture мне кажется это понятно.

    >BI (10,11) Они сильно отличаются
    Это не так важно для сайзинга, нагрузку на БД вряд ли зависит от версии, скорее от требуемых запросов, не так ли ?

    ОтветитьУдалить
  3. Неа, непонятно. Смотри в табличке, где 3236Gb/s у колонки заголовок Memory. Значит это не про диски и не про базу.

    А просто карты ввода-вывода не очень интересно по-моему.

    Поясни, плиз.

    ОтветитьУдалить
  4. >А просто карты ввода-вывода не очень интересно по-моему.
    Это карты ввода-вывода и это очень интересно, поскольку понаставить дисков это уже не проблема, 1000 дисков уже ставится в дисковый массив, проблема смочь этим воспользоваться. Кстати, спасибо что отметил еще и производительность памяти - для обработки на стороне БД это также важная характеристика. У тебя кстати, есть такая цифра ? -)

    ОтветитьУдалить
  5. Цифра по памяти? Навсидку нет, но наверное можно найти.

    Но все равно. 1000 дисков это хорошо, но статья-то про BI, а причем тут BI - непонятно. Наверное Cognos должен также быстро работать :)

    ОтветитьУдалить
  6. >причем тут BI - непонятно
    Статья про то, что есть железо с вполне конкурентными характеристиками производительности и достаточно интересными возможностями платформы, и есть описанный процесс сайзинга. С другой стороны у нас есть утверждение что smart scan и компрессия наше все и отсутсвие процесса сайзинга, или по крайней мере мне он неизвестен. Если тебе известен - пожалуйста ссылку на описание.

    ОтветитьУдалить
  7. Поджожди.
    Причем тут BI и смартскан?

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

    Ты конкретно сказал про пропусную способность 236Gb/s, которую можно достичь на 1000 дисках.
    Ок. Следуем твое логике. В Экзадате 12х14=168 дисков. Не 1000. Если бы их было 1000, то скорость была бы не 75Gb/s, а 446Gb/s.
    Да, я знаю про флеши. Просто следую логике.

    То, что IBM сделало такой док с сайзингом - отлично. Правда. Но все же речь идет о слое приложения, а не о базе.

    Я не сильно разбираюсь в железе, но мне кажется есть тут какое-то противоречие.

    ОтветитьУдалить
  8. >BI - это приложение, выполняющееся на сервере приложений.
    В документе речь идет o reference architecture, стр 4 документа, а не только о сервере приложения.

    >способность 236Gb/s, которую можно достичь на 1000 дисках.
    Не совсем так. Я написал что в современном дисковом массиве можно поставить до 1000 дисков, но это даст нам не 236 Gb/s а ~1,000 Gb/sec но переварить одна 770 это будет не в состоянии, придется ставить 4 шт. В твоем расчете придется поставить 6 полных шкафов, что сделать можно.

    >Но все же речь идет о слое приложения, а не о базе.
    О чем идет речь в документе написано под картинкой Reference Architecture на стр 4 документа.

    >Я не сильно разбираюсь в железе, но мне кажется есть тут какое-то противоречие.
    Только то, что для тебя BI это прежде всего сервер приложений, а документ рассказывает обо всех компонентах системы. На картинке ты найдешь даже ASM.
    Речь идет о том, что все серверные компоненты BI решения можно разместить в рамках Power систем - и сервер приложения, и БД, и Репозиторий. Если хочется можно установить поверх RAC. А можно разместить в одной физической машине в LPAR.

    ОтветитьУдалить
  9. Дима, я понимаю что ты об этой картинке. ASM и базу я там видел.

    И я понял твою мысль, что сервак позволяет теоретически прокачать 236Gb/s если ему дадут какой-нить сторадж который может это выдать. Допустим это так.

    Я просто считаю, что некорректно сравнивать с Exadata, которая является DB Machine. Конкретно некорректно сравнивать ее реальные 75Gb/s c теоретическими 236Gb/s.

    И, кстати ты ощибся, даже в вайтпейпе на которую ты даешь ссылку, написано что быстрые диски выдают 1,8Gb/s на ячейку, что для fullrack = 14x1.8=25.2Gb/s. Мы на тестах достигали близкие к этим показатели. Ну а теперь добавим HCC и допустим у нас база пожалась в 8 раз - вот тебе и все 75х8=600Gb/s

    Док полезный, спасибо, что дал ссылку. просто сравниваются совсем разные вещи.

    ОтветитьУдалить
  10. >ASM и базу я там видел.
    Хорошо

    >75Gb/s c теоретическими 236Gb/s.

    На картинке явно написано что 236Gb/s это пропускная способность адаптеров одной машины, а современный дисиковый массив легко выдаст в несколько раз больше.

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

    >вот тебе и все 75х8=600Gb/s

    Ноу проблем, у нас база пожалась в 3 раза (обычную компрессию ведь никто не отменял ?) и вот тебе 236*3 = 706 Gb/s



    >для fullrack = 14x1.8=25.2Gb/s. Мы на тестах достигали близкие к этим показатели

    Есть какая-нибудь статистика с тестов которая может подтвердить это ? AWR, iostat ?

    ОтветитьУдалить
  11. Поговори с Игорем Мельниковым, возможно у него осталось.
    Я тебе могу дать только честное слово, что это так. Ибо сам видел :)

    ОтветитьУдалить
  12. Дисковый массив из 1000 дисков не может делать 1000гб/сек, а только на порядок меньше!

    ОтветитьУдалить
  13. >Дисковый массив из 1000 дисков не может
    Похоже вы правы Борис, что-то мой ibm'омский калькулятор стал привирать слишком часто. Постараюсь посчитать завтра поточннее. Спасибо !

    ОтветитьУдалить
  14. Анонимный22/9/11 1:45 AM

    >На картинке явно написано что 236Gb/s это пропускная способность адаптеров одной машины, а современный дисиковый массив легко выдаст в несколько раз больше.

    Долго смеялся. Назовите модель такого "современного дискового массива". Ни одна СХД даже из категорий Hi-End даже близко к такой цифре не приближается.

    ОтветитьУдалить
  15. > Ни одна СХД даже из категорий Hi-End

    Я с Andrey P спорил, а не с вами. А он этого не заметил -) Кажется вы правы, я переоценил существующие дисковые массивы. Я вообще в них ничего не понимаю, только никому ни слова..

    >даже близко к такой цифре не приближается.

    На сайте EMC для модели Symmetrix VMAX в разделе maximum system specifications дается оценка 192Gb/s. Так что таки приближается.

    ОтветитьУдалить
  16. Анонимный22/9/11 2:20 AM

    >На сайте EMC для модели Symmetrix VMAX в разделе maximum system specifications дается оценка 192Gb/s. Так что таки приближается.
    Извиняюсь за резкость, но Вы правильно сказали. О том, что ничего не понимаете в СХД. Цифра 192Gb/s для VMAX это некая "Полоса пропускания сети Virtual Matrix" что не имеет НИКАКОГО отношения к тому, сколько МБ сможет выдать этот массив. Поменьше читайте маркетинговой чепухи, лучше посмотрите результаты тестов СХД.

    ОтветитьУдалить
  17. >Я с Andrey P спорил, а не с вами. А он этого не заметил -)
    Да нет, я то как раз заметил, что есть какая-то фигня - и вся моя переписка об этом. Просто я ни раз не спец в СХД, поэтому поверил тебе, что есть массивы, которые могут столько выжать, хотя ни разу не встречал на картинках такого.

    ОтветитьУдалить
  18. >Цифра 192Gb/s ...не имеет НИКАКОГО отношения к тому, сколько МБ сможет выдать этот массив.


    Еще раз посмотрел сайт EMC. 1 VMAX engine обладает полосой пропускания 24Gb/s, можно поставить всего 8 таких engine. 24 * 8 = 192.

    Если вы утверждаете что полоса пропускания никак не коррелирует с тем сколько MB может выдать массив - дайте цифру сколько выдает 1 engine по вашим данным.

    В том же документе дается харакетристика Internal Data Rate до 2Gb/s на диск (?) сразу для нескольких типов дисков (FLASH и SATA).

    ОтветитьУдалить
  19. >Да нет, я то как раз заметил
    Обидно, я так старался -))

    Тут вот какая штука. По whitepaper full rack дает 25Gb/sec (ты прав, не 14 как я написал), и это честное чтение с дисков, но вот данные про чтение с flash все таки явно предполагает что данные закэшированы. Производители дисковых массивов не дают данных о производительности при чтении из кэша. Так что если ты хочешь сравнивать 75Gb/s то нужно как-то найти данные, какая будет призводительность дискового массива если данные берутся из кэша.

    Но даже это похоже не самое главное. Я почему спросил у тебя про графики. Не уверен что есть много приложений которые могут 'сожрать' столько данных в сек.

    ОтветитьУдалить
  20. >Дисковый массив из 1000 дисков не может делать

    Я нашел тесты на DS8000 из которых можно предположить что полностью забитый дисками массив даст порядка 50Gb/s. Еще раз - это апросикмация тестов, а не теоретический расчет. Что остается за этой цифрой - какое время отклика будет на операцию чтения и каков размер этой самой операции чтения. Так что даже эту цифру можно опротестовать -)
    Спасибо за замечание!

    ОтветитьУдалить
  21. >Но даже это похоже не самое главное. Я почему спросил у тебя про графики. Не уверен что есть много приложений которые могут 'сожрать' столько данных в сек.

    Ты забыл, что смысл работы Экзадаты не в том чтобы завалить приложение данными. Она делает SmartScan - из миллиардов записей выбирает только небольшое подмножество, что попадают под условие или вообще агрегирует.

    То есть, в приложение вообще может вернуться 1 запись после скана миллиарда записей. А в этом случае чем быстрее сканируется, тем быстрее будет результат.

    ОтветитьУдалить
  22. >смысл работы Экзадаты
    Я плохо/неправильно выразился. Приложений, которые могут 'накормить' Exadata такой работой

    ОтветитьУдалить
  23. А в чем тут проблема?
    Наверное одна сессия (запрос) редко сканирует терабайт за раз. А если у тебя 100 или 1000 сессий, каждая из которых сканит по 10 гигов, то почему бы и нет?

    ОтветитьУдалить
  24. >то почему бы и нет?
    По моему мнению для диска (SAS/SATA) есть большая разница - сканирует его 1 сессия или 1000 одновременно. Это не так ? Мне и хочется понять, есть ли реальные приложения, для которых достигается 25Gb/s. Что эти приложения делают. Сколько там сессий.

    ОтветитьУдалить
  25. Чуть выше мы говорили про 236Gb/s, а теперь выясняется, что и 25 не загрузишь :)

    Были бы ресурсы, а загрузить не проблема. Поудаляй индексы и пожалуйста, например.

    У нас было тестирование, когда достигались похожие цифры, правда там сессий было более 10000

    ОтветитьУдалить
  26. 10000 сессий одновременно дергающих одни и те же диски а диски продолжают выдавать максимальную производительность ? Те у них бесконечно быстрое перемещение головки ? Это звучит странно, нет ?

    ОтветитьУдалить
  27. Честно говоря я не знаю, как работает приоритезация и очереди на ячейках, может быть тут и не важно сколько сессий.
    Я просто говорю о том, что цифры близкие к 25Gb/s

    ОтветитьУдалить
  28. >цифры близкие к 25Gb/s
    Я тебе верю. Просто все тесты которые видел я были основаны на чтении из flash cache а не с дисков. Просто авторы тестов редко когда хотят исследовать что на самом деле происходило. Поэтому мне и хотелось получить статистику с cells.

    ОтветитьУдалить
  29. Игоря лучше спросить.
    Я сам делал засечки, когда не использовался флешкеш и было 18Gb/s
    Но я не ставил задачу именно понять достигаются ли 25 гигов. просто засек в какой-то момент времени.

    ОтветитьУдалить
  30. >огда не использовался флешкеш и было 18Gb/s

    Как ты это делал ? куда ты смотрел чтобы это понять ?

    ОтветитьУдалить
  31. Sql Monitor показывает по запросу.

    ОтветитьУдалить
  32. >Sql Monitor показывает по запросу.
    Я не понял. Для тупых - что такое SQL Monitor, что он показывает ?

    ОтветитьУдалить
  33. SQL Monitor(ing) - это офигенный тул (часть EM), который позволяет на Exadata (и, возможно, не только) смотреть как отрабатываются запросы по каждому шагу плана и пишет разную статистику.
    Например по запросу он может показать сколько он выполнялся, какие шаги были, сколько данных было прочитано на каждом шаге и т.п.

    Ну, собсно, даже без него, зная размер таблицы (dba_segments) и зная сколько идет по ней фулскан типа sum(a) можно посчитать сколько было прочитано за секунду.
    Если таблица весит 10 тер, то, понятно ни о каком флеше тут речь не идет (да и по вьюхам это видно)

    ОтветитьУдалить
  34. >SQL Monitor(ing)
    ты имел в виду Real Time SQL Monitoring, http://download.oracle.com/docs/cd/B28359_01/server.111/b28274/instance_tune.htm#CACGEEIF

    это не часть EM, а возможность БД, и работает конечно где угодно.

    >- это офигенный тул

    +1

    >сколько данных было прочитано на каждом шаге

    Я тебе верю. Ты убедительно рассказываешь. Конечно, если бы я бы был каким-то меркантильным кю, я бы конечно спросил как при 10000 сессиях один запрос типа sum выдает 18gb/s и не значит ли что общую производительность также можно умножить на 10000, но я не буду. Я мог бы сказать что таблица 10Tb после сортировки и сжатия полностью помещается в flash cache, но я не меркантильный.

    Доверие для меня гораздо важнее. Важнее любой статистики, сриншотов, AWR, iostat и прочей ерунды -)

    ОтветитьУдалить
  35. Нее. Я про графический тул, хотя, возможно он использует тот мониторинг, на который ты дал ссылку.
    Странно, что я даже нагуглить не могу внятный скриншот тулза о котором я говорю. Что то похожее вот:
    http://www.interface.ru/iarticle/img/25998_60225557.jpg

    Вернее, наверное это оно и есть, только тут как минимум нет коэффициента Cell offloading, значит это не Exadata.

    10000 сессий были у Игоря. Я ему верю. Это я могу лохануться, он врядли. Я гонял запросы по одному. В одну сессию.

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

    10 тер во флеш по любому не поместятся.

    AWR я не снимал, так как цель была не в этом. 18Gb/s просто появились как побочный эффект экспериментов

    ОтветитьУдалить
  36. Анонимный23/9/11 12:46 AM

    >> смысл работы Экзадаты
    > Я плохо/неправильно выразился.
    > Приложений, которые могут
    > 'накормить' Exadata такой работой

    есть многое на свете, друг горацио, чего не снилось ни вам, ни вашим мудрецам.

    иными словами - оперируй фактами. нет фактов - не оперируй :) ибо нефиг :)

    ranger/ESSC

    ОтветитьУдалить
  37. >Это были 10 тер,
    >Я гонял запросы по одному

    Андрей, у меня нет сомнений в заявленных в pdf файле цифрах. Oracle никогда не врет, я проверял много раз. Ты тоже вряд ли можешь перепутать цифры. Вопрос в том, что если одна сесссий достигает 18Gb/s то что будет когда сессий будет 10 или 100 ? Те интересна была бы статистика с приложения. см например что получали в своем время
    http://www.google.com/url?sa=t&source=web&cd=2&ved=0CCgQFjAB&url=http%3A%2F%2Fwww.wintercorp.com%2Fwhitepapers%2FMeasuring%2520the%2520Performance%2520of%2520the%2520Oracle%2520Exadata%2520Storage%2520Server.pdf&rct=j&q=%20exadata%20perfomance%20test%20winter%20corp&ei=JD98ToDHAqj04QTpiqXHDg&usg=AFQjCNFEf8pUqMj5A_IQO3EnZsuggE5TUA&sig2=paQHx1Sk0fkHdVdonDorgw&cad=rja

    когда было еще 14 Gb/s. Как я писал, да, достигается, но не все время и на весьма специальной нагрузке. Если я правильно понял число сессий там было маленьким. Вот все это мне и было бы интересно.

    ОтветитьУдалить
  38. Ок. Наверное я нечетко выразился.
    У нас было много тестирований.
    Там где участвовал я лично был случай когда я гонял в одну сессию фулсканы по 10 терабайтной таблице - и у меня получались скорости в районе 18Gb/s

    В тоже время у Игоря было совсем другое тестирование с другими профилями нагрузу - там было много сессий с которткими и длинными запросами и он смотрел суммарную нагрузку на ячейки, и вот она была больше, чем 18gb/s. Не знаю, сохранились ли у него доки - это к нему больеш вопрос.

    *** Дальше моя спекуляция***
    Мое ощущение, возможно неправильное, что для ячейки не важно сколько реально сессий просит с нее данные, скорее всего она про это вообще не знает, а просто отрабатывает запросы на тех блоках, что ей присылают сверху.
    Какая ей разница скнировать 10Tb от одной сессии или 10 тер от 1000 сессий, если все равно блоки размазаны по ячейкам?

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