emacs.d/clones/lisp/www.cliki.net/cl-naive-store.html
2022-10-07 15:47:14 +02:00

61 lines
No EOL
4.4 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>CLiki: cl-naive-store</title>
<link rel="alternate" type="application/atom+xml" title="ATOM feed of edits to current article"
href="https://www.cliki.net/site/feed/article.atom?title=cl-naive-store">
<link rel="stylesheet" href="static/css/style.css">
<link rel="stylesheet" href="static/css/colorize.css">
</head>
<body>
<span class="hidden">CLiki - cl-naive-store</span>
<div id="content"><div id="content-area"><div id="article-title">cl-naive-store</div><div id="article">cl-naive-store is a <a href="database.html" class="category">database</a> (document store to be more precise) which is persisted, in memory (lazy loading), indexed and written completely in Common Lisp.<p>The naive bit comes from the fact that data is persisted as plists in files to make them human and machine readable, also there is no rocket science code.<p>The store was designed to be customisable, just about anything can be customised, have a look at the implementation api to get an idea of what is possible.<p>
Licence: MIT<p>Homepage: <a href="https://gitlab.com/Harag/cl-naive-store"> https://gitlab.com/Harag/cl-naive-store </a> <p><h3>Features</h3><p><h4>Persisted</h4><p> Data can be written to file per document update or as a batch update. <p><h4>In memory</h4><p> Data is loaded into memory for querying and lookups, that makes them fast. <p><h4>Lazy Loading</h4><p> Data is only loaded when needed and not before. If you use the store
correctly it means that you will only have the data that users
requested up to that point in memory. <p><h4>Indexed</h4><p> Documents and key values can be indexed, and a user can specify their
own additional indexes as well. Queries and lookups can both be done using
indexes which speeds up the retrieval of data considerably. <p><h4>Sharding</h4><p> Sharding is the breaking down of files into smaller files, in the case
of naive-store that means that instead of one file per collection there
could be many. <p> Sharding is done based on the actual data in collections. The user
specifies which elements of a document it wants to use for sharding on
a collection. If none is specified no sharding is done. <p>
<hr><p><a href="StructuredStorage.html" class="category">StructuredStorage</a></div></div>
<div id="footer" class="buttonbar"><ul><li><a href="cl-naive-store.html">Current version</a></li>
<li><a href="https://www.cliki.net/site/history?article=cl-naive-store">History</a></li>
<li><a href="https://www.cliki.net/site/backlinks?article=cl-naive-store">Backlinks</a></li><li><a href="https://www.cliki.net/site/edit-article?title=cl-naive-store&amp;from-revision=3833923379">Edit</a></li><li><a href="https://www.cliki.net/site/edit-article?create=t">Create</a></li></ul></div>
</div>
<div id="header-buttons" class="buttonbar">
<ul>
<li><a href="https://www.cliki.net/">Home</a></li>
<li><a href="https://www.cliki.net/site/recent-changes">Recent Changes</a></li>
<li><a href="CLiki.html">About</a></li>
<li><a href="Text&#32;Formatting.html">Text Formatting</a></li>
<li><a href="https://www.cliki.net/site/tools">Tools</a></li>
</ul>
<div id="search">
<form action="https://www.cliki.net/site/search">
<label for="search_query" class="hidden">Search CLiki</label>
<input type="text" name="query" id="search_query" value="" />
<input type="submit" value="search" />
</form>
</div>
</div>
<div id="pageheader">
<div id="header">
<span id="logo">CLiki</span>
<span id="slogan">the common lisp wiki</span>
<div id="login"><form method="post" action="https://www.cliki.net/site/login">
<label for="login_name" class="hidden">Account name</label>
<input type="text" name="name" id="login_name" class="login_input" />
<label for= "login_password" class="hidden">Password</label>
<input type="password" name="password" id="login_password" class="login_input" />
<input type="submit" name="login" value="login" id="login_submit" /><br />
<div id="register"><a href="https://www.cliki.net/site/register">register</a></div>
<input type="submit" name="reset-pw" value="reset password" id="reset_pw" />
</form>
</div>
</div>
</div>
</body></html>