Difference between revisions of "GEPS 032: Database Backend API"

From Gramps
Jump to: navigation, search
(Created page with "This proposal defines a complete Database Backend API so that we can have drop-in replacement for BSDDB. This would allow the use of other databases, even relational/SQL backe...")
 
Line 15: Line 15:
 
# Need to be able to represent transactions
 
# Need to be able to represent transactions
 
# Need to be able to undo/redo
 
# Need to be able to undo/redo
 +
 +
= See Also =
 +
 +
* [[ExportSql.py]]
 +
* [[GEPS 010: Relational Backend]]
 +
* [[GEPS 013: Gramps Webapp]]
 +
 +
[[Category:GEPS|S]]

Revision as of 02:17, 3 December 2013

This proposal defines a complete Database Backend API so that we can have drop-in replacement for BSDDB. This would allow the use of other databases, even relational/SQL backends, but used in a non-relational manner.

This is an idea refined from GEPS 010: Relational Backend. However, without the relational components.

The first step is to separate all of the gramps.gen.db code into reusable and extendable components. This has begun with the DictionaryDB, which is a in-memory replacement for the BSDDB. Still needs the indexes, and metadata support (gender names, bookmarks, etc). Also, the Dictionary transaction is non-existent.

Backends to consider:

  • MongoDB
  • CouchDB
  • Sqlite

Issues:

  1. Need to be able to represent transactions
  2. Need to be able to undo/redo

See Also