Sixth - system for data storage, computation, exploration and interaction
-
-
- Table of Contents
-
-
-
- -
-
-
- This is a subproject of Sixth - -
- download latest - snapshot - -
- 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. - - -
- Program author:
-
-
-
- Svjatoslav Agejenko -
- Homepage: http://svjatoslav.eu/ -
- Email: mailto://svjatoslav@svjatoslav.eu/ -
-
- - other applications hosted at svjatoslav.eu -
-
+1 Current status
-
-
- -
-
- Implemented very simple persistent key-value map. -
- Long term goal is to implement more advanced features on top of this. -
-
+
+
+
Sixth - system for data storage, computation, exploration and interaction
++
-
+
- This is a subproject of Sixth + + +
- download latest snapshot + + +
- 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. + + +
- Program author:
+
-
+
- Svjatoslav Agejenko + +
- Homepage: http://svjatoslav.eu + +
- Email: mailto://svjatoslav@svjatoslav.eu + +
+
+ - other applications hosted at svjatoslav.eu + +
+
1 Vision / goal
+
+
-+Provide versioned, clustered, flexible, distributed, multi-dimensional +data storage engine for the Sixth computation engine. +
+ +-
+
- 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. + +
+
+
-
+
+
- Created: 2016-08-03 Wed 23:45
-
+
+
+2 Inspiration
+
+
+
+-
+
- Relational databases:
+
-
+
- Transactional. + +
- Indexable / Quickly searchable. + +
+
+ - Git (version control system)
+
-
+
- Versionable + +
- Branchable / mergeable. + +
- Transparent cansistency, checksumming and deduplication. + +
- (Git as a database: +https://www.kenneth-truyers.net/2016/10/13/git-nosql-database/ ) + +
+
+
+2.1 Brain
+
+
+-
+
- Appears to have more than 3D dimensional design. Food for +thought…) + + + +
- From there come following ideas:
+
-
+
- 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. + + +
- Mapping of hyperspace to traditional object-oriented programming
+model:
+
-
+
- Object is a point in space (universe). Each object member +variable translates to its own dimension. That is: if class +declares 4 variables for an object, then corresponding object +can be stored as a single point inside 4 dimensional +space. Variable values translate to point coordinates in +space. That is: Integer, floating point number and even boolean +and string can be translated to linear value that can be used as +a coordinate along particular dimension. + + +
- Each class declares its own space (universe). All class +instances (objects) are points inside that particular +universe. References between objects of different types are +hyperlinks (portals) between different universes. + +
+
+
+
+
+3 Current status
+
+
+-
+
- More or less defined Vision / goal. + + +
- Collected some 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. + +
+
+
+4 See also
+
+
++Interesting or competing projects with good ideas: +
+ +-
+
- GRAKN.AI: database in the form of a knowledge graph that uses
+machine reasoning to simplify data processing challenges for AI
+applications.
+
-
+
- https://grakn.ai/ + +
+
+ - Gemstone/S based on Smalltalk. + + + +
- Magma distributed database in Smalltalk. + + +
+