ckanext-versioned-datastore documentationΒΆ
This plugin provides a complete replacement for ckan's datastore plugin and therefore shouldn't be used in conjunction with it. Rather than storing data in PostgreSQL, resource data is stored in MongoDB and then made available to frontend APIs using Elasticsearch.
This allows this plugin to:
- provide full versioning of resource records - records can be updated when new resource data is uploaded without preventing access to the old data
- expose advanced search features using Elasticsearch's extensive feature set
- achieve fast search response times, particularly when compared to PostgreSQL, due Elasticsearch's search performance
- store large resources (millions of rows) and still provide high speed search responses
- store complex data as both MongoDB and Elasticsearch are JSON based, allowing object nesting and arrays
This plugin is built on Splitgill.