-Consider we want to create database of books and authors. Book can
-have multiple authors, and single person can be author for multiple
-books. It is possible to store how many hours of work each author has
-contributed to every book, using hyperspace as follows:
-
-+ Every dimension corresponds to one particular book author. (10
- authors in the database, would require 10 dimensional space)
- + Point in space corresponds to one particular book.
- + Point location along particular (author) dimension corresponds
- to amount of work contributed by particular author for given
- book.
-
-Alternatively:
-
-+ Every dimension corresponds to one particular book.
- + Point in space corresponds to one particular author in the entire
- database.
- + Point location along particular (book) dimension corresponds to
- amount of work contributed for book by given author (point).
-
-** Layered architecture
-+ layer 1 :: disk / block storage / partition
-
-+ layer 2 :: key/value storage. Keys are unique and are dictated by
- storage engine. Value is arbitrary but limited size byte
- array. This layer is responsible for handling disk
- defragmentation and consistency in case of crash
- recovery.
-
-+ layer 3 :: key/value storage. Keys are content hashes. Values are
- arbitrary but limited size content byte arrays. This
- layer effectively implements content addressable
- storage. Content addressible storage enables GIT-like
- behavior (possibility for competing branches, retaining
- history, transparent deduplication)
-
-+ layer 4 :: Implements arbitrary dimensional multiverse.
-
-+ layer 5 :: Distributed computation engine.
+Consider we want to create database of:
++ Books.
++ Authors.
++ Effort: Amount of time contributed by every author to every book
+ that he/she wrote.
+
+Information above can be represented as 3D cube where dimensions are:
++ X: Book
++ Y: Author
++ Z: Effort
+
+Points in that cube would nicely capture many to many relations
+between authors and the books.