Skip to content

Introduce Jakarta NoSQL Driver API (Analogous to JDBC) #200

@otaviojava

Description

@otaviojava

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

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions