Открыть сервис

Oracle Database 12c

Oracle Database 12c — это система управления реляционными базами данных (СУБД), выпущенная корпорацией Oracle в 2013 году. Она является двенадцатым основным релизом Oracle Database и первой версией, в которой была реализована архитектура мультитенантности (Multitenant Architecture), позволяющая размещать множество изолированных баз данных (так называемых «подключаемых баз данных», PDB) в одной контейнерной базе данных (CDB). Буква «c» в названии обозначает «Cloud» (облако), что отражает ориентацию продукта на облачные среды и консолидацию ресурсов.

История

Разработка Oracle Database 12c началась после выхода Oracle Database 11g в 2007 году. Основными целями нового релиза были повышение производительности, упрощение администрирования, улучшение поддержки облачных вычислений и обеспечение более высокой степени автоматизации. Первая публичная бета-версия была выпущена в 2012 году, а финальный релиз (12.1.0.1) состоялся 25 июня 2013 года.

В 2014 году вышло обновление 12.1.0.2, которое включало новые функции, такие как поддержка JSON (JavaScript Object Notation) и улучшенные возможности для работы с большими данными. В 2016 году Oracle выпустила Oracle Database 12c Release 2 (12.2.0.1), которое было доступно только для облачной платформы Oracle Cloud, а затем, в 2017 году, и для локального развертывания. В 2018 году Oracle представила Oracle Database 18c, которая стала последним релизом в линейке 12c, после чего компания перешла на ежегодный цикл выпуска обновлений.

Архитектура

Мультитенантная архитектура

Ключевым нововведением Oracle Database 12c стала мультитенантная архитектура. Она включает в себя два типа баз данных:

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

Мультитенантность позволяет консолидировать множество баз данных на одном сервере, снижая затраты на администрирование и лицензирование. Администратор может управлять всеми PDB через одну CDB, выполняя общие задачи (например, резервное копирование, обновление) централизованно.

Управление памятью и процессами

Oracle Database 12c использует автоматическое управление памятью (Automatic Memory Management, AMM), которое динамически распределяет память между компонентами СУБД, такими как буферный кэш и раздел SQL. Также поддерживается автоматическое управление сегментами (Automatic Segment Space Management, ASSM) для оптимизации хранения данных.

Индексация и оптимизация запросов

В 12c были улучшены алгоритмы оптимизации запросов. Введены новые типы индексов, такие как частичные индексы (Partial Indexes), которые индексируют только часть строк таблицы, и индексы по битовым картам (Bitmap Indexes) для работы с низкокардинальными данными. Оптимизатор стал более эффективно использовать статистику, включая гистограммы и динамические выборки.

Основные функции

Поддержка JSON

Oracle Database 12c (начиная с версии 12.1.0.2) ввела встроенную поддержку JSON. Данные в формате JSON могут храниться в столбцах типа VARCHAR2, CLOB или BLOB, а для их обработки доступны функции SQL/JSON, такие как JSON_VALUE, JSON_QUERY, JSON_TABLE и JSON_EXISTS. Это позволяет выполнять запросы к JSON-документам без необходимости использования внешних инструментов или преобразования данных.

In-Memory Column Store (IMCS)

В Oracle Database 12c (версия 12.1.0.2) была представлена опция In-Memory Column Store, которая позволяет хранить таблицы и представления в оперативной памяти в столбцовом формате. Это ускоряет выполнение аналитических запросов, которые требуют сканирования больших объемов данных, так как столбцовое хранение обеспечивает более высокую степень сжатия и эффективную обработку агрегаций.

Улучшенная безопасность

В 12c были добавлены новые механизмы безопасности, включая:

  • Redaction (редактирование данных) — автоматическое скрытие конфиденциальных данных (например, номеров кредитных карт) при выводе результатов запроса.
  • Privilege Analysis (анализ привилегий) — инструмент для выявления неиспользуемых привилегий пользователей, что помогает снизить риски утечки данных.
  • Unified Auditing (унифицированный аудит) — единая система аудита, которая объединяет все типы событий (логин, выполнение DDL, DML) в одном месте.

Управление данными в реальном времени

Функция Real-Time Materialized Views (материализованные представления реального времени) позволяет автоматически обновлять данные в представлениях при изменении исходных таблиц, что обеспечивает актуальность аналитических данных без ручного обновления.

Применение

Oracle Database 12c широко используется в корпоративных средах для управления критически важными данными. Основные области применения:

  • Финансовый сектор — банки, страховые компании и инвестиционные фонды используют 12c для обработки транзакций, управления рисками и отчетности.
  • Телекоммуникацииоператоры связи применяют СУБД для биллинга, управления абонентами и анализа трафика.
  • Государственные учреждения — для хранения реестров, налоговой информации и данных социального обеспечения.
  • Электронная коммерция — для управления каталогами товаров, заказами и клиентскими данными.

Критика

Несмотря на широкое распространение, Oracle Database 12c подвергалась критике за сложность лицензирования и высокую стоимость. Мультитенантная архитектура, хотя и обеспечивает консолидацию, требует дополнительных затрат на лицензирование опции Multitenant. Кроме того, некоторые пользователи отмечали, что переход с более ранних версий (например, 11g) на 12c может быть трудоемким из-за изменений в архитектуре и необходимости обновления приложений.

Интересные факты

  • Oracle Database 12c стала первой СУБД, которая поддерживала мультитенантность на уровне ядра, что позволило консолидировать до 4096 подключаемых баз данных в одной контейнерной базе.
  • В версии 12.2.0.1 была добавлена поддержка шардинга (Sharding) — горизонтального разделения данных между несколькими базами данных, что улучшает масштабируемость и производительность.
  • Oracle Database 12c поддерживает работу с данными в формате XML, а также имеет встроенную поддержку пространственных данных (Spatial) и графовых данных (Property Graph).

Источники

  • Oracle Corporation. Oracle Database 12c Release 1 Documentation (2013).
  • Oracle Corporation. Oracle Database 12c Release 2 Documentation (2017).
  • Oracle Press. Oracle Database 12c: The Complete Reference (2014).
  • Книга: «Oracle Database 12c. Администрирование и настройка» (2015, под редакцией Т. Кайта).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →