-
Notifications
You must be signed in to change notification settings - Fork 32
Open
Milestone
Description
As Jakarta NoSQL evolves into a unified, standard API for interacting with diverse NoSQL databases, there's a growing need for a consistent and formalized driver-level API—just like what JDBC provides for relational databases.
This proposal introduces a Jakarta NoSQL Driver API specification that abstracts the lower-level operations and capabilities of NoSQL databases, enabling portability, tooling, and standardization across vendors.
Problem
Today, Jakarta NoSQL defines high-level APIs (Template, annotations, etc.) to enable Java developers to work with NoSQL systems in a vendor-agnostic way. However:
- There is no formal contract or interface that defines how database vendors must implement drivers.
- Jakarta NoSQL implementors often create custom internal mappings, making it difficult to integrate with tools or extensions (e.g., Jakarta Query).
- Emerging NoSQL and NewSQL systems expose JDBC-compatible layers, further blurring the lines between SQL and NoSQL. Without a common driver contract, Jakarta NoSQL cannot easily leverage this compatibility.
Proposal
Introduce a Jakarta NoSQL Driver API to standardize:
- Basic capabilities (CRUD, query support, transaction hints, etc.)
- NoSQL type classification (Document, Key-Value, Column, Graph)
- Lifecycle and configuration of drivers
- Metadata inspection, similar to JDBC's
DatabaseMetaData
Metadata
Metadata
Assignees
Labels
No labels