www.opendaylight.org persistence store project proposal

9
www.opendaylight.org Persistence Store Project Proposal

Upload: reginald-walton

Post on 29-Dec-2015

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Www.opendaylight.org Persistence Store Project Proposal

www.opendaylight.org

Persistence StoreProject Proposal

Page 2: Www.opendaylight.org Persistence Store Project Proposal

www.opendaylight.org2

Introduction / Motivation Potential Consumers Scope High Level Architecture Software Architecture API Differences with MD-SAL

Contents

Page 3: Www.opendaylight.org Persistence Store Project Proposal

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.

Page 4: Www.opendaylight.org Persistence Store Project Proposal

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

Page 5: Www.opendaylight.org Persistence Store Project Proposal

www.opendaylight.org5

AAA Project Authentication, authorization and accounting services

AADS Application Aware Data Store

TSDR Time Series Data Repository

Potential Consumers

Page 6: Www.opendaylight.org Persistence Store Project Proposal

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.

Page 7: Www.opendaylight.org Persistence Store Project Proposal

www.opendaylight.org7

High Level Architecture

Page 8: Www.opendaylight.org Persistence Store Project Proposal

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.

Page 9: Www.opendaylight.org Persistence Store Project Proposal

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