Новые функции, включенные в Oracle Database 19c, сделали СУБД №1 в мире еще полезнее для поддержки бизнеса в цифровую эпоху. Представленная на Oracle Live SQL в начале 2019 года, новая версия Oracle Database 19c предлагает набор инноваций и явлется стабильной версией, рассчитанной на длительное использование.

Автоматическая индексация

Функция Automatic Indexing создает индексы автоматически с использованием алгоритмов машинного обучения, причем, как показали тесты, она часто справляется с этой задачей лучше, чем  человек «Впервые база данных может сама определить оптимальный набор индексов, — поясняет Доминик Джайлс, главный менеджер Oracle по продуктам Oracle Database. — При их создании учитываются структура данных, сами данные и запросы». Это означает, что «базу данных можно создать и начать использовать вовсе без каких-либо индексов или с очень небольшим набором индексов. База данных проанализирует ресурсоемкие запросы, чтобы понять, какие индексы потенциально нужны, проверит полезность отобранных кандидатов, а затем сама построит индексы, причем все это займет меньше времени, чем создание индексов вручную».

Эта функция будет прекрасно работать и с базой данных, для которой индексы уже построены. В этом случае автоматическое индексирование может помочь в тонкой настройке набора индексов в БД. После создания индексов база данных постоянно проверяет их использование и удаляет ненужные. Это важно, потому что с течением времени индексы накапливаются — крупные коммерческие приложения, работающие с Oracle Database, могут создавать за годы использования тысячи таких индексов. «Часто они создаются для отчетов или пакетных заданий, в которых уже больше нет нужды», — отмечает Доминик Джайлс. Это не так безобидно, поскольку индексы увеличивают потребность базы данных в вычислительных ресурсах и ресурсах хранения.

Active Data Guard DML Redirect

Такая новая возможность Oracle Database 19c помогает эффективнее использовать резервную базу данных -- зеркальную копию рабочей базы данных, предназначенную  для аварийного восстановления. «Эта часть инфраструктуры дорого обходится нашим корпоративным клиентам, -- говорит Доминик Джайлс. -- Она занимает место и увеличивает энергопотребление».

Чтобы помочь клиентам эффективнее ее использовать, в Oracle Database 11g корпорация Oracle предложила опцию Oracle Active Data Guard, с помощью которой можно открывать резервную базу данных на чтение, создавать на ней отчеты и выполнять бэкапы.

В Oracle Database 19c реализована важная дополнительная возможность Active Data Guard DML Redirect, которая позволяет изменять данные в резервной базе данных. Как объясняет Доминик Джайлз, одна из причин такого нововведения в том, что «многие приложениям при создании отчетов требуется не только читать данные, но и делать некоторые записи в базе данных. С помощью Active Data Guard DML Redirect операции записи немедленно и прозрачно перенаправляются в первичную базу данных и после занесения в нее реплицируются в резервную БД. С точки зрения пользователя это выглядит так, как будто он обновляет данные в резервной базе данных».

Active Data Guard DML Redirect работает одинаково хорошо при размещении резервной базы данных как в локальной среде, так и в облаке, а также когда и основная, и резервная базы данных выполняются в облачной среде. «Это позволяет клиентам более гибко и креативно использовать данный дополнительный ресурс», — говорит Доминик Джайлс.

Гибридные секционированные таблицы

Клиенты Oracle постоянно сталкиваются с проблемой хранения растущих объемов данных, причем для соответствия требованиям регуляторов, данные подчас должны храниться годами и находиться всегда под рукой. Гибридные секционированные таблицы в Oracle Database 19c помогут справиться с этой задачей.

Гибридные секционированные таблицы (Hybrid Partitioned Tables) позволяют совмещать в рамках одной таблицы как секции, которые находятся внутри стандартного табличного пространства, так и секции, которые размещаются на внешних дешевых системах хранения вне базы данных.

«Это означает, что все возможности аналитики СУБД Oracle можно использовать даже тогда, когда данные размещены на внешней недорогой системе хранения», — поясняет Доминик Джайлс. Эти системы хранения  данных могут располагаться как в локальном ЦОД клиента, так и в облаке. «Привлекательность такой модели в том, что некоторые секции таблицы, размещенной в БД вашего ЦОД могут лежать в облаке», — говорит он.

Данные вне базы данных Oracle доступны только для чтения и не нуждаются в регулярном бэкапе, но к ним можно обращаться из Oracle Database.

Поддержка JSON

Поддержка JSON появилась еще в Oracle Database 12c, где было реализовано нативное хранилище документов JSON и SQL-доступ. Она получила дальнейшее развитие в версии 18c с внедрением высокопроизводительной аналитики для документов JSON . «Это очень эффективное средство для аналитики документов JSON — оно работает столь же быстро, как если бы данные JSON хранились в строках и столбцах таблицы базы данных», — добавляет Доминик Джайлз.

В Oracle Database 19c корпорация Oracle улучшила поддержку JSON. Для традиционных разработчиков все стало еще проще.

Кроме того, в Oracle Database 19c появилась поддержка интерфейсов прикладного программирования Simple Oracle Document Access (SODA) для Java, Python, C и Node.js.

Карантин запросов

Общая производительность витрины данных или хранилища данных может резко упасть при частом выполнении запросов с очень высокими требованиями к ресурсам ЦПУ и вводу-выводу. СУБД Oracle Database 19c «может автоматически помещать эти запросы в карантин (Query Quarantine) и блокировать их выполнение, если уровень потребления ресурсов превосходит заданные для них пороговые значения». Как отмечает Доминик Джайлс, это позволяет обеспечить стабильную работу базы данных для всех пользователей.