www.opendaylight.org persistence store project proposal
TRANSCRIPT
www.opendaylight.org
Persistence StoreProject Proposal
www.opendaylight.org2
Introduction / Motivation Potential Consumers Scope High Level Architecture Software Architecture API Differences with MD-SAL
Contents
www.opendaylight.org
Introduction
Framework to implement persistence logic for query-able data.
Modeling data for persistence could be radically different for different data stores (or databases), but interacting with persistence layers is actually very similar.
This framework unifies the common tasks of persisting data so applications follow a systematic method to implement their persistence logic with well-defined abstractions and separation of concerns between business and persistence logic.
www.opendaylight.org4
Aimed for query-able large data sets. Support of non-model data: Time Series, Metrics, Historical
Data, Aggregated Data, Audit Logs, Alerts, etc. Allows plunging in different data store or database vendors
and thus taking advantage of the different ways of storing data: Data Integrity Data Consistency Clustering High Performance etc.
Motivation
www.opendaylight.org5
AAA Project Authentication, authorization and accounting services
AADS Application Aware Data Store
TSDR Time Series Data Repository
Potential Consumers
www.opendaylight.org
Scope
Provide an extensible and reusable software platform that includes: Application programming interfaces (APIs). Abstract implementations that allow plugging in a variety of object-store
engines such as JPA, Cassandra, Mongo, HBase, etc. JPA implementation support
A set of integration test tools. In Scope:
Data Definition: defining, removing or updating data structures (Database tables or schema for example).
Data Maintenance: Inserting, updating or deleting data from existing data structures.
Data Retrieval: Querying existing data. Out of Scope:
Data Control: Creating and monitoring database users, restricting access to data, and monitoring the data access performance.
www.opendaylight.org7
High Level Architecture
www.opendaylight.org
Software Architecture
The consumer interacts with a persistence API which abstracts any type of data store or database.
Abstract implementations are provided for the supported data stores: In the illustration JPA (SQL) and Cassandra (NoSQL).
The framework is extended by adding implementations for other types of data stores.
www.opendaylight.org9
Advantages: Easy to Use, Hard to Misuse Consolidated Extensible Favors Loosely Coupled Designs Implementations Do Not Impact the API Testable
Drawbacks: Object Creation Overhead DAO Creation Complexity Depends on the Implementation’s
Abstractions Schema Definition is Left to the Implementations and not Considered
as part of the API
API