reviewed vcache for use by git-annex; found it wanting
This commit is contained in:
parent
d876ec966e
commit
2fbbb7fab0
2 changed files with 19 additions and 8 deletions
|
@ -0,0 +1,19 @@
|
||||||
|
[[!comment format=mdwn
|
||||||
|
username="joey"
|
||||||
|
subject="""vache"""
|
||||||
|
date="2015-02-15T16:35:12Z"
|
||||||
|
content="""
|
||||||
|
<https://github.com/dmbarbour/haskell-vcache>
|
||||||
|
|
||||||
|
It uses LMDB, which is a C library, and its PVar is a variable named by a
|
||||||
|
bytestring, so it's essentially a key/value store where the values can be
|
||||||
|
arbitrary Haskell data types. Since git-annex already has Keys, and most
|
||||||
|
of the need for the database is to look up some cached value for a Key,
|
||||||
|
this seems like a pretty good fit!
|
||||||
|
|
||||||
|
Unfortunately, "A VCache file may be opened by only one process at a time,
|
||||||
|
and only once within said process."
|
||||||
|
|
||||||
|
But, git-annex needs multiple read-only access, as many git-annex processes
|
||||||
|
can run concurrently.
|
||||||
|
"""]]
|
|
@ -45,14 +45,6 @@ DB into memory. In the comments of
|
||||||
other haskell database-like things, and found them all wanting, except for
|
other haskell database-like things, and found them all wanting, except for
|
||||||
possibly TCache.
|
possibly TCache.
|
||||||
|
|
||||||
TODO: This seems promising; investigate it:
|
|
||||||
<https://awelonblue.wordpress.com/2014/12/19/vcache-an-acid-state-killer/>
|
|
||||||
It uses LMDB, which is a C library, and its PVar is a variable named by a
|
|
||||||
bytestring, so it's essentially a key/value store where the values can be
|
|
||||||
arbitrary Haskell data types. Since git-annex already has Keys, and most
|
|
||||||
of the need for the database is to look up some cached value for a Key,
|
|
||||||
this seems like a pretty good fit!
|
|
||||||
|
|
||||||
## case study: persistent with sqllite
|
## case study: persistent with sqllite
|
||||||
|
|
||||||
Here's a non-normalized database schema in persistent's syntax.
|
Here's a non-normalized database schema in persistent's syntax.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue