Skip to content

Create GeoGig backend #12

@chrisbennight

Description

@chrisbennight

GeoGit is a DVCS for geospatial data. It adds the ability to track provenance, history, and perform diffs on different data sets.
Ultimately it would be ideal to be able to store and track this information for any feature stored in GeoWave - as a first step to this implementing a GeoGit backend in accumulo (leveraging geowave where possible) is desired.

Geogit has a pluggable data store implementation - it looks like there's a concept of a GraphDatabase, an ObjectDatabase, and a StagingDatabase that need to be implemented. The MongoDB backend provides a good example of implementing all three of these (see [3]).

The GraphDB implementation can be done from scratch, but it looks like there are canned implementations that leverage the BluePrints API. There's an a project ([4]) that implements a blueprints-api on accumulo which may speed this up (state of this project is currently known (stability, quality, etc.).

Note that further investigation is needed to determine to what extent GeoWave and GeoGit objects can be co-mingled. It would be ideal to not duplicate any date when not strictly needed. It might also be desireable to keep historical data (diffs, versions), in a separate table to keep "current state" queries quick. Working out the appropriate direction here would be done in conjunction with this task.

There are two groups on the geogit dev list working an HBase (may be migrating to something else - Ceph?) object store as well as spatial indexing - currently most of the stuff seems pretty rudimentary, but might be worth keeping an eye on.

[1] GeoGit: https://github.com/boundlessgeo/GeoGit
[2] DevDocs: https://github.com/boundlessgeo/GeoGit/blob/master/doc/technical/source/developers.rst
[3] MongDB implementation: https://github.com/boundlessgeo/GeoGit/tree/master/src/storage/mongo
[4] Accumulo-Blueprints project: https://github.com/mikelieberman/blueprints-accumulo-graph
[5] Group working NoSQL object database (Hbase - now Ceph?): http://geogitobjdb.blogspot.com/
[6] GeoGit spatial index discussion: https://groups.google.com/a/boundlessgeo.com/forum/#!searchin/geogit/spatial$20index/geogit/9yVQAFL4n4I/VZDFrCsh3kgJ
[7] GeoGit discussion group: https://groups.google.com/a/boundlessgeo.com/forum/#!forum/geogit

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions