X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=doc%2Findex.html;h=c719c14e1a95c91702ffdb0a7e7b8693eb7925cd;hb=b382105757c3d9a2bb528fa8e4218354feff2429;hp=0fc38fe52e60b059efa10e8486d947f1022c2f4f;hpb=6da6d15b3291c8e14035f5f4f2bd8a2493ab0143;p=sixth-data.git diff --git a/doc/index.html b/doc/index.html index 0fc38fe..c719c14 100644 --- a/doc/index.html +++ b/doc/index.html @@ -2,7 +2,7 @@ Sixth - system for data storage, computation, exploration and interaction - + @@ -241,25 +241,30 @@ business applications:
  • 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: +

    +

    +the system decide at runtime which data to keep in what kind of +memory. +

    + -
    -

    1.1 Inspiration

    -
    +
    +

    2 Inspiration

    +
    +
    -
  • Brain (appears to have more than 3D dimensional design. Food for +
    +

    2.1 Brain

    +
    + +
    +
    +
  • + +
    +

    3 Ideas

    +
    +
    +

    3.1 Distributed computation and data storage

    +
    +

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

    +
    +
    +
    +

    3.2 Mapping of hyperspace to traditional object-oriented model

    +
    +

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

    + +

    +It is possible to map object model to geometrical hyperspace: +

    + +
      +
    • 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.3 Handling of relations

    +
    +

    +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).
      • @@ -309,13 +417,17 @@ against the model.
    -
    -

    2 Current status

    -
    + +
    +

    4 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 @@ -327,12 +439,16 @@ implement more advanced features on top of this.
    -
    -

    3 TODO

    -
    +
    +

    5 See also

    +
    +

    +Interesting or competing projects with good ideas: +

    +