tree: efc2e1060e1f884b77cf15162d477f277e42d26e [path history] [tgz]
  1. collection/
  2. common/
  3. graph/
  4. m2/
  5. map/
  6. model/
  7. queryindex/
  8. queue/
  9. .gitignore
  10. pom.xml
  11. README.md
stack/corepersistence/README.md

Core Persistence

A Framework to provide basic component services for persistence frameworks

Data Templates

Below are the basic data templates this system should support

Collections

A scope storage and indexing framework. Properties should be secondary indexed, and should be able to be queried efficiently.

MVCC Semantics

Transaction/Checkpoint logging on indexing. Consistent data view. Can potentially be for long running jobs. Optimistic Locking (maybe) Atomic updates (maybe)

Operation Chaining (maybe)

Possible ability to define an operation context where a set of all writes must either succeed or fail as a group (can probably be done with MVCC)

Graphs

A system for creating relationships between scope entities. The directed edges can be named (a type) and an index query can be executed on those edges.

Maps

A map that can store hierarchical keys. Shorter keys are better. This should allow for range “scanning”. I.E.

key1: => org1/app1/env1/version1

key2: => org1/app1/env2/version1

Operations:

Put by key Get by key Iterate by scan Delete by key

Get me all keys present in org1/app1.

Start => org1/app1

End => org1/app1 inclusive


===========

A write through distributed cache backed by the cassandra map implementation for persistence