21 October 2018

Вышла Oracle Database 18c XE

OracleSQLDatabase Administration

Oracle Database XE Logo
Свершилось! Можно открывать шампанское и закатывать вечеринку — спустя более, чем 7 лет с момента выпуска предыдущего релиза, для скачивания наконец доступна свежайшая Oracle Database 18c XE. Пока только для Linux x64, но версии для других платформ, также как и Docker и Vagrant образы обещают появиться совсем скоро.



Для тех, кто не в курсе, Oracle Database XE или Express Edition — это бесплатная редакция одной из самых мощных реляционных СУБД. Традиционно этот тип редакции обладал минимальным доступным функционалом, определенными ограничениями на используемые ресурсы, и малым размером дистрибутива. Тем не менее, даже эта версия СУБД всегда пользовалась большой популярностью среди тех, кто только познаёт возможности этой СУБД, небольших компаний, которых на данный момент устраивают все ограничения и они хотят оценить технологию и среди простых энтузиастов как мы с вами.


Новая же, 18-ая версия XE открывает просто небывалый простор для использования данной СУБД, так как в этот раз компания Oracle сменила тактику, и вместо предоставления минимального функционала, включила в эту редакцию практически все самые популярные опции самой дорогой и функциональной редакции Enterprise Edition. Но по-прежнему с ограничениями по используемым ресурсам.


Почему 18с?


Система версионности Oracle Database


Читателям, которые не работают с СУБД от Oracle каждый день, поясню откуда взялась цифра 18. Дело в том, что после версии 12c Release 2 производитель решил изменить схему версионирования и перейти на годичный цикл выпуска новых версий своей СУБД. Таким образом, релиз 12.2.0.2 стали считать версией 18, а в будущем мы увидим 19, 20 и далее версии Oracle Database. Одновременно с этим, новый Product Manager по направлению Express Edition пообещал, что теперь и впредь мы будем наслаждаться новой версией XE практически одновременно с выпуском остальных редакций, т.е. также раз в год. Единственная разница будет состоять в том, что для XE не будет выпускаться патчей и исправлений безопасности, в отличие от SE и EE. Однакое, каждый следующий мажорный релиз XE будет включать в себя все исправления и изменения, сделанные в редакциях SE и EE за весь предыдущий год, что, конечно, не может не радовать. Особенно если учесть, что на протяжении 7 лет 11-ая версия XE также не получала никаких патчей и исправлений, но всё равно была сильно востребована у комьюнити.


Что нового?


Итак, что же примечательного в новой версии Oracle Database 18c XE? На самом деле масса вещей. Но самое важное отличие от предыдущих версий данной редакции состоит в том, что на этот раз в неё включены практически все самые популярные опции из Standard и даже Enterprise Edition. Рассмотрим более подробно самые примечательные из них.


Multitenant


Начиная с 12c Oracle Database поддерживает так называемые Pluggable Databases — смысл в том, что база данных может быть "подключена" и "отключена" к инстансу буквально при помощи пары команд SQL*Plus. Это позволяет переносить базы данных между хостами и даже версиями СУБД без каких-либо сложностей. Обещают даже совместимость с более новыми версиями Oracle Database, т.е. процесс апгрейда будет выглядеть не сложнее, чем unplug-uninstall-install-plug. Также Multitenant-архитектура позволяет поддерживать, например, разные версии APEX в разных базах данных на одном хосте.


In-Memory Column Store и Aggregation


Одна из самых мощных и дорогих опций Oracle Database — это in-memory column store, которая позволяет хранить в памяти копию данных в колонкоориентированном формате для скорейшего доступа к ним в прозрачном режиме.


Partitioning


Партиционирование не является чем-то новым и захватывающим, однако, всегда было доступно в Oracle Database только для пользователей Enterprise Edition, тогда как в конкурирующих СУБД эта опция в большинстве случаев есть, что называется, "из коробки". Вот, например, в недавно вышедшем Postgres 11 также было добавлено хэш-партиционирование. Теперь же эта функциональной доступна и в бесплатной редакции Oracle.


Advanced Analytics и Security


Это целый набор инструментов для Data Mining. Интерфейсы Data Mining SQL, R programming, Oracle Data Miner UI. Что же касается Security, то это всё, что касается прозрачного шифрования данных.


Online Index Rebuid


Как же мне не хватало этой возможности в одном из проектов. Теперь можно производить неблокирующее перестроение индекса "на лету".


Online Table Redefinition


Аналогичная возможность неблокирующего переобределения структуры таблиц через использование пакета DBMS_REDEFINITION, ранее доступного только для пользователей EE.


Query Results Cache и PL/SQL Function Result Cache


Не секрет, что если речь идет о производительности, то она не может вестись без кэширования данных. Кэширование на уровне инстанса результатов SQL-запросов и PL/SQL-функций теперь доступно и может использоваться для лучшей производительсности ваших приложений.


Bitmap Indexes


Специальный вид индексов, использование которых обычно сопряжено с аналитическими системами. Это так, потому что данный тип индексов рекомендуется использовать только на таблицах, редко подверженных апдейтам. Однако, их преимущество состоит в том, что эти индексы могут комбинироваться для ещё большего ускорения доступа к данным, а также использоваться для использования нескольких источников (так называемые Bitmap Join Indexes).


Oracle Advanced Compression


Опция, позволяющая отсрочить достижение ограничений по ресурсам в XE, т.к. производит прозрачное сжатие данных как в базе данных, так и в структурах памяти самого инстанса.


Materialized View Query Rewrite


Опция, позволяющая оптимизатору автоматическое "переписывание" SQL-запросов на использование материализованных представлений для улучшения их производительности.


Oracle Spatial and Graph


Всё что касается хранения и работы с геоданными.


К сожалению, не завезли такие опции как Parallel Query, Block Media Recovery, Diagnostics pack и Tuning pack. Однако, Roadmap проекта предполагает включение последних двух в следующие версии XE.


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


Ну и конечно не стоит забывать о количестве исправлений ошибок и усовершенствований внутренних механизмов, которые СУБД претерпела с версии 11g. Только подумайте какой рывок был сделан в работе самой важной и самой уважаемой компоненты Oracle Database — её оптимизатора.


Ограничения


Где же ложка дегтя? В ограничениях на используемые данной версией СУБД ресурсы. Хотя и здесь был замечен логичный прирост:


  • Максимальный размер базы данных составляет 12 GB (против 11 GB в 11g XE);
  • До 2 GB оперативной памяти (против 1 GB в 11g XE);
  • До 2 потоков CPU (против 1 в 11g XE);
  • До 3 подключаемых баз данных (Pluggable Databases или PDB, в 11g XE такая функциональность отсутствовала).

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


Post Scriptum


RAD Badge


Стоит заметить, что в отличие от Oracle Database 11g XE, новая версия Express Edition поставляется без предустановленного Oracle APEX (Application Express — фреймворк для быстрой разработки data-driven веб-приложений), это обсусловлено как минимум контейнерной архитектурой СУБД.


Однако, установка так называемого Oracle RAD-стека (Rapid Application Development), состоящего из REST Data Services, APEX и Database, не составит большого труда. Последние версии данных компонент всегда можно найти на официальном сайте:



Я считаю эту новость грандиозной для всех разработчиков, так или иначе связанных с Oracle Database, так как вновь обретенная жизнь для XE может значить приток молодых специалистов в эту область, что всегда положительно отражается на комьюнити! Ура, товарищи!


Update


Я не пишу об этом в основной статье, но так как в комментариях стали возникать вопросы по этому поводу, всё же обращу ваше внимание на тот факт, что 18c XE включает в себя все функциональные нововведения, собственно, 18-й версии СУБД. Не буду говорить о том, какие из них являются объективно наиболее яркими, но для меня это несомненно:


  • Нативная поддержка работы со слабоструктурированными JSON-данными;
  • Поддержка длинных наименований для объектов БД, таких как таблицы, функции, пакеты и т.д. Те, кто в теме знают, что до, по моему, 12c Release 1 существовало ограничение в 30 символов, что порой вызывало сложности именования;
  • Advanced Index Compression;
  • Новый пакет UTL_CALL_STACK;
  • PL/SQL-функции, определенные в выражении SQL WITH;
  • PL/SQL-Specific типы данных теперь разрешены к использованию через PL/SQL-to-SQL-интерфейс;
  • PTF или Polymorphic Table Functions, позволяющие регулировать формат вывода в рантайме;
  • Qualified Expressions, или по-другому конструкторы для всех типов коллекций в PL/SQL;
  • Private Temporary Tables, существующие только в рамках текущей сессии.

И это далеко не всё, а только то, что радует лично меня и чем я обязательно воспользуюсь. Полный список изменений можно посмотреть в официальной документации:


Tags:oracle databaseoracle 18coracle xe
Hubs: Oracle SQL Database Administration
+18
40k 58
Comments 28
Popular right now
Разработчик PL/SQL (Oracle)
from 140,000 ₽Ренессанс ЖизньRemote job
Старший разработчик Oracle
to 160,000 ₽Sportmaster LabКраснодарRemote job
Fullstack developer (Oracle + JavaScript)
from 180,000 to 270,000 ₽Sportmaster LabМоскваRemote job
Разработчик Oracle Siebel CRM
from 130,000 ₽Банк «Открытие»Москва
Top of the last 24 hours