X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=doc%2Findex.html;h=584f5d0385e7d2a791726ea5f8b81907780eabad;hb=058fc98562d8714f5ffcdb89c50f685b474c61fc;hp=0c9559e4a8b4b6c9c002cd8815be43cff136c11e;hpb=c2e5bc51afcb4776720ff274596bd68595f793d7;p=sixth-data.git diff --git a/doc/index.html b/doc/index.html index 0c9559e..584f5d0 100644 --- a/doc/index.html +++ b/doc/index.html @@ -1,364 +1,481 @@ - - + + + -Sixth - system for data storage, computation, exploration and interaction - - - - - - - -" + + + +Sixth Data - Data storage and computing engine + + + + + + - - - - -
-

Sixth - system for data storage, computation, exploration and interaction

-
+
+

4. Reasons for hypercube as a so called first class citizen

+
+
+
+
+

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. -
    • +

      +It is actually also possible to map object model and relational +database to geometrical hyperspace: +

      -
    • 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. -
      • -
      -
    • -
    -
  • +
  • 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: +

    -
  • -
  • 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

-
-
-
-