На этой неделе в Москве прошел семинар «Ask Tom in Moscow-2012». Том Кайт приехал к нам вновь спустя три года. Я, конечно же, не мог пропустить такое событие и имел радость поприсутствовать там. С чем и хочу вкратце поделиться с вами.
Краткая справка для тех, кто вдруг не знает, кто такой Том Кайт.
Том Кайт — это, наверное, самый известный человек из мира Оракл после Ларри Эллисона, и уж точно самый известный техно-гуру Oracle.
В этот раз, в основном, Том рассказывал о том, что нас ждет в 12-ой версии Oracle RDBMS плюс немного расссказал про безопасность в базе данных, привел интересные примеры SQL-инъекций, и рассказал про функционал Flashback Database во всех ее возможных вариациях.
Самой интересной возможностью предстоящего релиза базы данных, на мой взгляд, является фича под названием Pluggable Database. В свете современных трендов IaaS, PaaS, SaaS и прочих облачных технологий, возможность логического объединения в рамках одной платформы нескольких баз данных, без изменения самих приложений — это здорово. Если у вас есть приложения, которые не могу жить совместно в рамках одного инстанса, а такое возможно, если, например приложение состоит из нескольких схем, использует публичные синонимы, или в процедурах, функциях и пакетах есть жесткая привязка к названиям схем, то на данный момент, единственный вариант консолидации — это поднятие нескольких инстансов на одном физическом сервере. А каждый экземпляр оракла требует выделение памяти под SGA, PGA, ресусов CPU, I/O и так далее. Чем больше инстансов на одной машине — тем чаще будет происходить смена контекста CPU процессов, тем больше нужно памяти под каждый инстанс, хотя по большому счету SGA у всех инстансов будет содержать примерно одно и то же. Смысл в Pluggable DB в том, что на сервере запускается один инстанс, а вот баз данных может быть сколько угодно, и каждая БД живет как будто она одна. Один инстанс — соответственно одна SGA, по одному DBWn, MMON, SMON, LGWRn и прочих процессов. Так же разделяется процесс администрирования. Есть администратор всего экземпляра, а есть администраторы каждой БД. Из дополнительных плюсов — это возможность легкой и быстрой миграции одной БД на другой сервер.
Помимо этого, в 12-й версии конечно же еще куча улучшений, ускорений, о чем Том Кайт не мог не сказать.
С точки зрения работы конечных приложений с БД 12-й версии так же есть значительные улучшения. К примеру, в 12-ой версии при ипользовании FAN (Fast Application Notification) появится возможность в случае отказа ноды в кластере, мигрировать транзакцию в том состоянии, в каком она была на момент отказа ноды. Сейчас FAN позволяет мигрировать только запросы на чтение, а в случае с транзакциями, надо дописывать приложения, чтобы они учитывали возможные сбои и сами повторяли попытку коммита на рабочей ноде. В 12с нам обещают дать возможность прозрачной миграции не только запросов, но и транзакций. Мне кажется это круто. Главное, чтобы оно действительно так работало 🙂
Помимо новшеств 12-й версии БД, Том Кайт прочитал общую лекцию на тему безопасности баз данных. Он рассказал про возможности аудита БД, data masking, рассказал про не так давно появившийся их продукт под названием Database Firewall, который позволяет анализировать SQL-запросы и предотвращать попытки несанкционированного доступа к данным. Как пример, с сервера приложений, на котором установлено клиентское ПО, навряд ли могут поступить запросы DDL. DB Firewall позволяет выявить такие запросы и даже не допустить их до БД.
Еще была лекция про Flashback Database во всех возможных вариациях, но там не было совсем ничего нового.
В конце семинара была серия вопросов и ответов Тома Кайта, на которой можно было выиграть его знаметиную книгу «Oracle for Professionals» с автографом. Я тоже написал несколько вопросов ему, но, к сожалению, книжки мне не досталось 🙁
В целом же, семинар оказался вполне интересным: да, конечно было много маркетинга про 12с, но я и среди прочих тем подчерпнул для себя кое-что новое.