Подарок на новый год

Сделайте себе подарок на новый год - купите Oracle Core, by Jonathan Lewis.  Не соглашусь, что эта книга прямо вот для каждого разработчика или DBA, никаких магических советов как ускорить производительность там нет, как и примеров как лучше писать код pl/sql. Там есть вдумчивый, тщательно сбалансированный между доступностью и количеством деталей рассказ,  как работает Oracle Database. В одной книге.  Она требует времени, внимания, это книга больше для души -)), а не для работы. Здесь еще до 25 декабря действует промокод SNOW11.  Я купил в электронном варианте, но теперь даже немного жалею, что не купил бумажный вариант.  Сделайте себе подарок.






Ну а мне в лучшим подарком в уходящем  году были вот эти семинары. Единственные, про то, как на самом деле будет работать ваше приложение в  коробке на заднем плане -) 



C наступающим Вас !

PS Не могу обещать. что смогу быстро акцептовать ваши комментарии, но они все точно появятся на сайте. 


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

SMT4

Предыдущий пост здесь.  Приобретая систему с 256 ядрами заказчик конечно же захотел использовать SMT в Power 7 на полную катушку, те включить режим SMT4 и получить в общей сложности 1000 процессоров в одной LPAR.  Однако Best Practice на сегодняшний день - это использование в таких конфигурациях SMT2. Этому есть несколько объяснений, в том числе и то, что Oracle Dev не имеет доступа к таким машинам, а значит не имеет возможности нормально протестировать код.  Ну а раз нет возможности протестировать, то и найти возможные проблемы с масштабируемостью (как в Oracle, так в AIX) тоже удается только по факту их возникновения.  Ничего личного, это просто текущее положение вещей. Вот и мы, для  временного обхода одной из проблем в AIX,  решили попробовать перейти в режим SMT OFF.

Конечно возник вопрос а как это скажется на производительности ? Процессоров то станет меньше.  На основе просмотра статистики, стало ясно, что можно выключить  SMT без ущерба для производительности в данном конкретном случае. Детали вы найдете в моей презентации, но если коротко - в системе не находилось одновременно более 256 работающих процессов. А если процессов меньше, чем ядер, AIX умеет распознавать эту ситуацию, и помещает каждый процесс на отдельное ядро, те фактически автоматически переводит систему в наиболее оптимальный  режим SMT. Но а если вы  точно знаете что происходит, то лучше сделать это самому. Магия SMT настолько велика, что пришлось даже немного поспорить с заказчиком  (и в конечном счете выиграть-), что переключение не приведет к ухудшению производительности приложения в целом. 

Было принято  решение делать это "на ходу", чтобы избежать простоя системы. У меня не было опыта,  как отработают 256 ядер переключаясь из одного режима в другой, но к удивлению, после примерно 10 минут повышенной активности sys все успокоилось.

Несмотря на то, что изменение конфигурации SMT возможно на ходу с помощью команды smtctl в больших системах рекомендуют этого не делать, а поменяв конфигурацию перегрузить систему. Я не знаю объяснения последнему факту, но верю инженерам IBM, и рекомендую следовать этой практике,  особенно  для случая когда в одну  LPAR выделены сотни (!)  ядер.

Другая опасность состояла в том, как переживет Oracle потерю половины процессоров (Oracle видит каждый thread как отдельный процессор). Но тут тоже все обошлось.   В Oracle на самом деле достаточно много внутренних структур и распределение памяти  на старте системы зависит от кол-во процессоров:
- working data set per buffer pool
- число latches защищающих library cache
- число redo copy latches
- число public redo treads
- число database writers и некоторые другие параметры,  которые можно выставить и самому

И хотя все эти структуры создаются на старте экземпляра, и не меняются после изменения кол-во процессоров "на лету", может так оказаться, что само изменение числа процессоров приведет не к оптимальной работе БД. Теоретически.

В 11.2 появился скрытый параметр _disable_cpu_check который похоже предназначен для таких ситуации. Вы ставите нужный вам cpu_count, и  _disable_cpu_check = TRUE (FALSE по умолчанию), и больше не будете зависеть от кол-ва процессоров (еще сам это не проверил)  

Ну и напоследок небольшой анекдот:

Я привык пользоваться командой vmstat для мониторинга кол-ва активных процессов ожидающих процессора (колонка r). Тут интересная деталь. Я всегда считал,  что там фиксируется кол-во процессов, именно  ожидающих процессора. И это так для  Linux
"The number of processes waiting for run time".  Однако для AIX оказалось, что: "Runnable threads consist of the threads that are ready but still waiting to run, and the threads that are already running"

Вместо заключения: хорошо ли SMT4,   или SMT2, или лучше вообще выключить зависит от задачи. Надеюсь я вас этим не удивил. В большинстве систем можно включить SMT4 и AIX сам сделает как надо. И только в очень больших системах лучше сначала подумать и собрать несложную статистику.  На картинке, интересный скриншот, сравнение с помощью rperf Power5/Power6 с SMT4 Power 7. Очень важно, что это capacity сравнение, не сравнение по скорости. Наверно более подробно, в следующей серии -)

PS Над проектом работала большая команда, поэтому все обнаруженные улучшения/настройки являются коллективным трудом.


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

LGWR priority

Как я обещал, ниже первый пост из серии "как я провел лето".

В нашей системе,  достаточно жесткой  OLTP, 256 core, AIX 7, Power 7, сессии испытавали проблемы с событием ожидания log file sync. Сразу скажу, что на 99,99% проблему тут стоит искать в вводе-выводе. Так оно в конце концов и оказалось конечно же.

А пока мы ломали голову над  записями  в файле _lgwr_PID.trc

Warning: log write elapsed time 888ms, size 252KB

*** 2011-11-18 01:55:57.286
Warning: log write elapsed time 535ms, size 2529KB

*** 2011-11-18 01:55:57.924
Warning: log write elapsed time 560ms, size 99KB

*** 2011-11-18 01:56:00.852
Warning: log write elapsed time 541ms, size 3688KB

Оказалось, что при превышении timeout одной операции (?) LGWR более чем на 500 ms (есть скрытый параметр определяющий порог, но я не смог его найти во время написания этого поста) Oracle начиная с версии 10.2.0.4 (MOS 601316.1) начинает фиксировать  данные события.

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

Не скрою, первое подозрение пало на дисковый массив. Однако проблему удалось найти не в самом дисковом массиве, но в I/O path. Система очень комплексная, очень большое количество вендоров задействовано, и конечно проблемы на стыке были более,  чем ожидаемые. Если вы увидите на AIX подобную проблему, свяжитесь со мной,  и я смогу понять та же у Вас проблема или нет. Пока не могу рассказать больше деталей.

Но пока мы разбирались с этой проблемой появилась идея, что неплохо бы и помочь LGWR в работе. Процессоров огромное количество в машине, процессов еще больше, и получается, что хотя все сессии ждут LGRW приоритет у него совершенно такой же как у всех остальных процессов.  Вы видите на рисунке слева (Tanel Poder, Understanding LGWR, Log File Sync Waits and Commit Performance) что ожидание в очереди процессов LGWR  вполне себе входит во время ожидания log file sync.


Оказалось, что в AIX по умолчанию все процессы получают приоритет 60 (на самом деле base priority 40 и nice 20 = 60).

#ps -ef -o pid,pri,sched,nice,args |egrep 'lgwr' |grep -v grep
PID     PRI SCH NI COMMAND
2432232  60   0 20 ora_lgwr_cardway

Казалось бы необходимо воспользоваться nice/renice чтобы получить требуемое. Но на самом деле не все так просто, и, простыми словами, nice = "nice to have", а вовсе не жесткое указание приоритета. К тому же пришлось бы так делать каждый раз после старта БД руками. Оказывается, что в AIX можно выставить фиксированный приоритет  < 40 с помощью системного вызова setpri(). Я уже почти запускал компилятор, когда оказалось, что у Oracle есть скрытый параметр _high_priority_processes с помощью которого можно указать каким процессам мы хотим повысить приоритет:

alter system set "_high_priority_processes"='LGWR|PMON' scope=spfile;

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

select a.ksppinm "Parameter",
 b.ksppstvl "Session Value",
 c.ksppstvl "Instance Value"
 from x$ksppi a, x$ksppcv b, x$ksppsv c
 where a.indx = b.indx and a.indx = c.indx
 and a.ksppinm like '%os_sched%'


И даже это еще  не все. У меня все заработало только после того,  как я добавил capability CAP_NUMA_ATTACH пользователю Oracle. Хотя возможно,  это и не обязательно. 


Вот как выглядит теперь правильная картинка: PRI=39, NI="--"

#ps -ef -o pid,pri,sched,nice,args |egrep 'lgwr' |grep -v grep
PID     PRI SCH NI COMMAND
3544740  39   2 -- ora_lgwr_cardway


Коллеги со стороны приложения подтвердили, что видят положительный эффект после данного изменения. 

Является ли данный метод действенным способом уменьшить событие log file sync во всех случаях ? Если проблема заключается в вводе-выводе в redo logs,  то скорее нет. Но после исключения проблем ввода вывода, и если у Вас OLTP, и если у Вас много процессоров  - почему бы и не попробовать ?

Поскольку требуется выставлять скрытый параметр, то вам лучше перед его использованием проконсультироваться с Oracle Support. Но они не будут очень возражать, поскольку, как мне кажется, тот же самый механизм используется для выставления приоритета процессу LMS в RAC.

PS Над проектом работала большая команда, поэтому все обнаруженные улучшения/настройки являются коллективным трудом.


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

I'm back

Долгое время  я не писал, был занят в достаточно интересном проекте по внедрению Oracle Database on Power P795. Сейчас кажется появилось время и я постараюсь опубликовать несколько постов про полученный опыт.  Проект был не простой,  и  мне просто повезло, что  удалось пообщаться с dev team как IBM, так и Oracle.   

Поскольку работы проводились большей частью из дома или на площадке заказчика я был  долгое время вне офиса. А тут приехал - стоит, красавица,  даже еще и пленочку не сняли -). В близжайшее ее  время запустят и конечно же первым делом я попрошу  сертифицировать 1C - ведь я очень ценю  хороший юмор -) 

Заодно и узнаем, что было правдой, а что нет вот в этих постах.


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

Презентация с RuOUG

Моя презентация с RuOUG посвященная OpenWorld, написанная "по мотивам" постов в блоге.

На мероприятии мы также стали обсуждать, что возможно сделать мероприятие по типу RAC Attack. Дело за малым :
  1. Нужен кворум
  2. Нужна техника чтобы развернуть кластера
Буду раз если появятся комментарии на эту тему. 


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

...is up to 100x faster than its predecessor

Я никогда не думал, что возможно создать систему быстрее чем предыдущее поколение в 10 раз. Ну это как признать, что над  предыдущем поколении работали ..не очень умные люди ? Инженерно это практически невозможно. Можно сделать новые диски, или новую память, но ускорить всю систему в 10 раз ? Всегда найдется очередное узкое место. Но вот уже несколько дней, как я был вынужден изменить свое мнение.

Внимание, цитата с сайта HP: "...is up to 100x faster than its predecessor and features a unique production number...".

Они просто сделалали это. Это гениально.
Wall Street Journal, цитата: "Ignorance of the  ... can flash more warning signs than a scuffed pair of shoes.", что в вольном переводе звучит: продай последние трусы, ходи в потертых ботинках,  но без этой штуки ты никто.

Все стало на свои места. Вот почему Ларри так сильно напирал в своей речи  на OpenWorld на то, что 10x10 = 100. Он знал что конкуренты догоняют ..


PS Фото с сайта HP и презентации Ларри.
PS2. Вы понимаете юмор, ведь да ? -)


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

секретный соус Power 7

Скачать презентацию.

Современные процессоры не только содержат ядрa, но и каждое ядро содержит много потоков. Так, например, процессор Oracle Sun T4 содержит  8  потоков на каждое ядро, а  процессор Power 7 содержит 4 потока на ядро. Intel называет эту технологию Hyper-Threading  и, например,  последние E7 содержат два потока.  Надо отметить, что поскольку Oracle Database лицензируется по ядрам (Enterprise Edition), то наличие этих самых потоков 'скрыто' от политики лицензирования и может быть весьма существенным фактором выбора платформы.  Но оказывается, что наличие потоков в ядре еще не означает, что все становится быстрее.  Когда 8 или 4  потока пытаются конкурировать за 1 физическое ядро  это может приводить к тому, что каждый из них  работает медленнее, чем если бы поток был один,  даже  на каком-то  более дешевом процессоре, но каждый поток получал бы больше ресурсов от ядра (Вы можете здесь вспомнить мой пост 10 sec of your time. Там явно всех 'рвет' Sandy Bridge. Данная проблема сейчас часто звучит как "Single Thread Performance"). Оказывается, что необходимо искать баланс межд: количество ядер в процессоре, количеством потоков в ядре, частоте.  И даже это еще не все. В ядре есть понятие execution pipeline - те во сколько реально потоков идет выполнение (на картинке выше).  Наличие 8 потоков не означает что все они работают одновременно !  Смотрите, что получается: то что у нас много потоков, и  это хорошо, потому что мы не тратим время на перегрузку регистров, но мы вынуждены делить одно ядро, да еще и выполняться (на некоторых процессорах)  через узкую калитку.  Угадать правильный баланс сложно, нужен эксперимент. В  Power 7 есть уникальная возможность  менять количество потоков программным образом. А раз так, почему бы не попробовать ?

Я взял свою домашнюю машину (AIX 7, 4 ядра Power 7) и решил посмотреть как работает процессор, который нагружается большим количеством потоков под целочисленной математикой и с плавающей точкой. Чтобы понять теорию процесса. Дальше я применил полученные данные к Oracle Database которую нагружал c помощью Swingbench, причем я брал как OLTP  тесты,  так и DWH.  Пожалуйста посмотрите презентацию, там много разных тестов.



Что у меня получилось (вывод для занятых): на Power 7 для OLTP задачи включение режима SMT=4 дает существенный прирост общей пропускной способности при увеличении числа потоков/на одно ядро, при этом в рамках моей системы мне не удалось замерить ухудшение производительности одного потока.  Также Power 7 имеет специальную оптимизацию в случае однопоточного выполнения даже в режиме SMT=4.

Выводы: Разработчикам P7 удалось реализовать действительно реальную многопоточность и ее использование в большинстве случаев существенно увеличит пропускную способность вашей системы.  


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

про счастие-2

Чувствовали себя неудачником,  потому что попали не попали на OpenWorld ? Надоело смотреть на мир глазами Юрия Сенкевича на происходящее через этот блог ? Тогда это для вас - Oracle открыл доступ к материалам OpenWorld. Для всех. Бесплатно. Пусть себя почувствуют неудачниками те, кто потратил деньги и здоровье на 16 часовой перелет, бу-га-га !

PS Не было времени посмотреть  посмотреть какую все таки выберет этот парень, но идея забавная ...


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

OOW. Заключение

Многие говорят, что это был самый интересный OpenWorld за последнее время. Наверное. Очень много анонсов. Для меня это  был уникальный OOW, поскольку я получил возможность поговорить сразу с разработчиками как Oracle так и IBM. Это очень интересно, когда  технические специалисты аргументируют свое видение стратегии.  

Но у этого OpenWorld есть и еще очень важная для меня лично часть. Те, кто давно читает блог наверняка помнят пост про золушку. Тогда очень многие стали говорить, что я "нападаю" на Oracle. Напомню вкратце, что речь шла о том, что при небольшом количестве дисков при двойном зеркалировании есть достаточно высокая вероятность потери данных.  И что мы видим сейчас - выходит Database Appliance, в котором.. применяется тройное зеркалирование. Это было совершенно очевидное решение проблемы. В best practice по Exadata с недавних пор настоятельно рекомендуют  использовать тройное зеркалирование.

Я писал что сжатие базы данных  в 10 раз - это просто маркетинг.   Что это зависит от данных и в большей степени достигается только когда данные пресортированы. Читайте:
"There’s no question that HCC can give you much better results than basic compression – but it’s important to note that the data patterns and basic content make a big difference to how well the data can be compressed."

Я написал, что стратегии Oracle по cloud немного странная. Нет вполне очевидных на сегодняшний день вещей.  Пожалуйста, в этот OpenWorld целый день был выделен cloud, вышел EM12 (Cloud edition), уже не говоря о cloud.oracle.com

И наконец в комментариях к этому посту я уж совсем стал заговариваться и рассказывать что у  Exadata вполне могут быть проблемы с  OLTP нагрузкой потому что redo logs...лежат вместе с данными и  512Mb кэша обычного диска не хватает. Сразу несколько сотрудников Oracle написали, что проблемы не существует. Но Oracle Dev думал по-другому - и буквально на днях анонсировали Smart Flash Log - теперь redo запись идет параллельно на диск и flash и ответ приложению дается  когда одна из записей прошла. Если бы проблемы не было, то и не было бы нужды делать это изменение. Это значительное улучшение для OLTP.

Я хочу выразить искреннее признательность:

- Oracle Corp за возможность посетить OpenWorld
- IBM - за всестороннюю поддержку и финансовую помощь в этой поездке
- Oracle Dev Team за незабываемый ужин -)
- IBM Dev Team за глубокое погружение в технологии компании

PS На картинке вы видите автограф Rick Greenwald, одного из авторов книги по Exadata.


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

OOW. Day 5

Вообще то предполагалось что все будут слушать про cloud. Но другие сессий были гораздо интереснее.  Сначала я слушал про две новые возможности Enterprise Manager 12c - ASH analitics и Real Time Perfomance Diagnostics (RTPD). Whitepaper про них вот здесь. Если коротко, то RTPD это  возможность прямого соединения Enterprise Manager с БД, а не только через агента. При этом набор возможностей и собираемых статистик понятно отличается. Сделано это по всей видимости чтобы облегчить диагностику ситуаций когда базе плохо и ждать пока агент что-то там пришлет просто некогда. Удобно. Но рекомендую держать открытую сессию локально на сервере все равно. На всякий случай. Это достаточно существенное изменение в архитектуре, и что интересно, так сразу был сделан Veritas I3. Наверно они нашли документацию по нему и все-таки прочитали -). Презентатор также упоминал, что сам агент существенно переписан и конечно же улучшен.

ASH analitics это возможность достаточно удобного (и говорят настраиваемого) анализа данных.  Т.е. теперь прямо в основном окошке закладки Perfomance можно включать вложенные фильтры. Т.е. как бы "проваливаться" вниз по данным. Вы добавляете фильтры в любом порядке пока не достигните нужной степени детализации. 
Все больше причин посмотреть на EM 12c. Прочитать как его установить. 

Супер интересный формат был у секции Real Perfomance Questions and Answers. Прошли по залу, раздали листочки, каждый писал вопросы, которые хотел. А ребята из Real Perfomance Group (Greg Rahn, Graham Wood, and Bob Carlin) отвечали на них. Первый вопрос сразу же взорвал зал - "можно ли удалить все индексы если вы переехали на Exadata ?" - коротко их ответ был: "мы отвечаем на этот вопрос 2 раза в неделю. Переезд на Exadata не означает что можно отключить голову. Если у вас есть oltp нагрузка ей по прежнему нужны индексы". Это не большое открытие, верно  ? Но по их реакции было видно, что они устали отвечать на этот вопрос -) Дальше был вопрос про SSD и их ответ был - скорее всего если у вас есть SDD надо использовать их не под flash cache, а под данные, SSD хороши под random IO, под sequential IO они не дают выигрыша (а значит под redo не имеют смысла). Дальше сказали что кэш дискового  массива лучше чем "голые" SSD. Вроде открытие опять небольшие, но, как видно,  люди интересуются снова и снова. Супер презентация про SSD.

Может нам  тоже попробовать на RuOUG такой формат вопросов и ответов ?

Все. Game Over. Закат ввиду Golden Gate. Такси, самолет, самолет, такси - здравствуй пробки. Остались только фотографии.


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

OOW. Day 4

День начался весьма продуктивно - я обнаружил на в demoground стенд с oracle optimizer, а на нем неизвестное мне слово - cardinality feedback.  Я совершенно был не в курсе, что такое это самое  Cardinality Feedback. Если коротко - то оптимизатор может после выполнения запроса посмотреть, а не ошибся ли он при оценке данных. И если ошибся, то внести коррективы на следующем выполнении и возможно построить новый план.  Найденные коррективы к сожалению нигде кроме памяти не сохраняются, и каждый раз после старта базы придется начинать все сначала. По задумке, после того как один раз переоценку сделали, больше ее не повторяют. Сhristian Antognini пишет, что он видел в уже в версии   11.1 (?) что  оптимизатор никак не мог успокоиться и порождал новый child именно потому что производил переоценку. Workaround: Set _OPTIMIZER_USE_FEEDBACK=FALSE to disable the feature.


Ok, сегодня мы наконец узнали главную новость и интригу текущего OpenWorld - cloud.oracle.com. Возможность держать свой сервер приложений и свою базу данных в облаке Oracle.  В принципе звучит прикольно, но так как это уже есть у Amazon, то теперь надо разбираться в чем отличие. По возможностям, нам дают скорее всего что-то очень близкое к Enterprise Edition (так например включен partitioning). 


Судя по картинке можно даже создавать конфирации типа RAC One или DataGuard.  Но дальше пока странно - конечно можно разрабатывать на pl/sql, а вот Web Interface нам дают стоящий в cloud WebLogic, либо Apex. Apex вообще выглядит как основное средство для разработки для cloud, и есть даже целый набор готовых приложений.  Странности начинаются дальше, когда вы начинаете высматривать как же к ней, родной,  подключиться через sql*Net. Пока описаны только jdbc, да и то с оговоркой что только из (соседнего) cloud с сервером приложения. Вопрос пока открытый.
Объявлено, что все построено на технологиях Exadata/Exalogic, но, опять, странно что на странице спецификации не указаны такие возможности как гибридная компрессия или smart scan.  В любом случае пока даже попробовать ничего нельзя - можно лишь сходить зарегистрироваться для получения информации когда все станет доступным. К сожалению пока цены также не понятны. Отдельно мне интересно как хранение данных в Cloud совместимо с нашим законом о персональных данных. Без относительно даже конкретного Oracle Cloud.
  
Следующую инициативу - oracle social network я комментировать не хочу. Перефразируя Gwen Shapira - "facebook - для друзей который помогут вам, oracle social network - для друзей которые помогут вам закрыть сделку".


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

про веселых и находчивых. часть 2

Я писал ранее про веселых и находчивых. И конечно такие нашлись и с другой стороны.
Предлагаю вам интересное упражнение. Возьмем две системы (данные о  cpu специально замаскированы, отгадка ниже):

Первая стоит примерно $1mln, имеет 4 процессора, делает 200K  попугаев
Вторая, стоит  $2 mln долларов, имеет 16 процессоров, делает те же 200K попугаев
















Надеюсь всем очевидно, что первая имея в 4 раза (!)   меньше процессоров и стоит в 2 раза меньше и делает столько же попугаев сколько вторая ?   4*2 = 8 раз (!)  разница.  Мы сравниваем кстати в обоих случаях один размер базы данных, одну базу данных - Oracle Database 11gR2, разница между датами публикаций 3 месяца. То есть ну ближе уже невозможно найти системы. Из приведенных данных как бы очевидно, что только идиет будет приобретать систему 2. Я мог бы сделать лучший в мире пресс-релиз на основании этих данных.

Теперь отгадки: первая система, вторая система.  Надеюсь теперь не так очевидно какая из систем лучше ?

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

PS Хочу выразить признательность Masood Heydari, Oracle VP, который был сегодня предельно корректен во время презентации Sparc Enterprise стратегии. Он кстати сказал, что per thread performance системы 1 равен per thread performance системы 2 но как мы видим это не так. Хотя опять таки, см. предыдущий абзац.


Update 1. Отгадка: Правда в тесте, та, что системе 1 понадобилось в два раза больше потоков чтобы достичь того же результата. Это значит, если мы мигрируете на эту систему то ваша БД будет работать медленнее. Он будет тянуть больше пользователей, но каждый из них будет работать медленнее. Это нормально. Просто на мой взгляд происходит подмена понятий - больше пользователей <-> быстрее работает.

Storage  стоит в 4 раза ($625K)  больше, чем сам сервер ($125K). Мне кажется что вообще все эти тесты большие про Storage, чем про CPU speed. Ну и наконец, чтобы сделать систему 1 выгоднее ее посчитали по метрике  Named Users, против метрики Processor системы 2.  Пожалуйста помните, что Enterprise система это всегда Enterprise система со своей высокой надежностью, возможностями по горячей замене и масштабируемостью. 

Update 2Лучше и не скажешь:
"The M-Series are designed with Mainframe-class RAS features (Reliability, Availability, Serviceability). They are based on the Sparc64-VII+ CPUs, excelling at single threaded performance.
The T-Series are the CoolThread servers, with the CMT (chipmultithreading) design, they are designed to run heavily parallel workloads, concentrating on throughput"


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

OOW. Day 3

Update 1. Все таки сделали сделают columnar compression в TimesTen ! В текущей версии этого нет, обещают в следующей. Наверно в Exalytics стоит какая-то специальная пока версия TimesTen.

День  начинается хорошими  техническими (наконец-то) новостями. Совершенно чумной блог команды Ksplice - нового приобретения Oracle, которое позволяет проводить обновления ядра  linux   без перезагрузки. Настоящее сумасшедствие - очень рекомендую. Откройте для себя OEL Beta Kernel Release 2 for Oracle Linux 6. Клевая white paper как работает Dynamic Threading в T4 под LDOM.

Update: Объявлены DTrace for Linux, Linux Containters.


Oracle Cloud - основные продукты на которых базируется Oracle Cloude - EM 12c (можно скачать здесь) и  Oracle VM (скачать здесь)







Специальные возможности Solaris для Oracle !

Еще раз повторили что HCC возможна без Exadata но с ZFS Storage Appliance.

Общают бесплатный Hardware Management с каждым новым котрактом.



Посмотрите выступление John Fowler - мне понравилось. Нормально,  без истерики.  Solaris is a best и все такое. Одно осталось непонятным - где M-series (8000/9000)  ???? Я вообще не услышал про них ни одного слова. Кто-нибудь может объяснить что с ними происходит ?


PS На картинке - вот эта яхта.


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

OOW. Day 2


Сегодня удалось наконец прорваться к демо room Oracle Hardware. Далее со слов специалиста, который отвечал на мои вопросы. На картинке слева видно что там все таки внутри Super Cluster - 6 Exadata Cell для СУБД,  ZFS Appliance как shared пространство для серверов. Дальше предлагается из  2 узлов Sun T4-4 собрать два кластера - один на основе Solaris 10 для web серверов, другой на основе Solaris 11 для Database. Также можно заказать карточку и подключить сервера к существующему SAN. На вопрос - только на время миграции или навсегда -  помялись, но сказали - что навсегда тоже можно.
Дальше удалось поговорить про Exalytics. Там одновременно OBI EE, TimesTen и Esbasse. Будет лицензироваться по пользователям. На вопрос где же там компрессия x10 раз - был ответ в TimesTen (?) Update - да, таки сделали !

Интересно было про масштабирование - что если не хватает двух таких машинок. Вреде бы как нужно начинать строить кластер над Weblogic, который в OBI EE. Хочу напомнить, что подключать эту штуку можно будет к любой БД, но лучше всего конечно к Exadata. Никто и не сомневался в последнем -)









Показали новенький Enterprise Manager 12c - красиво. На одной из секций показали что можно будет сравнивать не только AWR отчеты но и ADDM. И сохранять в offline. Это клево, спору нет.


Анонсировали Big Data Appliance. Отдельная большая тема, но если приглядется прикрутили бесплатные тулзы конечно к Exadata. Никого не хотел обидеть, наверное  все остальные делают также -)  Если у вас другое мнение  - можете начинать -). Update 1. Читать здесь

Сходил на несколько сессий, которые вроде про базу данных, и даже назывались internals. Даже слайды с прошлого года не поменяли. Я чувствую что что-то пропускаю, но ничего нового в/около  БД  (кроме EM) не объявляют.


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

OOW. Day 1

На фотографии слева   - demo room Oracle hardware: Exadata, Exalogic, Exalitics, Super Cluster, Oracle Database Appliance, Oracle Pilar hardware - черт, я уже путаюсь, что из них что -)


Очень большое кол-во сессий про RAC. Буквально все кто занимается всяким консалтингом рассказывают про RAC. Аудитория забивается полностью на любую сессию про RAC.

Я сходил на RAC parallel execution, где услышал про parallel_force_local=true, параметр,  который оставляет все slave на той же ноде где и координатор, parallel_adaptive_multi_user во время демонстрации не как не давал slave'ам уйти на другую ноду, теперь если добавить сюда parallel in memory execution и parallel queuing получается классный компотик, в котором не очевидно как что работает в каких комбинациях . Надо конечно пересмотреть свое представление о теории этого процесса.

На следующей секции расссказали что result_cache работает в RAC совершенно прозрачно и результат сохраненный на одном узле передается на другой. Но работает ли это с parallel execution я не понял -(

Побывал на секции как мигрировать с single instance на RAC c помощью streams - там столько всего накручено, что мне этот способ совсем не понравился -( По моему мнению если люди идут на RAC то остаются на той же платформе и standy нам в помощь.

Встреченный Jonathan Lewis, сказал мне что  таскает с собой ноутбук с 4-х узловым кластером. Он раньше написал, что его легко узнать по этому ноутбуку -).  На вопрос не пресмотрел ли он свое (отрицательное) отношение к RAC ответил что нет, что у него очень специальный взгляд на это, но заказчики хотят и нужно знать как это работает. А его новая книга выйдет 24 октября. Так что пока ждем.

Из новостей: анонсирована Exalytics (in-memory database  1TB of memory, 40 Cores Intel Xeon, IB network connection to   Exadata   + OBI EE, Essbase and TimesTen), новая аналитическая машина, слева на картинке.  Пообещали что ее можно будет подключать к любой существующей БД ! SAP HANA не дает никому покоя -)  Анонсы  Big Data и стратегия Cloud впереди.  Oracle явно хочет стать IBM -))))


Проспали, и не следили за  Ларри ? - не беда !
(основное что нужно знать - в этом году все быстрее в 10x10 = 100 раз). Во время выступления было интересно отступление про скорость процесоров T4 vs P7, надо будет послушать внимательно. Пока цитата из слайда: "T4 faster for Java then P7. P7 faster for arithmetic".


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

OOW. Day 0

Я обновлю этот пост как только появятся подробности.

Update 1. Если вы найдете очень интересную сессию (или вот тут)  на OOW - дайте мне знать и возможно я попаду на нее и расскажу/добуду презентацию -)

Update 2. Две клевые и по настоящему бесплатные программы: Oracle Mobile App, с помощью которой можно следить за новостями, и Oracle Support Mobile с помощью которой можно можно мучить Oracle Support практически круглосуточно -) 

Oracle Open World еще не начался,   а новостей уже высыпалось целая туча. Но если все предыдущие требовали от вас  немедленно купить новую красивую железку,  то вот настоящая хорошая новость - Oracle обещает что  Hybrid Columnar Compression будет поддерживаться в 11.2.0.3 (?, который уже вышел !) если у вас  Sun ZFS Storage Appliances или  Pillar Axiom Storage.  Что ? опять нужно что-то купить ? -(  Я надеюсь что будет достаточно только ZFS Storage Appliance Software. Я надеюсь.

Многие помнят, что HCC была в бете 11.2 и потом Oracle решил оставить эту возможность только для Exadata.


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

про веселых и находчивых

Update 2: Читать тут

В маркетинге (любой большой компании)  работают очень веселые и особенно находчивые люди. 

Oracle press release:

TPC-H @ 1000GB: On this industry-standard benchmark that simulates a decision support system providing answers to critical business questions and consists of a suite of business oriented queries and data with broad industry-wide relevance, the SPARC T4-4 server, with four SPARC T4 3 GHz processors, running Oracle Database 11g Release 2 and Oracle Solaris, delivered over 2.4 times better performance per processor at 1/3 the price/performance than an eight processor IBM Power 780.

Ниже я распечатал  скриншоты c сайта TPC: Oracle. IBM.


Это очень интересная находка Oracle маркетинга - брать деньги за ядра, а производительность считать за процессоры. Если посмотреть достижения в пересчете на ядра, то окажется что у этих систем их одинаковое кол-во, по 32. И тогда результаты выглядят ...несколько скромнее: вместо 2.4 получается 1.2.  Хотя никто и не сомневался в превосходстве Oracle Database над  Sybase -)))). Отличный результат кстати, вне зависимости от того, как считать.
Что отдельно доставляет, так то что результат по производительности  у T4 - 10-ый в списке. Но первые 9 не очень беспокоят Oracle -)


Update 1.   Новый T4 в 5 раз быстрее чем предыдущее поколение. Ну как это возможно, все же понимают, что никто таких результатов добится не может. Все обычно стараются рассказать ну про +30%, но +40%, а тут в 5 раз. Продавцы просто будут говорить "я не знаю как, но как то сделали". Ларчик отрывается просто,  в 5 раз улучшили ситуацию когда на процессоре работает только один поток. Поменяли архитектуру. Но в реальной ситуации когда потоков много это не означает  x5 раз. Т.е. улучшение в очень специальном  случае выносят на слайд как generic улучшение. Зачем ? Ну и также видно, что клевый процессор...
Сейчас такие же веселые и находчивые люди найдут в этих слайдах  еще больше чем я и начнется...


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

SPARC SuperCluster T4-4

Update 1. Цитата из FAQ "Connectivity to other systems in the customer's existing data center can be achieved over the supplied 10GbE Ethernet.  It also allows for a gradual migration to Oracle engineered systems by supporting connectivity to an existing SAN infrastructure"
Update 2. Коллеги из Oracle особенно просили упомянуть возможность hard partitioning при помощи Oracle VM, а также выполнять любую версию Oracle и Solairs  (но только Oracle 11.2.0.3  дает доступ к Exadata).  Datasheet.

Итак Ларри сделал то, что я ожидал больше всего - теперь в новеньком  кластере T4-4 есть  ячейки Exadata.
Цитата:
"
The SPARC SuperCluster T4-4 is a completely optimized package of servers, storage and software that integrates Oracle Exadata and Oracle Exalogic Elastic Cloud
"
FAQ.
Простыми словами для занятых - теперь можно взять преконфигурированную  кластерную систему на Solaris и подсоединить ее к ячейкам Exadata.  И там же   Sun ZFS Storage. И там же есть все что полагается в серьезой системе - отличный UNIX с виртуализацией, отличный кластерный софт (Sun Cluster), управление железом и софтом. RAC - конечно же.
Фактически, после запуска Exadata все были уверены что там Solaris. Теперь это сделали. Молодцы.  Что еще важно - разрешили подключать существующие массивы к SuperCluster (кажется только по Ethernet и Infiniband). 

Новенький T4.  Теперь используется как на стороне Web приложений так и на стороне БД.

Теперь понятно зачем так срочно выпустили 11.2.0.3 - именно этот патч требуется чтобы достучаться к Exadata со стороны БД на SuperCluster.

Ну теперь остается наблюдать за тем как продавцы будут объяснять разницу между SuperCluster и Exadata -)))



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

счастье - есть !

Сегодня положительно красный день календаря - "Oracle and Oracle Japan today announced plans to combine imaging technologies from Canon with Oracle software products including Oracle Database".   Теперь можно спокойно сидеть на работе в Photoshop и на вопрос какого фига ты собственно делаешь, скромно ответить  "в редо логах шумит очень - сейчас контраст уберу", или например как вам вопросик на форуме  - "у тебя мютексы с какой выдержкой сняты ?". Ждем, очень ждем релиза dbms_photoshop.

Ларри также отжег несколькими днями ранее: "I don't care if our [Oracle] commodity x86 business goes to 0", после чего немедленно объявили о Database Appliance..на Intel платформе. Если только Ларри просто не пошутил, то я так понимаю, что теперь все что будет делать Sun на Intel платформе будет выходить в виде Appliance или pre-configure systems.  А если так то Solaris на Intel широкой публике не видать - ее будут затачивать только под определенные цели. Надеюсь все разъяснится очень скоро и положительным образом.

PS Картинка слева снята на камеру Canon/Oracle. Enterprise Edition with Partitioning option.



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

T34

Update 1. 26 сентября Larry все объяснит про Super Cluster и T4-4 !

Несмотря на отсутствие официального анонса (наверное будет на OpenWorld) в интернете вовсю уже обсуждается новый процессор Sparc T4, который является следующим поколением за T3. Помимо прочих улучшений Oracle похоже сделал вложения в производительность одного потока (single thread performance) и добился существенных улучшений на этом поприще, по крайне мере в 2 раза. Второй интересный факт - уменьшение кол-ва ядер (с 16 до 8) одновременно с поднятием частоты до ~3GHz. Это интересная тенденция - например Intel   увеличив кол-во ядер, одновременно  понизил частоту в своих процессорах серии E7.  Т.е. в некотором смысле компании идут встречным курсом -)  Одна из самых интересных фич T4 называется critical thread API - возможность распознавания важных потоков  в приложении и выделении этому потоку целого ядра.  Напомню в чем была проблема с T2/T3 - потоков было очень много, но если нужно было запустить OLTP  задачку то производительность была относительно невысокой, поскольку потоку не давали всей мощности ядра. Особенно плохо конечно прихоИнформации  пока очень мало, и как работает эта магия пока не понятно. Конечно же с выходом нового процессора   Oracle получает возможность управления этим механизмом, чтобы сделать Oracle Database  на T4 более производительней. На  T3, по моему мнению,  ставить Oracle было не вполне удачной идей, хотя Oracle думал иначе -). Кстати, цитата, "we expect that many customers in our large SPARC Solaris installed base will be upgrading to SPARC Superclusters".

IBM AIX  on Power 7 обладает где-то схожей технологией, которую называют intelligent threads, которая помещает потоки на незанятые ядра, достигая максимально возможной производительности. Я создал логический раздел с 4 ядрами в режиме SMT=4. Операционная система видит 16 логических процессоров. Далее я запустил 4 потока, каждый из которых загружает до 100% процессор.  Из картинки справа видно, что AIX увидев, что потоков у нас мало,  перешел в режим SMT=1 и поместил каждую из моих задача на свое физическое ядро (CPU 0-3 ядро 1, CPU 4-7 ядро 2, CPU 8-11 ядро 3, CPU 12-15 ядро 4). Вы можете попробовать этот тест на своей операционной системе -)

Ну все было бы хорошо и с выходом T4 не имело бы никакого смысла покупать СУБД Oracle на Power 7 ...но Oracle поднял цены на лицензии на T4 в два раза (processor core factor =0,5)  по сравнению с T3. Спасибо Ларри !   У меня все еще есть работа -)


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

Database Appliance




Update 1. Внутри 4U сервера оказалось 2U блейда, а shared storage умещается в общем конструктиве перед ними.  Это можно рассмотреть на 3D модели. За 2 узла эта конструкция масштабироваться не может, но это и не нужно для ее целей.





Oracle выпустил Database Appliance.  2 узла, внутри RAC EE или RAC One, или просто Enterprise Edition. Другие редакции не предусмотрены. БД ограничена 4Tb. Backup на внутрнние диски. Можно заплатить за столько ядер, сколько нужно.  Зверюшка умеет сама 'звонить' в support.


Я пока не вижу там Exadata Software или нечто похожего. В любом случае, возможность купить коробку, сказать из интерфейса - 'поставь мне RAC' и получить готовую к использованию систему - клево. Молодцы !



PS С грустью рассматривает свои записки как поставить Oracle RAC на Linux.....


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

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 диски ? 



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

head to head

Oracle очень ловко поддел IBM, установив новый рекорд для SAP® Sales and Distribution-Parallel Standard Application Benchmark. С помощью новеньких E7-8870 была побита самая большая на сегодняшний день машина Power 7 с 256 ядрами. Мне лично очень нравится когда инженеры двух компаний думают над тем, как обыграть конкурента,  потому что в конечном  итоге выигрывают заказчики.  Важно и то, что Oracle продолжает показывать рекорды, используя Oracle RAC - в этот раз потребовалось всего 6 узлов, что, на мой взгляд вполне себе жизненная система, которую можно собрать и обслуживать. Наконец-то стали использовать в тестах Oracle Solaris, чего  я давно ждал.  (для меня правда осталось непонятно, сертифицировано ли не-Oracle железо под Oracle Solaris. Похоже ситуация менялась  в течении последнего года). 

Анализировать этот рекорд вы можете как вам удобнее -)  Вот на что я обратил внимание: чтобы получить примерно ~10% прирост производительности пришлось собрать кластерную систему с общим количеством ядер 480, против 256 Power 7, те в два раза больше. RAC опция будет стоить про прайс-листу $5.5 mln что позволит вам купить еще одну Power 795  -)  ~$11 mln, что как-то...убивает всю экономику.

PS Страшно расстроившись, IBM в тот же день объявила  о получении " record result for the SAP Transaction Banking (TRBK) Benchmark". 

Update 1. Оказывается Oracle сравнил разные benchmark SAP Parallel и обычный SAP SD benchmark. Но ...это ничего не меняет -)

Update 2. Я промахнулся с ценой RAC, ужос какой-то...


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

RAC 11.2.0.2 graceful shutdown

Новой возможностью в RAC 11.2.0.2  является так называемый graceful shutdown, когда узел кластера не уходит в reboot, а при устранении проблемы быстренько поднимает ресурсы обратно. Как вы знаете, потеря interconnect является примером ситуации, вызывавшей reboot в RAC до версии 11.2.0.2, вне зависимости от  доступности  voting дисков. Давайте посмотрим как это работает теперь в 11.2.0.2

Итак у нас есть двух узловой кластер Oracle RAC на IBM AIX 7.1. Узлы кластера называются vs-ora00-01a и vs-ora00-01b. Из узла vs-ora00-01b мы выдернули все сетевые кабели интерконнект соединения примерно в 12:07.  После чего немедленно увидели, что узел 01a выкинул узел 01b из кластера:


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

racsig

Я хочу вас пригласить зарегистрироваться и участвовать в Oracle RAC Special Interest Group - RAC SIG. Это независимая от Oracle организация, посвященная,  как понятно из названия, Oracle RAC. Несмотря на ее независимость, сотрудники Oracle вовсе не гнушаются там участвовать и проводить web семинары.   Регистрация обязательна, но бесплатна. Пожалуйста, если вы в России - отметьте этот факт - пока всего 46 участников из России. Если у вас возникнут проблемы с регистрацией - дайте мне знать.

В России мне по прежнему известен только один курс по RAC  - RAC is Simple. Если вы знаете про какие-то еще курсы - оставьте комментарий пожалуйста. Вот отзыв с последнего семинара.



PS Это наверно выглядит странно но сейчас ... у меня 3 одновременных проекта в которых Oracle RAC. Крайне востребован он  нынче на IBM Power -) Если у Вас есть проблема с установкой - обращайтесь. 


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