Increased amount of dimensions from 4D to arbitrary.
[sixth-data.git] / doc / index.html
1 <!doctype html>
2 <html lang="en">
3 <head>
4 <title>Sixth - system for data storage, computation, exploration and interaction</title>
5 <!-- 2017-07-02 Sun 22:49 -->
6 <meta charset="utf-8">
7 <meta name="viewport" content="width=device-width, initial-scale=1">
8 <meta name="generator" content="Org-mode">
9 <meta name="author" content="Svjatoslav Agejenko">
10 <link href="https://bootswatch.com/darkly/bootstrap.min.css" rel="stylesheet">
11 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
12 <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.1/js/bootstrap.min.js"></script>"
13 <style type="text/css">
14 footer {background-color: #111 !important;}
15 pre {background-color: #111; color: #ccc;}
16 </style>
17 <style type="text/css">
18 /* org mode styles on top of twbs */
19
20 html {
21     position: relative;
22     min-height: 100%;
23 }
24
25 body {
26     font-size: 18px;
27     margin-bottom: 105px;
28 }
29
30 footer {
31     position: absolute;
32     bottom: 0;
33     width: 100%;
34     height: 101px;
35     background-color: #f5f5f5;
36 }
37
38 footer > div {
39     padding: 10px;
40 }
41
42 footer p {
43     margin: 0 0 5px;
44     text-align: center;
45     font-size: 16px;
46 }
47
48 #table-of-contents {
49     margin-top: 20px;
50     margin-bottom: 20px;
51 }
52
53 blockquote p {
54     font-size: 18px;
55 }
56
57 pre {
58     font-size: 16px;
59 }
60
61 .footpara {
62     display: inline-block;
63 }
64
65 figcaption {
66   font-size: 16px;
67   color: #666;
68   font-style: italic;
69   padding-bottom: 15px;
70 }
71
72 /* from twbs docs */
73
74 .bs-docs-sidebar.affix {
75     position: static;
76 }
77 @media (min-width: 768px) {
78     .bs-docs-sidebar {
79         padding-left: 20px;
80     }
81 }
82
83 /* All levels of nav */
84 .bs-docs-sidebar .nav > li > a {
85     display: block;
86     padding: 4px 20px;
87     font-size: 14px;
88     font-weight: 500;
89     color: #999;
90 }
91 .bs-docs-sidebar .nav > li > a:hover,
92 .bs-docs-sidebar .nav > li > a:focus {
93     padding-left: 19px;
94     color: #A1283B;
95     text-decoration: none;
96     background-color: transparent;
97     border-left: 1px solid #A1283B;
98 }
99 .bs-docs-sidebar .nav > .active > a,
100 .bs-docs-sidebar .nav > .active:hover > a,
101 .bs-docs-sidebar .nav > .active:focus > a {
102     padding-left: 18px;
103     font-weight: bold;
104     color: #A1283B;
105     background-color: transparent;
106     border-left: 2px solid #A1283B;
107 }
108
109 /* Nav: second level (shown on .active) */
110 .bs-docs-sidebar .nav .nav {
111     display: none; /* Hide by default, but at >768px, show it */
112     padding-bottom: 10px;
113 }
114 .bs-docs-sidebar .nav .nav > li > a {
115     padding-top: 1px;
116     padding-bottom: 1px;
117     padding-left: 30px;
118     font-size: 12px;
119     font-weight: normal;
120 }
121 .bs-docs-sidebar .nav .nav > li > a:hover,
122 .bs-docs-sidebar .nav .nav > li > a:focus {
123     padding-left: 29px;
124 }
125 .bs-docs-sidebar .nav .nav > .active > a,
126 .bs-docs-sidebar .nav .nav > .active:hover > a,
127 .bs-docs-sidebar .nav .nav > .active:focus > a {
128     padding-left: 28px;
129     font-weight: 500;
130 }
131
132 /* Nav: third level (shown on .active) */
133 .bs-docs-sidebar .nav .nav .nav {
134     padding-bottom: 10px;
135 }
136 .bs-docs-sidebar .nav .nav .nav > li > a {
137     padding-top: 1px;
138     padding-bottom: 1px;
139     padding-left: 40px;
140     font-size: 12px;
141     font-weight: normal;
142 }
143 .bs-docs-sidebar .nav .nav .nav > li > a:hover,
144 .bs-docs-sidebar .nav .nav .nav > li > a:focus {
145     padding-left: 39px;
146 }
147 .bs-docs-sidebar .nav .nav .nav > .active > a,
148 .bs-docs-sidebar .nav .nav .nav > .active:hover > a,
149 .bs-docs-sidebar .nav .nav .nav > .active:focus > a {
150     padding-left: 38px;
151     font-weight: 500;
152 }
153
154 /* Show and affix the side nav when space allows it */
155 @media (min-width: 992px) {
156     .bs-docs-sidebar .nav > .active > ul {
157         display: block;
158     }
159     /* Widen the fixed sidebar */
160     .bs-docs-sidebar.affix,
161     .bs-docs-sidebar.affix-bottom {
162         width: 213px;
163     }
164     .bs-docs-sidebar.affix {
165         position: fixed; /* Undo the static from mobile first approach */
166         top: 20px;
167     }
168     .bs-docs-sidebar.affix-bottom {
169         position: absolute; /* Undo the static from mobile first approach */
170     }
171     .bs-docs-sidebar.affix .bs-docs-sidenav,.bs-docs-sidebar.affix-bottom .bs-docs-sidenav {
172         margin-top: 0;
173         margin-bottom: 0
174     }
175 }
176 @media (min-width: 1200px) {
177     /* Widen the fixed sidebar again */
178     .bs-docs-sidebar.affix-bottom,
179     .bs-docs-sidebar.affix {
180         width: 263px;
181     }
182 }
183 </style>
184 <script type="text/javascript">
185 $(function() {
186     'use strict';
187
188     $('.bs-docs-sidebar li').first().addClass('active');
189
190     $(document.body).scrollspy({target: '.bs-docs-sidebar'});
191
192     $('.bs-docs-sidebar').affix();
193 });
194 </script>
195 </head>
196 <body>
197 <div id="content" class="container">
198 <div class="row"><div class="col-md-9"><h1 class="title">Sixth - system for data storage, computation, exploration and interaction</h1>
199 <hr >
200 <ul class="org-ul">
201 <li>This is a subproject of <a href="http://www2.svjatoslav.eu/gitbrowse/sixth/doc/index.html">Sixth</a>
202 </li>
203
204 <li><a href="http://www2.svjatoslav.eu/gitweb/?p=sixth-data.git;a=snapshot;h=HEAD;sf=tgz">download latest snapshot</a>
205 </li>
206
207 <li>This program is free software; you can redistribute it and/or modify
208 it under the terms of version 3 of the <a href="https://www.gnu.org/licenses/lgpl.html">GNU Lesser General Public
209 License</a> or later as published by the Free Software Foundation.
210 </li>
211
212 <li>Program author:
213 <ul class="org-ul">
214 <li>Svjatoslav Agejenko
215 </li>
216 <li>Homepage: <a href="http://svjatoslav.eu">http://svjatoslav.eu</a>
217 </li>
218 <li>Email: <a href="mailto://svjatoslav@svjatoslav.eu">mailto://svjatoslav@svjatoslav.eu</a>
219 </li>
220 </ul>
221 </li>
222
223 <li><a href="http://svjatoslav.eu/programs.jsp">other applications hosted at svjatoslav.eu</a>
224 </li>
225 </ul>
226
227
228 <div id="outline-container-sec-1" class="outline-2">
229 <h2 id="sec-1"><a id="ID-f6764282-a6f6-44e6-8716-b428074dd093" name="ID-f6764282-a6f6-44e6-8716-b428074dd093"></a><span class="section-number-2">1</span> Vision / goal</h2>
230 <div class="outline-text-2" id="text-1">
231 <p>
232 Provide versioned, clustered, flexible, distributed, multi-dimensional
233 data storage engine for the <a href="http://www2.svjatoslav.eu/gitbrowse/sixth/doc/index.html">Sixth computation engine</a>.
234 </p>
235
236 <ul class="org-ul">
237 <li>Speaking of traditional relational database and object oriented
238 business applications:
239 <ul class="org-ul">
240 <li>I hate object-relational impedance mismatch.
241 </li>
242
243 <li>I don't like to convert data between persistent database and
244 runtime objects for every transaction. How about creating united
245 database/computation engine instead to:
246 <ul class="org-ul">
247 <li>Eliminate constant moving and converting of data between 2 systems.
248 </li>
249 <li>Abstract away difference between RAM VS persistent storage. Let
250 the system decide at runtime which data to keep in what kind of
251 memory.
252 </li>
253 </ul>
254 </li>
255 </ul>
256 </li>
257 </ul>
258 </div>
259
260 <div id="outline-container-sec-1-1" class="outline-3">
261 <h3 id="sec-1-1"><span class="section-number-3">1.1</span> Inspiration</h3>
262 <div class="outline-text-3" id="text-1-1">
263 <ul class="org-ul">
264 <li>Relational databases:
265 <ul class="org-ul">
266 <li>Transactional.
267 </li>
268 <li>Indexable / Quickly searchable.
269 </li>
270 </ul>
271 </li>
272
273 <li>Git (version control system)
274 <ul class="org-ul">
275 <li>Versionable
276 </li>
277 <li>Branchable / mergeable.
278 </li>
279 <li>Transparent cansistency, checksumming and deduplication.
280 </li>
281 <li>(Git as a database:
282 <a href="https://www.kenneth-truyers.net/2016/10/13/git-nosql-database/">https://www.kenneth-truyers.net/2016/10/13/git-nosql-database/</a> )
283 </li>
284 </ul>
285 </li>
286
287 <li>Brain (appears to have more than 3D dimensional design. Food for
288 thought&#x2026;)
289 <ul class="org-ul">
290 <li><a href="https://singularityhub.com/2017/06/21/is-there-a-multidimensional-mathematical-world-hidden-in-the-brains-computation/">https://singularityhub.com/2017/06/21/is-there-a-multidimensional-mathematical-world-hidden-in-the-brains-computation/</a>
291 <ul class="org-ul">
292 <li>From there comes following idea: Maybe every problem can be
293 translated to geometry (use any shapes and as many dimensions as
294 you need). Solution(s) to such problems would then appear as
295 relatively simple search/comparison/lookup results. As a bonus,
296 such geometrical *data storage* AND *computation* can be
297 naturally made in *parallel* and *distributed*. That's what
298 neurons in the brain appear to be doing ! :) . Learning means
299 building/updating the model (the hard part). Question answering
300 is making (relatively simple) lookups (geometrical queries)
301 against the model.
302 </li>
303 </ul>
304 </li>
305 </ul>
306 </li>
307 </ul>
308 </div>
309 </div>
310 </div>
311
312 <div id="outline-container-sec-2" class="outline-2">
313 <h2 id="sec-2"><span class="section-number-2">2</span> Current status</h2>
314 <div class="outline-text-2" id="text-2">
315 <ul class="org-ul">
316 <li>More or less defined <a href="#sec-1">Vision / goal</a>.
317 </li>
318
319 <li>Implemented very simple persistent key-value map.
320 <ul class="org-ul">
321 <li>Long term goal is to use it as a backing storage engine and
322 implement more advanced features on top of this.
323 </li>
324 </ul>
325 </li>
326 </ul>
327 </div>
328 </div>
329
330 <div id="outline-container-sec-3" class="outline-2">
331 <h2 id="sec-3"><span class="section-number-2">3</span> <span class="label label-primary TODO">TODO</span> </h2>
332 <div class="outline-text-2" id="text-3">
333 <ul class="org-ul">
334 <li>check out Magma
335 <ul class="org-ul">
336 <li><a href="http://wiki.squeak.org/squeak/2665">http://wiki.squeak.org/squeak/2665</a>
337 </li>
338 </ul>
339 </li>
340 </ul>
341 </div>
342 </div>
343 </div><div class="col-md-3"><nav id="table-of-contents">
344 <div id="text-table-of-contents" class="bs-docs-sidebar">
345 <ul class="nav">
346 <li><a href="#sec-1">1. Vision / goal</a>
347 <ul class="nav">
348 <li><a href="#sec-1-1">1.1. Inspiration</a></li>
349 </ul>
350 </li>
351 <li><a href="#sec-2">2. Current status</a></li>
352 <li><a href="#sec-3">3. </a></li>
353 </ul>
354 </div>
355 </nav>
356 </div></div></div>
357 <footer id="postamble" class="">
358 <div><p class="author">Author: Svjatoslav Agejenko</p>
359 <p class="date">Created: 2017-07-02 Sun 22:49</p>
360 <p class="creator"><a href="http://www.gnu.org/software/emacs/">Emacs</a> 25.1.1 (<a href="http://orgmode.org">Org-mode</a> 8.2.10)</p>
361 </div>
362 </footer>
363 </body>
364 </html>