Files
oci-deal-accelerator/kb/compatibility/adb-feature-matrix.yaml
2026-03-18 18:03:44 -03:00

350 lines
14 KiB
YAML

# =============================================================================
# ADB FEATURE COMPATIBILITY MATRIX
# =============================================================================
#
# INTERNAL — DO NOT SHARE EXTERNALLY
#
# This matrix tracks feature availability across ADB versions and deployment
# types. It is maintained by the field team based on real testing and customer
# engagements, NOT copied from Oracle documentation.
#
# Status values:
# GA — Generally Available, tested, works as expected
# GA_CAVEAT — Available but with significant caveats (see notes)
# PREVIEW — Available as preview/beta, not production-ready
# LIMITED — Available with restrictions not obvious from docs
# NOT_AVAIL — Not available in this combination
# BROKEN — Documented as available but does not work (see field_finding ref)
# UNTESTED — Not yet verified by the team
#
# Cell format (enhanced with attribution):
# status: Required — one of the status values above
# notes: Optional — concise description of caveats
# contributor: Optional — attribution block (name, team, date, confidence)
# field_finding_ref: Optional — link to field finding ID (e.g., FF-202603-008)
#
# To edit: add/modify entries and update last_verified. Keep notes concise.
# =============================================================================
---
last_verified: "2026-03-14"
maintained_by: "Field Architecture Team"
versions:
- id: "23ai"
full_name: "Oracle Database 23ai"
release_year: 2024
notes: "First AI-branded release. Major feature additions."
- id: "26ai"
full_name: "Oracle Database 26ai"
release_year: 2026
notes: "Latest. Check feature availability — not everything from 23ai carried forward identically."
deployment_types:
- id: "adb_s"
name: "ADB-S Serverless"
- id: "adb_s_ep"
name: "ADB-S Elastic Pool"
- id: "adb_d_dep"
name: "ADB Dedicated Elastic Pool (DEP)"
- id: "adb_d"
name: "ADB on Dedicated Exadata"
- id: "exacs"
name: "Exadata Cloud Service"
- id: "dbcs_ee"
name: "Base DB Service (EE)"
# =============================================================================
# FEATURE MATRIX
# =============================================================================
features:
# --- Auto Management ---
- name: "Auto Scaling (OCPU)"
category: "auto_management"
matrix:
adb_s:
"23ai": { status: "GA_CAVEAT", notes: "Activation takes 2-3 min. Size base for P75. Billing per-second when active." }
"26ai": { status: "GA_CAVEAT", notes: "Same 2-3 min activation delay persists in 26ai." }
adb_s_ep:
"23ai": { status: "GA_CAVEAT", notes: "Scales within pool allocation. Pool itself doesn't auto-scale." }
"26ai": { status: "GA_CAVEAT", notes: "Same as 23ai." }
adb_d_dep:
"23ai": { status: "LIMITED", notes: "Scales within DEP allocation. DEP itself is fixed capacity." }
"26ai": { status: "UNTESTED" }
adb_d:
"23ai": { status: "NOT_AVAIL", notes: "Dedicated infra — manual scaling only." }
exacs:
"23ai": { status: "NOT_AVAIL", notes: "Manual OCPU enable/disable." }
- name: "Auto Indexing"
category: "auto_management"
matrix:
adb_s:
"23ai": { status: "GA_CAVEAT", notes: "Creates indexes HIDDEN by default. Instantly reversible. DML costing prevents over-indexing. Deduplication with manually created indexes." }
"26ai": { status: "GA", notes: "Improved in 26ai — better cost model, fewer false positives." }
adb_s_ep:
"23ai": { status: "GA_CAVEAT", notes: "Same as ADB-S Serverless." }
adb_d_dep:
"23ai": { status: "GA_CAVEAT", notes: "Available but less tested in DEP." }
adb_d:
"23ai": { status: "GA", notes: "Fully supported." }
exacs:
"23ai": { status: "NOT_AVAIL", notes: "Not an ADB feature. Use manual indexing." }
dbcs_ee:
"23ai": { status: "NOT_AVAIL" }
- name: "Auto Patching"
category: "auto_management"
matrix:
adb_s:
"23ai": { status: "GA", notes: "Automatic quarterly. No opt-out. Maintenance window configurable but change requires SR." }
"26ai": { status: "GA", notes: "Same policy." }
adb_d_dep:
"23ai": { status: "GA_CAVEAT", notes: "Maintenance window immutable post-DEP creation. Change via SR only. Saturday/Sunday default, other days via SR." }
exacs:
"23ai": { status: "GA_CAVEAT", notes: "Customer-managed patching schedule. Must apply within 90 days." }
# --- High Availability ---
- name: "Transparent Application Continuity (TAC)"
category: "ha_dr"
matrix:
adb_s:
"23ai": { status: "GA_CAVEAT", notes: "Zero perceived RTO for app. DB itself ~2 min unavailable during failover. Replay NOT guaranteed with UTL_HTTP, DBMS_PIPE, NOCACHE sequences. Requires JDBC thin driver with TAC config." }
"26ai": { status: "GA_CAVEAT", notes: "Same limitations persist." }
adb_s_ep:
"23ai": { status: "GA_CAVEAT", notes: "Same as Serverless." }
adb_d:
"23ai": { status: "GA_CAVEAT", notes: "Same limitations." }
exacs:
"23ai": { status: "GA_CAVEAT", notes: "Available with RAC. Same replay limitations." }
dbcs_ee:
"23ai": { status: "NOT_AVAIL", notes: "Requires RAC — only in EE-HP or EE-EP." }
- name: "Autonomous Data Guard (Local)"
category: "ha_dr"
matrix:
adb_s:
"23ai": { status: "GA", notes: "Synchronous. Same region. Auto-failover ~2 min." }
"26ai": { status: "GA" }
adb_d:
"23ai": { status: "GA" }
exacs:
"23ai": { status: "GA", notes: "Standard Data Guard, not 'Autonomous' — manual setup." }
- name: "Autonomous Data Guard (Cross-Region)"
category: "ha_dr"
matrix:
adb_s:
"23ai": { status: "GA_CAVEAT", notes: "Asynchronous only. RPO ≈ seconds. Manual switchover or auto-failover (configurable)." }
"26ai": { status: "GA_CAVEAT", notes: "Same." }
adb_d_dep:
"23ai": { status: "GA_CAVEAT", notes: "ADG must be disabled before joining DEP. Known issue." }
exacs:
"23ai": { status: "GA", notes: "Standard cross-region DG. Manual setup." }
- name: "Refreshable Clone"
category: "ha_dr"
matrix:
adb_s:
"23ai": { status: "GA_CAVEAT", notes: "Read-only. Auto-refresh frequency configurable. Failed refresh leaves clone AVAILABLE (not DISCONNECTED) — leader monitors lifecycle state, not refresh success. Detection delay = ADG RTO for unplanned." }
"26ai": { status: "GA_CAVEAT", notes: "Same detection delay issue." }
adb_d:
"23ai": { status: "GA" }
# --- Security ---
- name: "Virtual Private Database (VPD)"
category: "security"
matrix:
adb_s:
"23ai": { status: "GA", notes: "Full VPD support including OLS." }
"26ai": { status: "GA" }
exacs:
"23ai": { status: "GA" }
dbcs_ee:
"23ai": { status: "GA", notes: "Requires Advanced Security option license." }
- name: "Private Endpoints"
category: "security"
matrix:
adb_s:
"23ai": { status: "GA", notes: "Recommended for production. Required for some compliance." }
"26ai": { status: "GA" }
adb_d:
"23ai": { status: "GA", notes: "Default — all ADB-D is private." }
exacs:
"23ai": { status: "GA", notes: "Always private subnet." }
- name: "Data Safe Integration"
category: "security"
matrix:
adb_s:
"23ai": { status: "GA", notes: "Audit, masking, assessment, SQL Firewall." }
"26ai": { status: "GA", notes: "Enhanced SQL Firewall in 26ai." }
exacs:
"23ai": { status: "GA" }
dbcs_ee:
"23ai": { status: "GA_CAVEAT", notes: "Must register DB manually in Data Safe." }
# --- Developer Features ---
- name: "Select AI"
category: "developer"
matrix:
adb_s:
"23ai": { status: "GA", notes: "Natural language → SQL via LLM. Requires AI profile configuration." }
"26ai": { status: "GA", notes: "Improved accuracy in 26ai." }
adb_d:
"23ai": { status: "GA" }
exacs:
"23ai": { status: "NOT_AVAIL", notes: "ADB-only feature." }
- name: "Property Graph / SQL/PGQ"
category: "developer"
matrix:
adb_s:
"23ai": { status: "GA_CAVEAT", notes: "Node tables + edge tables. Only FK indexes essential. Additional indexes require filter evidence. See Graph DBA Advisor philosophy." }
"26ai": { status: "GA", notes: "Improved PGQ optimizer in 26ai." }
exacs:
"23ai": { status: "GA", notes: "Full graph support with PGQL and SQL/PGQ." }
- name: "APEX"
category: "developer"
matrix:
adb_s:
"23ai": { status: "GA", notes: "Built-in. No additional cost." }
"26ai": { status: "GA" }
adb_d:
"23ai": { status: "GA" }
exacs:
"23ai": { status: "GA_CAVEAT", notes: "Must install APEX manually." }
dbcs_ee:
"23ai": { status: "GA_CAVEAT", notes: "Must install and manage manually." }
- name: "JSON Relational Duality Views"
category: "developer"
matrix:
adb_s:
"23ai": { status: "GA", notes: "Major 23ai feature." }
"26ai": { status: "GA" }
exacs:
"23ai": { status: "GA" }
dbcs_ee:
"23ai": { status: "GA", notes: "Requires 23ai version." }
# --- AI / Vector Search ---
- name: "AI Vector Search (HNSW)"
category: "developer"
matrix:
adb_s:
"23ai":
status: "GA_CAVEAT"
notes: |
HNSW indexes are node-local on multi-node RAC. Works well up to
~50M vectors on single node (≤24 ECPUs). At 100M+ on multi-node
(≥64 ECPUs), requires hash-partitioned vector table with LOCAL
HNSW index for <50ms P95. See FF-202603-008.
scale_limits:
single_node_max_vectors: "~50M with <50ms P95"
multi_node_requires: "Hash partitioning + LOCAL HNSW index"
validated_at: "120M vectors, 64 ECPU, P95 = 38ms (with workaround)"
without_workaround: "P95 >200ms at 100M+ on 2-node RAC"
field_finding_ref: "FF-202603-008"
"26ai":
status: "UNTESTED"
notes: "Check if distributed HNSW is added in 26ai. Expected to remain node-local."
adb_s_ep:
"23ai":
status: "GA_CAVEAT"
notes: "Same node-local limitation as ADB-S Serverless."
field_finding_ref: "FF-202603-008"
adb_d:
"23ai":
status: "GA_CAVEAT"
notes: "Same limitation. Dedicated infra doesn't change HNSW locality."
exacs:
"23ai":
status: "GA_CAVEAT"
notes: "RAC with HNSW has same node-local constraint. Partitioning workaround applies."
dbcs_ee:
"23ai":
status: "NOT_AVAIL"
notes: "AI Vector Search requires 23ai. Available in EE but HNSW performance limited without Exadata storage."
- name: "AI Vector Search (IVF)"
category: "developer"
matrix:
adb_s:
"23ai":
status: "GA"
notes: |
IVF (Inverted File) indexes ARE distributed across RAC nodes.
Works at 100M+ scale without partitioning. However, IVF has
lower recall than HNSW at same latency budget. Trade-off:
IVF for scale without redesign, HNSW+partitioning for best recall.
"26ai":
status: "UNTESTED"
adb_s_ep:
"23ai":
status: "GA"
notes: "Same as ADB-S Serverless."
adb_d:
"23ai":
status: "GA"
exacs:
"23ai":
status: "GA"
notes: "IVF distributed across RAC nodes. Exadata storage accelerates scans."
dbcs_ee:
"23ai":
status: "NOT_AVAIL"
notes: "AI Vector Search requires 23ai. Available in EE but performance limited without Exadata."
# --- Deployment / Operations ---
- name: "Elastic Pool Membership"
category: "operations"
matrix:
adb_s_ep:
"23ai": { status: "GA_CAVEAT", notes: "Billing starts at AVAILABLE. Co-location at next maintenance window. Pool can't auto-scale." }
adb_d_dep:
"23ai":
status: "GA_CAVEAT"
notes: "Provisioning days-weeks. ADG must be disabled before joining. Maintenance window immutable. Saturday/Sunday default."
contributor:
name: "Diego Cabrera"
team: "Field Architecture"
date: "2026-03-14"
confidence: "validated"
field_finding_ref: "FF-202603-002"
- name: "Cross-Region Read Offload (ProxySQL/Refreshable Clone)"
category: "operations"
matrix:
adb_s:
"23ai":
status: "LIMITED"
notes: "Architecturally impossible without pre-provisioned Elastic Pool in Region B post-switchover. Mitigation for planned: DBMS_PROXY_SQL.DISABLE_READ_ONLY_OFFLOAD. For unplanned: OCI Events + Functions."
contributor:
name: "Diego Cabrera"
team: "Field Architecture"
date: "2026-03-14"
confidence: "validated"
field_finding_ref: "FF-202603-005"
"26ai": { status: "UNTESTED", notes: "Same architectural constraint expected to persist." }
- name: "OCI CLI Management"
category: "operations"
matrix:
adb_s:
"23ai": { status: "GA_CAVEAT", notes: "--resource-pool-summary works on CLI 3.73+. --autonomous-database-maintenance-window has JSON serialization bug on CLI 3.73.1 AND 3.75.0. Must use Console for maintenance window." }
# =============================================================================
# HOW TO ADD A NEW FEATURE
# =============================================================================
# 1. Add entry under "features:" following the template above
# 2. Fill matrix for every deployment_type + version you've tested
# 3. Mark untested combinations as UNTESTED
# 4. Add field_finding_ref if the entry comes from a specific incident
# 5. Update last_verified date
# 6. Commit with a message: "feat-matrix: added [feature_name]"