Персональные инструменты
 

2012-12-14 Отчет Юрия Юрченко о семинаре «Ask Tom How In Moscow-2012»

Материал из CustisWiki

Перейти к: навигация, поиск

Юрий Юрченко, руководитель группы в направлении "Финансовые институты" компании CUSTIS, посетил семинар Ask Tom in Moscow-2012, который состоялся 11 декабря 2012 года в Москве.

"AskTom in Moscow" — это практический семинар-лекция, который проводит Том Кайт, знаменитый во всем мире специалист и гуру по технологиям Oracle, автор бестселлеров, посвященных Oracle Database, ведущий сайта и собственного блога о СУБД Oracle.

Читайте отчет Юрия о семинаре.


«Конечно его Oracle слушается, ведь он сын Чака Норриса»

Чтобы убедиться в этом, достаточно положить их фотографии рядом:

Chuck.jpg Tom-kyte.jpg

Вживую сходство также присутствует, в чем удалось убедиться, посетив семинар «Ask Tom How In Moscow-2012». Оказывается, это не первый его приезд в Москву. Предыдущий состоялся в «бородатом» 2010.


Выступление состояло из 5 докладов. Первые три носили в основном маркетинговый характер (с небольшими техническими подробностями). Последние два, наоборот, были сильно техническими. Некоторые примеры разбирались дотошно, вплоть до каждого передаваемого по сети байта (утрирую, конечно, но суть очень близка к этому).


После докладов Том Кайт отвечал на письменные вопросы. Также ответил и на мой вопрос про опыт успешного использования Edition-Based Redefinition в проектах:

  • опыт успешного использования есть у самого Oracle в Oracle Apps (не совсем понял о чем речь), а также у компании Boeing;
  • фича в Oracle 11g реализована в полной мере, в Oracle 12с ничего нового не добавляется и не меняется.

Общее ощущение от семинара:

  • Том Кайт внятно доносит все мысли, но харизмы он лишен.
  • Интересно было слушать первые пару часов про будущие фичи Oracle, особенно про те, которых давно ждут.
  • Дальнейший загруз большим количеством технических деталей, на мой взгляд, был излишним. Но какой же он Том Кайт без этого!
  • В отличие от Oracle Days, здесь полностью отсутствовали световые и звуковые эффекты с общим посылом «быстре, надежнее, круче… Купи!»


По каждому докладу отдельно

Что мы узнали из Oracle Open World 2012

Доклад начинался с рассказа про историю Oracle с момента основания. Дальше плавно перетек в ближайшие планы Oracle по захвату мира по развитию технологий. В этой части доклад очень сильно пересекался с Oracle Days 2012. Также были озвучены три перспективных направления, в которые вкладывается Oracle:

  • Big Data
  • Engenering System («Engenered to work together»: Exadata, Exalytics и т. п.)
  • Cloud Computing


После чего Большой Том рассказал про возможные новые фичи в Oracle 12c. Привожу общим списком озвученное:

  • Вводится понятие контейнера БД, в котором размещается произвольное число баз данных.
  • Основная идея контейнера: снизить затраты на поддержку множества БД администраторами, не изменив при этом ничего с точки зрения приложений и разработчиков.
  • В контейнерах размещаются только словари данных БД и, собственно, сами данные БД. Для таких БД появился новый термин Pluggable Database.
  • В контейнере имеются собственные словари данных, описывающие подключенные БД.
  • Тут же вводится идея разделения ролей DBA. Выделяется группа DBA-архитекторов, которые проектируют контейнер БД (например, обеспечивают High Avaliability). Менее квалифицированным DBA выдаются на администрирование отдельные БД (выделение пространства, например). Каждая группа DBA решает свои задачи. Неплохо, однако!
  • Весь контейнер обслуживает единый пул фоновых процессов (log writer, db writer, PMON, SMON и др.). Также для всех БД используется единая область памяти.
  • Различные БД можно оперативно перемещать между несколькими контейнерами.
  • Возможна миграция со старых версий БД в уже существующий контейнер Oracle 12c. Для этого в нем создаются пустые БД, в которые переносятся данные старых БД (с помощью Data Pump, GoldenGate и др.)
  • Было проведено исследование по использованию памяти базами данных в стандартной конфигурации и в конфигурации Cloud (все БД в одном контейнере). Измерялась зависимость между количеством работающих БД и потребляемой памятью. Результат: 30 БД стандартной конфигурации потребляют столько же памяти, как и 250 БД в контейнере (при одинаковой нагрузке).
  • Появляется возможность управлять выделением ресурсов железа отдельно для каждой БД внутри контейнера.
  • Появляется возможность обновлять версию Oracle за несколько секунд. Для это устанавливается новая версия Oracle рядом со старой, после чего имеющаяся БД за несколько секунд переносится в контейнер нового Oracle.
  • Использовать Oracle 12c возможно как в новом варианте — Container DB, так и в старом привычном — Single instance DB.
  • Упрощается снятие бэкапа: он делается для всего контейнера. При этом восстановить из бэкапа можно любую БД отдельно на любой момент времени (Point-in-time recovery).
  • Standby создается сразу для всего контейнера.
  • RAC организуется без проблем: на каждом узле получается контейнер с БД.
  • Появляется Data Compression со степенью сжатия, зависящей от частоты использования блоков данных. В последующих релизах (не в 12.1) даже обещают визуализировать heat map блоков данных.
  • К Virtual Private Database и Data Masking добавляется еще одна «искажалка» данных: Redacting data. Основное отличие от предыдущих технологий в том, что данные искажаются после их выдачи базой данных, но до отображения на клиенте. Цель: скрыть от посторонних глаз при выводе на экран или на печать данные, к которым у пользователя имеется доступ. Пример: скрытие номера кредитной карты при печати чека.
  • Вводятся новые асинхронных глобальных индексов (asyncronys global index) для секционированных таблиц. При очистке (truncate) отдельных партиций индекс остается валиден, а его очистка производится в фоне.
  • Oracle 12c имеет встроенные драйвера для работы с MySQL


Из интересного, не совсем по теме:

  • Любопытно то, что практически перед каждой серией новых фич на разных докладах вставлялось одно и то же послание. Если кратко и по существу, то звучит оно примерно так: «Когда именно, точно не известно, но в 2013 году мы планируем выпустить Oracle 12c. Все перечисленные далее фичи, скорее всего, войдут в эту версию. Но мы ничего не обещаем.»
  • Давно известный факт, но все же: первая коммерческая версия Oracle имела номер 2.0, так как, по словам Ларри Эллисона, «первую версию никто не купит».
  • Некоторые приложения до сих пор работают на Oracle 7.3. Аргумент в пользу нее у всех один — «так она же неубиваема!»
  • Какие-то "перцы" строили приложение по принципу SaaS и под каждого клиента создавали свою отдельную БД Oracle. При этом система рассчитывалась на 50+ клиентов, а по факту у них на руках оказалось 1000 БД! Естественно, общая производительность сравнялась с уровнем плинтуса в серверной. Пригласили Тома Кайта сделать что-нибудь с этим безобразием. Его совет был хорош: «У вас была допущена ошибка при проектировании. Извините, но сейчас ничем помочь не можем, а вот в следующей версии Oracle…»

Security

Презентовались исключительно маркетинговые материалы Oracle по разным продуктам и технологиям для защиты информации. Привожу списком (при желании по любой из них можно найти материалы на сайте Oracle):

  • Database Firewall — управление SQL трафиком между клиентом и БД
  • Audit Vault — хранилище всех действий над данными БД
  • Database Vault — «все DBA ее ненавидят», ограничение прав привилегированных пользователей (SYS, SYSDBA)
  • Advanced Security Encryption — шифрование потока данных между клиентом и БД (войдет в Oracle 12c SE и EE)


New in Application Development

Презентовались новые продукты и технологии для разработки прикладного ПО. А именно:

  • TAF. Его улучшенная версия в 12с — Transaction Guard
  • APEX 4.2:
    • несмотря на злые языки, приложения на APEX хорошо масштабируются (пример: apex.oracle.com на 8 ядерном сервере)
    • добавлена поддержка разработки для мобильных платформ
    • поддержка HTML5
    • поддержка Oracle 12c
    • возможность создания RESTful services
  • SQL Developers, новшества:
    • DBA Utilities
    • Data Pump Utilities
    • Database Diff (сравнение разных БД)
    • Помощь в миграции кода с других БД
    • PDF reports
    • Управление APEX Listner
    • Поддержка фич 12c (ничего более конкретного за этим)
  • Oracle Data Provider for .NET
  • Networkinkg, реализовано:
    • Сжатие данных при передаче SQL трафика по сети
    • Увеличен буфер обмена с 64К до 2Мб (для передачи LOB и XML)
  • Jaca/C++/others:
    • Transaction Guard
    • Auto-tuning нескольких параметров соединения при подключении через OCI
    • Поддержка пула соединений со стороны БД
  • PL/SQL:
    • Расширено количество типов, которые можно использовать в качестве bind
    • Разрешен запрос PL/SQL типов непосредственно из SQL
    • Появилась возможность "грантовать" роли объектам БД. То есть можно дать привилегию пакету на создание таблиц, тогда любой пользователь, вызывая данный пакет, сможет создавать таблицы, даже не имея прав на это.
    • Появилась возможность задавать white list для объектов БД. Например, разрешить вызывать пакет А только из пакетов B и C.

5 Things about SQL и PL/SQL

Несмотря на название доклада, действительно были рассмотрены 5 пунктов:

  1. Том Кайт жаловался, что очень мало людей пользуются warning’ами PL/SQL, а они очень полезны. Далее рассказ про 3 режима предупреждений:
    • Severe: «возможно неверный код»
    • Performance
    • Informational: «just bad code»
  2. Лучше собирайте статистику! Рассказал про нюансы с:
    • Гистограммами и неравномерным распределением данных.
    • Pipeline функциями. Комментарий Кайта к теме в оригинале «pipline functions have wrong cardinality by default». И далее пять способов как с этим жить. Ссылка на способы. Плюс еще один под названием Cardinality Feedback.
  3. Рассказ про уровни оптимизации PL/SQL. Ничего сверх документации. Из интересного: оказывается, возможен побочный эффект такой оптимизации. При возникновении ошибки может быть указана не та строка в коде, где действительно возникла ошибка. Это связано с изменением программного кода оптимизатором (тот же inline). Возможность такого поведения задокументирована:).
  4. SQL.Net compression (не путать со сжатием трафика в 12с).
  5. Implicit conversation are evil и аргументы в пользу этого.


Все что вы хотели знать про Flashback, но стеснялись спросить

Ничего сверх стандартной документации сказано не было. Основная мысль доклада: в версии Oracle 11g можно восстановить практически все, что испорчено, причем быстро. Из интересного можно отметить:

  • Ретроспективный запрос по timestamp имеет точность +/- 3 сек.
  • Большое количество удалений объектов БД при включенной RECYCLE_BIN приводит к замедлению работы всей БД, ввиду засорения словарей Oracle большим объемом данных.
  • Хороший аргумент и пояснение к flashback database одновременно: скорость операции не зависит от объема БД, а зависит только от объема совершенных операций с момента времени, на который хотим восстановиться.
  • Для ретроспективных запросов за прошедшие дни/месяцы/годы используются flashback data archive. Опция, которая позволяет это сделать, называется Tоtall Recall и стоит дополнительного вознаграждения.



[ Хронологический вид ]Комментарии

(нет элементов)

Войдите, чтобы комментировать.