Skip to content

laforge49/AwDb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 

Repository files navigation

AwDb

A multi-metaphor database.

The AgileWiki Database is a multi-metaphor versioning repository.

The database holds a set of objects, each with its own unique identifier. Objects have attributes.

Objects also represent rows in a table. The object identifier is the primary key, but there are also secondary keys implementing multiple indexes. And joins are also supported.

Objects are also the nodes in a graph, with links connecting them. These links have labels and there are indexes for accessing the origin and destination nodes for a given label.

Every transaction creates a journal entry, which is also an object in the database. Journal entries are connected to the objects, secondary keys and links they updated. And it is a simple matter to view a journal for each of these by displaying the journal entries which modified them.

Navigation through past time is also supported. When doing so, the attributes, key values and links of an object reflect the values they had at that past time.

The database is implemented using immutable structures, making it easy to share data across threads and to perform multiple simultaneous queries.

About

The AgileWiki Database

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages