Origins is an open source bi-temporal database for storing and retrieving facts for slowly-changing data. It support "time travel" queries and has built-in change detection.
Go Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
assets
chrono
cmd/origins
dal
http Define http.Server and add support for CORS Jul 13, 2015
schema
storage
testutil
transactor
view
.gitignore
.travis.yml
Dockerfile
LICENSE
Makefile
README.md
buffer.go
buffer_test.go
comparator.go
comparator_test.go
csv.go
csv_test.go
doc.go
domains.go
fact.go
file.go
file_test.go
ident.go
ident_test.go
iter.go
iter_test.go
reflect.go
reflect_test.go
sort.go
sort_test.go
storage.go
test-cover.sh

README.md

Origins

Build Status Coverage Status GoDoc

Origins is an open source bi-temporal database for storing and retrieving facts about the state of things. It supports "time-travel" queries, aggregate views, and change detection.

  • This project is in an alpha stage of development.
  • Interested in working on a temporal database written in Go? Get in touch!
  • For more information consult the documentation.
  • Learn how you can contribute.

Docker

Run in-memory Origins HTTP service.

docker run -p 49110:49110 dbhi/origins http

Use the BoltDB storage engine with a volume.

docker run \
    -p 49110:49110 \
    -v <host-dir>:/data \
    dbhi/origins http \
    --storage=boltdb \
    --path=/data/origins.boltdb

Development

Environment

Install Go

brew on OS X.

brew install go

Otherwise follow these instructions.

Install Go dependencies

make install

Testing

Ensure the test dependencies are installed:

make test-install

Then run:

make test

Building

To the build the origins command in ./cmd/origins locally, simply run:

make build

To build binaries for each platform, ensure the build dependencies are installed:

make build-install

Then run:

make build