Sixth - system for data storage, computation, exploration and interaction
-+
4. Reasons for hypercube as a so called first class citizen
+-
-
- This is a subproject of Sixth - +
- Hypercube is quite general purpose data structure that naturally +encapsulates wide variety data and problems. -
- download latest snapshot - +
- Nicely captures apparent properties of the brain. -
- This program is free software; you can redistribute it and/or modify -it under the terms of version 3 of the GNU Lesser General Public -License or later as published by the Free Software Foundation. - +
- Naturally supports distributed and parallel geometrical data storage +and computation. -
- Program author:
-
-
-
- Svjatoslav Agejenko - -
- Homepage: http://svjatoslav.eu - -
- Email: mailto://svjatoslav@svjatoslav.eu - -
+ - Dedicated hardware like CM-1 can be built around hypercube concept +that results in data, computation process and hardware, all +beautifully fitting together while complementing each other +strengths. -
- other applications hosted at svjatoslav.eu - +
- Hypercube stored data (and computation process) has geometry by its +nature and should fit nicely with "3D first" user interface ideology +of the parent Sixth project.
5. Geometrical computation idea
+5.1. Distributed computation and data storage
++Lots of problems can be translated to geometry (use any shapes and as +many dimensions as you need). Solution(s) to such problems could be +then found via geometrical search/comparison/lookup results. As a +bonus, such geometrical data storage AND computation can be +naturally made in parallel and distributed. +
- -1 Vision / goal
--Provide versioned, clustered, flexible, distributed, multi-dimensional -data storage engine for the Sixth computation engine. +Learning means building/updating/re-balancing the model (the hard +part). Question answering is making (relatively simple) lookups +(geometrical queries) against the model. +
+5.2. Mapping hypercube to object-oriented model and relational database
++Object oriented programming is inspired by the way human mind +operates. It allows programmer to express ideas to computer in a more +human-like terms.
--
-
- Speaking of traditional relational database and object oriented
-business applications:
-
-
-
- I hate object-relational impedance mismatch. - +
- I don't like to convert data between persistent database and
-runtime objects for every transaction. How about creating united
-database/computation engine instead to:
-
-
- Eliminate constant moving and converting of data between 2 systems. - -
- Abstract away difference between RAM VS persistent storage. Let -the system decide at runtime which data to keep in what kind of -memory. - -
-
+It is actually also possible to map object model and relational +database to geometrical hyperspace: +
-
+ - Object or database table row is a point in hypercube arbitrary +dimensional space. Each object member variable or database table +column can be mapped to its own dimension in hypercube. That is: if +class declares 4 variables for an object, then corresponding object +can be stored as a single point inside 4 dimensional +hypercube. Variable values translate to point coordinates in that +hypercube. That is: numbers and string can be translated to linear +value that can be used as a coordinate along particular dimension. + +
- Each object class or database table declares its own hypercube that +contain instances (objects) of that class or rows of a table.
1.1 Inspiration
--
-
- Relational databases:
++
5.3. Mapping entity relations in hypercube
+++Consider we want to create database of: +
-
-
- Transactional. - -
- Indexable / Quickly searchable. - +
- Books. +
- Authors. +
- Effort: Amount of time contributed by every author to every book +that he/she wrote.
- Git (version control system) +
-+Information above can be represented as 3D cube where dimensions are: +
-
-
- Versionable - -
- Branchable / mergeable. - -
- Transparent cansistency, checksumming and deduplication. - -
- (Git as a database: -https://www.kenneth-truyers.net/2016/10/13/git-nosql-database/ ) - +
- X: Book +
- Y: Author +
- Z: Effort
- Brain (appears to have more than 3D dimensional design. Food for -thought…) -
- +-
-
- https://singularityhub.com/2017/06/21/is-there-a-multidimensional-mathematical-world-hidden-in-the-brains-computation/
-
-
-
- From there comes following idea: Maybe every problem can be -translated to geometry (use any shapes and as many dimensions as -you need). Solution(s) to such problems would then appear as -relatively simple search/comparison/lookup results. As a bonus, -such geometrical *data storage* AND *computation* can be -naturally made in *parallel* and *distributed*. That's what -neurons in the brain appear to be doing ! :) . Learning means -building/updating the model (the hard part). Question answering -is making (relatively simple) lookups (geometrical queries) -against the model. - -
-
+Points in that cube would nicely capture many to many relations +between authors and the books. +
2 Current status
-6. Current status
+-
-
- More or less defined Vision / goal. - +
- More or less defined Vision / goal. + +
- Collected some inspiring ideas.
- Implemented very simple persistent key-value map.
- Long term goal is to use it as a backing storage engine and -implement more advanced features on top of this. - -
-
3 TODO
--
-
- check out Magma - - +implement more advanced features on top of this via layered +architecture. +