|
@@ -0,0 +1,134 @@
|
|
|
|
+<!DOCTYPE html>
|
|
|
|
+<html>
|
|
|
|
+<head>
|
|
|
|
+ <meta charset="utf-8" />
|
|
|
|
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
|
|
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
|
|
+ <meta name="description" content="" />
|
|
|
|
+ <meta name="author" content="Maxim Sokhatsky" />
|
|
|
|
+ <title>KVS</title>
|
|
|
|
+ <link rel="stylesheet" href="https://synrc.space/synrc.css?v=2" />
|
|
|
|
+</head>
|
|
|
|
+<body>
|
|
|
|
+<nav>
|
|
|
|
+ <a href='https://n2o.dev'>DEV</a>
|
|
|
|
+ <a href='https://kvs.n2o.space' style="background:#ededed;">KVS</a>
|
|
|
|
+</nav>
|
|
|
|
+<header>
|
|
|
|
+ <a href="https://github.com/synrc/kvs"><img src="https://synrc.space/images/Synrc Neo.svg?v=1"></a>
|
|
|
|
+ <h1>KVS</h1>
|
|
|
|
+</header>
|
|
|
|
+<aside>
|
|
|
|
+ <article>
|
|
|
|
+ <section>
|
|
|
|
+ <h3>СИНОПИС</h3>
|
|
|
|
+ <div>KVS — це легкий клієнтський інтерфейс над
|
|
|
|
+ абстракціями BTREE бази даних, який підтримує основні можливості: </div>
|
|
|
|
+ <div>
|
|
|
|
+ <ul>
|
|
|
|
+ <li>Поліморфні кортежі, як розширювані записи;</li>
|
|
|
|
+ <li>Основна схема для сховища ланцюжків;</li>
|
|
|
|
+ <li>Бекенди: MNESIA, FS, ROCKS;</li>
|
|
|
|
+ <li>Надзвичайно компактний та перевірений код: 500 LOC.</li>
|
|
|
|
+ </ul>
|
|
|
|
+ </div>
|
|
|
|
+ <div>Це суть і серце KVS — інтерфейс абстрактних виразів
|
|
|
|
+ з наївною, та продуктивною реалізацією потоків.
|
|
|
|
+ Підходить для систем повідомлень, простих блокчейнів,
|
|
|
|
+ систем обробки, зберігання даних, та банківської галузі.
|
|
|
|
+ KVS використовується в BPE та BANK додатках.</div>
|
|
|
|
+ </section>
|
|
|
|
+ <section>
|
|
|
|
+ <h3>МОДУЛІ</h3>
|
|
|
|
+ <div><ul>
|
|
|
|
+ <li><a href="man/ua/kvs.htm">KVS</a></font></li>
|
|
|
|
+ <li><a href="man/ua/kvs_stream.htm">STREAM</a></font></li>
|
|
|
|
+ <li><a href="man/ua/kvs_fs.htm">FS</a></font></li>
|
|
|
|
+ <li><a href="man/ua/kvs_mnesia.htm">MNESIA</a></font></li>
|
|
|
|
+ <li><a href="man/ua/kvs_rocks.htm">ROCKS</a></font></li>
|
|
|
|
+ <li><a href="man/ua/kvs_st.htm">ST</a></font></li>
|
|
|
|
+ </ul></div>
|
|
|
|
+ <br>
|
|
|
|
+ <div>
|
|
|
|
+ APR 2019 © <a href="https://github.com/5HT">5HT</a> ISC<br>
|
|
|
|
+ VER 6.6 6.5 6.4
|
|
|
|
+ </div>
|
|
|
|
+ </section>
|
|
|
|
+ <section>
|
|
|
|
+ <figure>
|
|
|
|
+ <code>
|
|
|
|
+ $ mad get kvs && cd kvs
|
|
|
|
+ $ mad com pla rep
|
|
|
|
+ > kvs:join().
|
|
|
|
+ </code>
|
|
|
|
+ </figure>
|
|
|
|
+ </section>
|
|
|
|
+ </article>
|
|
|
|
+</aside>
|
|
|
|
+<main>
|
|
|
|
+ <section>
|
|
|
|
+
|
|
|
|
+<h3>ПРИКЛАД ВИКОРИСТАННЯ</h3>
|
|
|
|
+
|
|
|
|
+<figure><code>
|
|
|
|
+ > kvs:join().
|
|
|
|
+ ok
|
|
|
|
+
|
|
|
|
+ > kvs:check().
|
|
|
|
+ ok
|
|
|
|
+
|
|
|
|
+ > kvs:all(reader).
|
|
|
|
+ [{reader,1555175169121817000,0,[],[],
|
|
|
|
+ {list,1555175169120161000},
|
|
|
|
+ 0},
|
|
|
|
+ {reader,1555175169121249000,0,[],[],
|
|
|
|
+ {list,1555175169120161000},
|
|
|
|
+ 0}]
|
|
|
|
+
|
|
|
|
+ > rr(kvs).
|
|
|
|
+ [emails,id_seq,iter,kvs,reader,schema,table,writer]
|
|
|
|
+
|
|
|
|
+ > kvs:save(kvs:reader({list,1555175169120161000})).
|
|
|
|
+ #reader{id = 1555175244188986000,pos = 0,
|
|
|
|
+ cache = {emails,1555175169122304000},
|
|
|
|
+ args = [],
|
|
|
|
+ feed = {list,1555175169120161000},
|
|
|
|
+ dir = 0}
|
|
|
|
+
|
|
|
|
+ > kvs:take(kvs:bot((kvs:load_reader(1555175244188986000))#reader{args=-1})).
|
|
|
|
+ #reader{id = 1555175244188986000,pos = 5,
|
|
|
|
+ cache = {emails,1555175169127279000},
|
|
|
|
+ args = [#emails{id = 1555175169127279000,next = [],
|
|
|
|
+ prev = 1555175169126314000,email = []},
|
|
|
|
+ #emails{id = 1555175169126314000,next = 1555175169127279000,
|
|
|
|
+ prev = 1555175169125227000,email = []},
|
|
|
|
+ #emails{id = 1555175169125227000,next = 1555175169126314000,
|
|
|
|
+ prev = 1555175169123405000,email = []},
|
|
|
|
+ #emails{id = 1555175169123405000,next = 1555175169125227000,
|
|
|
|
+ prev = 1555175169122304000,email = []},
|
|
|
|
+ #emails{id = 1555175169122304000,next = 1555175169123405000,
|
|
|
|
+ prev = [],email = []}],
|
|
|
|
+ feed = {list,1555175169120161000},
|
|
|
|
+ dir = 0}
|
|
|
|
+
|
|
|
|
+</code></figure>
|
|
|
|
+ </section>
|
|
|
|
+
|
|
|
|
+ <section>
|
|
|
|
+ <a name=plugin><h3>CONTRIBUTORS</h3></a>
|
|
|
|
+ <div>
|
|
|
|
+ <ul>
|
|
|
|
+ <li><a href="https://github.com/5HT">5HT</a> — Namdak Tonpa</li>
|
|
|
|
+ <li><a href="https://github.com/proger">proger</a> — Vlad Ki</li>
|
|
|
|
+ <li><a href="https://github.com/doxtop">doxtop</a> — Andrii Zadorozhnii</li>
|
|
|
|
+ <li><a href="https://github.com/cryoflamer">cryoflamer</a> — Yuri Maslovsky</li>
|
|
|
|
+ <li><a href="https://github.com/qomputer">qomputer</a> — Igor Kharin</li>
|
|
|
|
+ </ul></div>
|
|
|
|
+ <br><br>
|
|
|
|
+ </section>
|
|
|
|
+</main>
|
|
|
|
+<footer>
|
|
|
|
+ Made with <span class="heart">❤</span> to N2O
|
|
|
|
+</footer>
|
|
|
|
+</body>
|
|
|
|
+</html>
|