Database 23ai: ключевые возможности

Узнайте, как Oracle Database 23ai привносит ИИ в ваши данные, упрощая разработку приложений и выполнение критически важных рабочих нагрузок с помощью ИИ.

Каждую неделю мы будем рассказывать о новой функции Oracle Database 23ai с примерами, чтобы вы могли быстро войти в курс дела. Сохраните эту страницу и заходите каждую неделю, чтобы узнать о каких новых функциях мы рассказали.

Oracle Database 23ai: ИИ для данных, ИИ для разработчиков, ИИ там, где он нужен (2:33)
Анонс Oracle Database 23ai: внедрение ИИ в ваши данные

Ларри Эллисон (Larry Ellison) и Хуан Лоэйза (Juan Loaiza) обсуждают стратегию генеративного ИИ, лежащую в основе Oracle Database 23ai.

Ключевые возможности Oracle Database 23ai для разработчиков

Ознакомьтесь с некоторыми из функций, которые мы создали с прицелом на разработчиков:

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

Другие функции, которые могут заинтересовать разработчиков:

…и многое другое!

  • Transparent Application Continuity защищает приложения на C/C++, Java, .NET, Python и Node.js от перебоев в работе базовых уровней программного обеспечения, оборудования, связи и хранения данных...

  • Если транзакция не фиксируется и не откатывается в течение длительного времени, при этом сохраняя блокировку строк, она может блокировать другие высокоприоритетные транзакции...

  • DBMS_SEARCH реализует Универсальный поиск Oracle Text. DBMS_SEARCH позволяет легко создать единый индекс для нескольких таблиц и представлений...

  • Мы добавили усовершенствования в Memoptimized Rowstore Fast Ingest с поддержкой разбиения на разделы, сжатых таблиц, быстрой записи (fast flush) с помощью прямой записи и поддержки прямого заполнения хранилища столбцов в памяти...

  • С выходом Oracle Database 23c в Oracle Globally Distributed Database появилась функция репликации Raft. Это позволяет достигать очень быстрого (менее чем за 3 секунды) аварийного переключения с нулевой потерей данных в случае отказа узла или центра обработки данных...

  • На этой неделе мы расскажем об аналитическом отчете SQL, простом в использовании инструменте, который помогает разработчикам писать более качественные SQL-запросы...

Доступность приложений — нулевое время простоя для клиентов баз данных

Transparent Application Continuity защищает приложения на C/C++, Java, .NET, Python и Node.js от перебоев в работе базовых уровней программного обеспечения, оборудования, связи и хранения данных. С Oracle Real Application Clusters (RAC), Active Data Guard (ADG) и Autonomous Database (в общем и выделенном вариантах) Oracle Database остается доступной даже в случае отказа или перевода в автономный режим (в связи с обслуживанием) узла или подмножества кластера RAC.

В Oracle Database 23c реализовано множество новых усовершенствований, включая поддержку пакетных приложений, например открытых курсоров, также называемых стабильными курсорами состояния сеансов.

Автоматический откат транзакций

Если транзакция не фиксируется и не откатывается в течение длительного времени, при этом сохраняя блокировку строк, она может блокировать другие высокоприоритетные транзакции. Эта функция позволяет приложениям назначать приоритеты транзакциям, а администраторам — задавать время ожидания для каждого приоритета. База данных автоматически откатывает транзакцию с более низким приоритетом и снимает блокировки строк, если она блокирует транзакцию с более высоким приоритетом сверх установленного времени ожидания, что позволяет продолжить транзакцию с более высоким приоритетом.

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

Улучшения, связанные с быстрым вводом данных

Мы добавили усовершенствования в Memoptimized Rowstore Fast Ingest с поддержкой разбиения на разделы, сжатых таблиц, быстрой записи (fast flush) с помощью прямой записи и поддержки прямого заполнения хранилища столбцов в памяти. Благодаря этим усовершенствованиям функция быстрого ввода данных становится более удобной для использования в ситуациях, когда требуется быстрый ввод данных. Теперь СУБД Oracle Database обеспечивает лучшую поддержку приложений, требующих быстрого ввода данных. Данные могут быть импортированы, а затем обработаны в той же базе данных. Это снижает потребность в специальных загрузочных средах и тем самым уменьшает сложность и избыточность данных.

Репликация на базе Raft в Globally Distributed Database

С выходом Oracle Database 23c в Oracle Globally Distributed Database появилась функция репликации Raft. Это позволяет достигать очень быстрого (менее чем за 3 секунды) аварийного переключения с нулевой потерей данных в случае отказа узла или центра обработки данных. Репликация Raft использует протокол фиксации на основе консенсуса и настраивается декларативно путем указания коэффициента репликации. Все сегменты в распределенной базе данных выступают в качестве лидеров и последователей для подмножества данных. Это позволяет получить симметричную архитектуру распределенной базы данных Active-Active-Active, в которой все сегменты обслуживают трафик приложений.

В результате повышается доступность с нулевой потерей данных, упрощается управление и оптимизируется использование оборудования для сред Globally Distributed Database.

Аналитический отчет SQL

На этой неделе мы расскажем об аналитическом отчете SQL, простом в использовании инструменте, который помогает разработчикам писать более качественные SQL-запросы. Аналитический отчет SQL сообщает об общих проблемах с операторами SQL, в частности о тех, которые могут привести к низкой производительности SQL. Он доступен в DBMS_XPLAN и SQL Monitor.

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

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

  • Используйте брандмауэр SQL для обнаружения аномалий и предотвращения атак с внедрением SQL-кода. Брандмауэр SQL проверяет все данные SQL, включая информацию о контексте сеанса, такую как IP-адрес и пользователь ОС...

  • В Oracle Database 23c добавлена новая роль DB_DEVELOPER_ROLE, которая дает разработчику приложений все полномочия, необходимые для разработки, внедрения, отладки и развертывания приложений на основе Oracle Databases...

Блокчейн-таблицы

Блокчейны и неизменяемые таблицы, доступные с момента выпуска Oracle Database 19c, используют методы криптобезопасности, чтобы защитить данные от несанкционированного вмешательства или удаления внешними хакерами и мошенниками или недобросовестными внутренними пользователями. Сюда, например, относятся ограничения, не позволяющие проводить других операций кроме вставки: они предотвращают обновление и удаление данных (даже администраторами БД). Другой пример — криптографические хеш-цепочки, позволяющие выполнять проверку, подписанные табличные дайджесты для обнаружения крупномасштабных откатов, а также подписание конечным пользователем вставленных строк с использованием закрытых ключей. В Oracle Database 23c внесено множество усовершенствований, включая поддержку логической репликации с помощью Oracle GoldenGate и последовательных обновлений с использованием Active Data Guard, поддержку распределенных транзакций, включающих блокчейн-таблицы, эффективное пакетное удаление на основе разделов для просроченных строк и оптимизацию производительности для вставки и фиксаций.

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

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

Полномочия для схем

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

Брандмауэр SQL

Используйте брандмауэр SQL для обнаружения аномалий и предотвращения атак с внедрением SQL-кода. Брандмауэр SQL проверяет все данные SQL, включая информацию о контексте сеанса, такую как IP-адрес и пользователь ОС. Встроенный в ядро базы данных, брандмауэр SQL регистрирует и (если включен) блокирует неразрешенные данные SQL, гарантируя, что его невозможно обойти. Применяя список разрешений SQL и одобренные контексты сеансов, брандмауэр SQL может предотвратить множество атак нулевого дня и снизить риск кражи учетных данных или злоупотребления ими.

DB_DEVELOPER_ROLE

В Oracle Database 23c добавлена новая роль DB_DEVELOPER_ROLE, которая дает разработчику приложений все полномочия, необходимые для разработки, внедрения, отладки и развертывания приложений на основе Oracle Databases. При использовании этой роли администраторам больше не нужно пытаться угадать, какие полномочия могут потребоваться для разработки приложения.

  • Oracle Database теперь поддерживает данные логического типа, соответствующие стандарту ISO SQL. Это означает, что можно хранить значения True и False в таблицах и использовать логические выражения в SQL-запросах...

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

  • Теперь можно использовать псевдоним столбца или позицию элемента SELECT в разделах GROUP BY, GROUP BY CUBE, GROUP BY ROLLUP и GROUP BY GROUPING SETS. Кроме того, фраза HAVING поддерживает псевдонимы столбцов...

  • При создании, изменении и удалении DDL-объектов в Oracle Database теперь можно использовать модификаторы IF EXISTS и IF NOT EXISTS...

  • Oracle Database 23c облегчает разработчикам вычисление итогов и средних значений по значениям INTERVAL...

  • Функция RETURNING INTO для операторов INSERT, UPDATE и DELETE была усовершенствована, чтобы отражать старые и новые значения, затронутые соответствующим оператором...

  • Теперь можно выполнять запросы с оператором SELECT, не включая в них выражение FROM. Эта новая возможность упрощает перенос кода SQL из одной среды в другую и его использование для разработчиков.

  • Создавайте макросы SQL, чтобы преобразовывать распространенные выражения SQL в параметрические, удобные для повторного использования структуры, которые можно вставлять в другие SQL-выражения...

  • Функции PL/SQL в инструкциях SQL по возможности автоматически преобразуются (транспилируются) в выражения SQL...

  • SQL-движок Oracle Database теперь поддерживает операцию VALUES для многих типов операторов...

  • Аннотации позволяют хранить и извлекать метаданные объектов баз данных. Они представляют собой простые текстовые поля, которые можно использовать для настройки бизнес-логики или пользовательских интерфейсов...

  • Домены использования (иногда называемые доменами SQL или доменами использования приложений) - это высокоуровневые словарные объекты, которые действуют как легкие модификаторы типов и централизованно документируют предполагаемое использование данных в приложениях...

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

Логический тип данных

Oracle Database теперь поддерживает данные логического типа, соответствующие стандарту ISO SQL. Это означает, что можно хранить значения True и False в таблицах и использовать логические выражения в SQL-запросах. Логический тип данных стандартизирует хранение значений «Да» и «Нет» и упрощает миграцию в Oracle Database.

Прямые подключения для выражений с операторами UPDATE и DELETE

Oracle Database теперь позволяет подключать таблицу, к которой применяются операторы UPDATE и DELETE, к другим таблицам с помощью выражения FROM. Дополнительные таблицы могут ограничивать диапазон строк, к которым применяются изменения, или выступать в качестве источника новых значений. Прямое соединение упрощает составление SQL-запросов для изменения или удаления данных.

GROUP BY псевдоним столбца

Теперь можно использовать псевдоним столбца или позицию элемента SELECT в разделах GROUP BY, GROUP BY CUBE, GROUP BY ROLLUP и GROUP BY GROUPING SETS. Кроме того, фраза HAVING поддерживает псевдонимы столбцов. Эти новые усовершенствования Database 23c упрощают запись фраз GROUP BY и HAVING, что делает SQL-запросы гораздо более читаемыми и удобными в обслуживании, а также обеспечивая лучшую переносимость SQL-кода.

IF [NOT] EXISTS

При создании, изменении и удалении DDL-объектов в Oracle Database теперь можно использовать модификаторы IF EXISTS и IF NOT EXISTS. Это позволяет контролировать процесс генерирования ошибок при наличии или отсутствии того или иного объекта, а значит, упрощает обработку ошибок сценариями и приложениями.

INTERVAL Агрегирование типов данных

Oracle Database 23c облегчает разработчикам вычисление итогов и средних значений по значениям INTERVAL. Благодаря этому усовершенствованию вы теперь можете использовать типы данных INTERVAL в агрегатных и аналитических функциях SUM и AVG.

Функция RETURNING INTO

Функция RETURNING INTO для операторов INSERT, UPDATE и DELETE была усовершенствована, чтобы отражать старые и новые значения, затронутые соответствующим оператором. Это позволяет разработчикам использовать одну и ту же логику для каждого из этих типов DML для получения значений до и после выполнения запроса. Старые и новые значения допустимы только для инструкций UPDATE. Выражения INSERT не сообщают о старых значениях, а выражения DELETE не сообщают о новых значениях.

Возможность получать старые и новые значения, затронутые операциями INSERT, UPDATE и DELETE, в процессе выполнения SQL-команды предлагает разработчикам единый подход к чтению этих значений и сокращает объем работы, которую должна выполнять база данных.

Оператор SELECT без использования FROM

Теперь можно выполнять запросы с оператором SELECT, не включая в них выражение FROM. Эта новая возможность упрощает перенос кода SQL из одной среды в другую и его использование для разработчиков.

Макросы SQL

Создавайте макросы SQL, чтобы преобразовывать распространенные выражения SQL в параметрические, удобные для повторного использования структуры, которые можно вставлять в другие SQL-выражения. Макросами SQL могут стать скалярные выражения, которые обычно используются в списках SELECT, а также в фрагментах с операторами WHERE, GROUP BY и HAVING. Макросы SQL также могут использоваться для инкапсуляции расчетов и бизнес-логики или могут быть табличными выражениями, обычно используемыми в части FROM. В сравнении с конструкциями PL/SQL макросы SQL способны повысить производительность. Макросы SQL также повышают продуктивность разработчиков, упрощая совместную работу и повышая качество кода.

Транспайлер SQL

Функции PL/SQL в инструкциях SQL по возможности автоматически преобразуются (транспилируются) в выражения SQL. Преобразование функций PL/SQL в инструкции SQL может сократить общее время выполнения.

Конструктор табличных значений

SQL-движок Oracle Database теперь поддерживает операцию VALUES для многих типов операторов. Это позволяет прямо на лету создавать строки данных, указывая их с помощью нового синтаксиса, не опираясь на существующие таблицы. Oracle Database 23c поддерживает операцию VALUES для инструкций SELECT, INSERT и MERGE. Введение новой операции VALUES позволяет разработчикам писать меньше кода для специальных команд SQL, что повышает читаемость при меньших усилиях.

Аннотации к использованию

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

Домены использования

Домены использования (иногда называемые доменами SQL или доменами использования приложений) - это высокоуровневые словарные объекты, которые действуют как легкие модификаторы типов и централизованно документируют предполагаемое использование данных в приложениях. Домены использования можно применять для определения использования данных и стандартизации операций, чтобы вложить в них набор ограничений проверки, свойств отображения, правил упорядочивания и других свойств использования, не требуя метаданных на уровне приложения.

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

Широкие таблицы — теперь до 4096 столбцов

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

Максимальное число столбцов, допустимое в таблице или представлении базы данных, увеличено до 4096. Раньше этот лимит составлял 1000 столбцов, что могло затруднять создание приложений, способных хранить атрибуты в одной таблице. Для некоторых рабочих нагрузок, таких как машинное обучение и потоковая передача данных Интернета вещей (IoT), могут потребоваться ненормализованные таблицы с более чем 1000 столбцами.

  • Oracle Database 23c и CMAN-TDM теперь предлагают лучшие в своем классе возможности управления подключениями и мониторинга подключений с неявным пулингом подключений, многопуловым DRCP, PRCP для каждой ПБД и т. д...

  • С Oracle Database 23c функция конвейерной обработки (Pipelining) позволяет приложениям .NET, Java и C/C++ отправлять в базу данных несколько запросов, не дожидаясь ответа от сервера...

  • Многоязычный механизм исполнения кода (модуль MLE) позволяет разработчикам вызывать функции JavaScript, хранимые в модулях, внутри запросов SQL и PL/SQL. Спецификации вызова, записанные в стандарте PL/SQL, связывают JavaScript с элементами кода на PL/SQL...

  • Одна из новых функций Oracle Database 23c — это возможность клиента хранить конфигурационную информацию Oracle, например строки подключений, в конфигурации приложений Microsoft Azure или в Oracle Cloud Infrastructure Object Storage...

  • Три столпа наблюдаемости — это метрики, журналирование и распределенная трассировка. В этом выпуске реализовано улучшенное журналирование, новые механизмы отладки (диагностика при первом сбое) и новые возможности трассировки...

  • В Oracle Database 23c реализован переносимый двоичный XML (TBX) — новый автономный метод хранения XMLType. TBX поддерживает сегментирование, индекс поиска XML и операции pushdown для Exadata, что обеспечивает более высокую производительность и масштабируемость по сравнению с другими вариантами хранения XML...

Управление подключениями для максимальной масштабируемости

Oracle Database 23c и CMAN-TDM теперь предлагают лучшие в своем классе возможности управления подключениями и мониторинга подключений с неявным пулингом подключений, многопуловым DRCP, PRCP для каждой ПБД и т. д. Новейшие и наиболее совершенные функции в области DRCP и PRCP увеличивают масштабируемость и производительность приложений C, Java, Python, Node.js и ODP.NET. Статистика из нового динамического представления V$TDM_STATS в Oracle Database 23c обеспечивает эффективный мониторинг использования пула PRCP.

Асинхронное программирование и конвейерная обработка драйверов баз данных

С Oracle Database 23c функция конвейерной обработки (Pipelining) позволяет приложениям .NET, Java и C/C++ отправлять в базу данных несколько запросов, не дожидаясь ответа от сервера. СУБД Oracle Database ставит эти запросы в очередь и обрабатывает их один за другим, позволяя клиентским приложениям продолжать работу до уведомления о завершении запросов. Эти усовершенствования обеспечивают лучшую работу с конечными пользователями, повышение скорости отклика приложений, основанных на данных, сквозное масштабирование, устранение узких мест в производительности и эффективное использование ресурсов на стороне сервера и клиента.

Чтобы клиентский запрос возвращался немедленно, Oracle Database Pipelining требует асинхронного или реактивного API в драйверах .NET, Java и C/C++. Эти механизмы можно использовать для СУБД Oracle Database, как с конвейерной обработкой Database Pipelining, так и без нее.

Для Java в Oracle Database 23c предусмотрены реактивные расширения в Java Database Connectivity (JDBC), Universal Connection Pool (UCP) и Oracle R2DBC Driver. Также поддерживаются виртуальные потоки Java в драйвере (Project Loom), а также библиотеки Reactive Streams, такие как Reactor, RxJava, Akka Streams, Vert.x и другие.

Хранимые процедуры на JavaScript

Многоязычный механизм исполнения кода (модуль MLE) позволяет разработчикам вызывать функции JavaScript, хранимые в модулях, внутри запросов SQL и PL/SQL. Спецификации вызова, записанные в стандарте PL/SQL, связывают JavaScript с элементами кода на PL/SQL. Благодаря этому разработчики могут использовать функции JavaScript там же, где вызываются функции PL/SQL.

Многооблачная интеграция конфигурации и безопасности

Одна из новых функций Oracle Database 23c — это возможность клиента хранить конфигурационную информацию Oracle, например строки подключений, в конфигурации приложений Microsoft Azure или в Oracle Cloud Infrastructure Object Storage. Эта функция упрощает облачное конфигурирование, развертывание и подключение приложений с использованием Oracle JDBC, .NET, Python, Node.js и драйверов доступа к данным Oracle Call Interface. Информация хранится в поставщиках конфигурации, что обеспечивает разделение кода приложения и конфигурации.

Чтобы дополнительно упростить администрирование, используйте единый вход с OAuth 2.0 в облако и базу данных. Клиенты Oracle Database 23c могут использовать токены доступа Microsoft Entra ID, Azure Active Directory или Oracle Cloud Infrastructure для входа в базу данных.

Наблюдаемость, OpenTelemetry и диагностируемость для приложений Java и .NET

Три столпа наблюдаемости — это метрики, журналирование и распределенная трассировка. В этом выпуске реализовано улучшенное журналирование, новые механизмы отладки (диагностика при первом сбое) и новые возможности трассировки. Драйверы JDBC и ODP.NET также снабжены обработчиком для трассировки вызовов базы данных; этот обработчик делает возможной распределенную трассировку с помощью OpenTelemetry.

Переносимый двоичный XML

В Oracle Database 23c реализован переносимый двоичный XML (TBX) — новый автономный метод хранения XMLType. TBX поддерживает сегментирование, индекс поиска XML и операции pushdown для Exadata, что обеспечивает более высокую производительность и масштабируемость по сравнению с другими вариантами хранения XML.

Благодаря поддержке большего числа архитектур баз данных, таких как сегментирование или Exadata, а также возможности легко переносить данные XML и обмениваться ими между различными серверами, контейнерами и ПБД, TBX позволяет извлекать максимум пользы из этого нового формата хранения XML в приложениях на большем числе платформ и архитектур.

Существующие данные XMLType в другом формате можно перенести в формат TBX одним из следующих способов:

INSERT AS SELECT или CREATE AS SELECT

Онлайн-переопределение

Oracle Data Pump

  • Тип данных JSON представляет собой оптимизированный для Oracle двоичный формат JSON, называемый OSON. Он разработан для ускорения выполнения запросов и DML в базе данных и в клиентах базы данных, начиная с версии 21c и далее...

  • Реляционная двойственность JSON, инновационная концепция, представленная в Oracle Database 23c, объединяющая реляционную модель данных и модель на основе документов, предоставляет их лучшие возможности...

  • СУБД Oracle Database поддерживает JSON для хранения и обработки данных с гибкими схемами. С Oracle Database 23c Oracle Database теперь поддерживает схему JSON для проверки структуры и значений данных JSON...

  • Конструктор PL/SQL JSON усовершенствован для приема экземпляра соответствующего агрегатного типа PL/SQL, возвращая объект JSON или тип массива, заполненный данными агрегатного типа.

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

Тип двоичных данных JSON

Тип данных JSON представляет собой оптимизированный для Oracle двоичный формат JSON, называемый OSON. Он разработан для ускорения выполнения запросов и DML в базе данных и в клиентах базы данных, начиная с версии 21c и далее.

Представления реляционной двойственности JSON

Реляционная двойственность JSON, инновационная концепция, представленная в Oracle Database 23c, объединяющая реляционную модель данных и модель на основе документов, предоставляет их лучшие возможности. Теперь разработчики могут создавать приложения по реляционной модели или по модели JSON, работая в едином пространстве и пользуясь сильными сторонами любой из этих моделей. Данные хранятся в одном экземпляре, но разработчик может обращаться к ним, записывать новые данные или вносить изменения вне зависимости от выбранного подхода. Дополнительное преимущество — возможность использовать транзакции и средства контроля параллелизма, соответствующие стандартам ACID. Это означает, что разработчикам больше не нужно поступаться сложностью реляционных структур объектов ради обеспечения согласованности данных.

Схема JSON

СУБД Oracle Database поддерживает JSON для хранения и обработки данных с гибкими схемами. С Oracle Database 23c Oracle Database теперь поддерживает схему JSON для проверки структуры и значений данных JSON. Оператор SQL IS JSON был усовершенствован для приема JSON Schema, а также были добавлены различные функции PL/SQL для проверки JSON и описания объектов базы данных, таких как таблицы, представления и типы, в виде документов JSON Schema.

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

Вклад в JSON Schema
Oracle активно участвует в JSON Schema - проекте с открытым исходным кодом по стандартизации декларативного языка на основе JSON, который позволяет осуществлять аннотирование и проверку документов JSON. В настоящее время он находится в процессе запроса комментариев (RFC).

Поддержка конструктора JSON PL/SQL для агрегатных типов

Конструктор PL/SQL JSON усовершенствован для приема экземпляра соответствующего агрегатного типа PL/SQL, возвращая объект JSON или тип массива, заполненный данными агрегатного типа.

Оператор PL/SQL JSON_VALUE доработан таким образом, что его возвращающее предложение может принимать имя типа, определяющее тип экземпляра, который оператор должен вернуть. Поддержка JSON-конструкторов для агрегатных типов данных упрощает обмен данными между PL/SQL-приложениями и языками, поддерживающими JSON.

API, совместимый с MongoDB

С помощью Oracle Database API для MongoDB разработчики могут продолжать использовать инструменты и драйверы MongoDB, подключенные к Oracle Database, получая при этом доступ к многомодельным возможностям Oracle и самоуправляемой базе данных. Клиенты могут запускать рабочие нагрузки MongoDB на Oracle Cloud Infrastructure (OCI). Часто в существующих приложениях MongoDB не требуется практически никаких изменений - нужно просто изменить строку подключения.

Oracle Database API для MongoDB является частью стандартного Oracle REST Data Services. Он предварительно настроен и полностью управляется как часть Oracle Autonomous Database.

Графы операционных свойств

В Oracle Database есть встроенная поддержка структур данных в виде графов свойств и запросов к графам. Если вы ищете удобный способ строить графы в сочетании с данными транзакций, JSON, Spatial и другими типами данных, здесь вы найдете все необходимые инструменты. Разработчики теперь могут легко создавать приложения на основе графов на SQL, используя существующие инструменты и среды SQL-разработки.

  • Мы завершаем 2023 год, и вот обзор новых возможностей Oracle Database 23c, которые мы освещали в течение года...

С праздниками!

Мы завершаем 2023 год, и вот обзор новых возможностей Oracle Database 23c, которые мы освещали в течение года. Если у вас еще не было возможности попробовать нашу последнюю версию Oracle Database, особенно если вы разработчик, ознакомьтесь с различными вариантами здесь или на oracle.com/database/free.

  • В Oracle Database 23c появилось средство онлайн-миграции, которое упрощает переход с Oracle Advanced Queuing (AQ) на Transactional Event Queues (TxEventQ) — с автоматизацией оркестровки, диагностикой и устранением проблем совместимости исходных и целевых объектов, а также унифицированным пользовательским интерфейсом...

  • В Oracle Database 23c расширена и улучшена поддержка приложений Apache Kafka, работающих с Oracle Database...

  • Резервирования без блокировки позволяют выполнять параллельные транзакции, не останавливая их на время обновления строк, в которых меняется большое количество данных. При таком резервировании операция, вместо того чтобы блокировать строки, выполняется в отложенном режиме...

  • Oracle продолжает расширять поддержку cloud native и Kubernetes, предлагая новый сервис Observability Exporter для Oracle Database...

  • Фреймворк Saga, представленный в Oracle Database 23c, представляет собой унифицированный фреймворк для создания асинхронных приложений Saga в базе данных...

Средство онлайн-миграции с AQ на TxEventQ

В Oracle Database 23c появилось средство онлайн-миграции, которое упрощает переход с Oracle Advanced Queuing (AQ) на Transactional Event Queues (TxEventQ) — с автоматизацией оркестровки, диагностикой и устранением проблем совместимости исходных и целевых объектов, а также унифицированным пользовательским интерфейсом. Сценарии миграции могут быть краткосрочными или долгосрочными и выполняться с простоями AQ или без них, что исключает перерывы в работе.

Существующие пользователи AQ, которых интересует более высокая пропускная способность очередей и совместимость с Kafka за счет использования Java-клиента Kafka и REST API типа Confluent, могут легко перейти с AQ на TxEventQ. TxEventQ предлагает масштабируемость, производительность, сегментирование на основе ключей и нативную поддержку полезных данных JSON, что упрощает написание микросервисов/приложений на основе событий на нескольких языках, включая Java, JavaScript, PL/SQL, Python и другие.

API Kafka

В Oracle Database 23c расширена и улучшена поддержка приложений Apache Kafka, работающих с Oracle Database. Это помогло реализовать простую миграцию приложений Java Kafka в Transactional Event Queues (TxEventQ). API Java для Kafka теперь могут подключаться к серверу Oracle Database и использовать TxEventQ в качестве платформы для обмена сообщениями.

Разработчики могут легко перенести приложения на базе Kafka в Oracle Database, используя тонкий драйвер JDBC. А благодаря библиотеке на стороне клиента, добавленной в Oracle Database 23c, приложения Kafka теперь могут подключаться к Oracle Database (вместо кластера Kafka) и использовать платформу обмена сообщениями TxEventQ, обеспечивая нужный уровень прозрачности.

Резервирование значений столбцов без блокировки

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

Возможность наблюдения за Grafana

Oracle продолжает расширять свою поддержку cloud native и Kubernetes с помощью нового Observability Exporter для Oracle Database, который позволяет клиентам легко экспортировать показатели баз данных и приложений в стандартный формат Prometheus, а также легко создавать панели Grafana для мониторинга производительности баз данных и приложений Oracle.

API Saga в Oracle Database 23c

Фреймворк Saga, представленный в Oracle Database 23c, представляет собой унифицированный фреймворк для создания асинхронных приложений Saga в базе данных. Saga упрощает и повышает надежность разработки современных высокопроизводительных микросервисов.

Saga — это охватывающая несколько баз данных бизнес-транзакция, реализованная в виде серии независимых локальных транзакций. Sagа-транзакции позволяют избегать глобальной блокировки на время выполнения транзакции за счет синхронных распределенных транзакций и упрощают требования к согласованности для поддержания глобального состояния приложения. Фреймворк Saga интегрируется с резервируемыми столбцами без блокировок в Oracle Database 23c для обеспечения автоматической компенсации Saga, что упрощает разработку приложений.

Фреймворк Saga эмулирует спецификацию LRA MicroProfile.