This document discusses JNoSQL, a proposed API for NoSQL databases. It describes 5 types of NoSQL databases and examples of each. It proposes JNoSQL as a standardized API with layers for mapping objects to databases and communicating with them. JNoSQL would support the main NoSQL types through individual APIs while providing a common interface. The goals are to avoid vendor lock-in and simplify working with different NoSQL databases.
13. JNoSQL
● Mapping API
● Communication API
● No lock-in
● Divide and conquer
DAO
Mapping
Communication
Document
Key
Column
Graph
DIANA
ARTEMIS
JNoSQL
Data Tier
14. JNoSQL
● Eclipse Foundation
● Apache + Eclipse License
● API to each NoSQL type
● Configurable
● Extensible
Mapping
Communication DIANA
ARTEMIS
15. Why Diana?
● Goddess of the hunt, nature and
moon
● Fought in Troy
● brave warrior and hunter
● Diana Rome = Artemis Greek
20. Issues
● insert vs save
● delete vs remove
● update vs merge
● find vs. search
● callback interface to
asynchronous callback
long to seconds
int to seconds
long to milliseconds
int to milliseconds
21. Diana Project
● Document API
● Graph API
● Key-value API
● Column API
● Four TCKs
Database
API
Implementation
TCK