I'm wondering if we're going about this slightly the wrong way. Let's
take a look at CouchDB. CouchDB prefers to keep all data on the disk
at all times. As docs (or items) are added to a database they extend
that database, but never overwrite it. In addition all changes are
written instantly to disk, with no in memory cache.

Here's what I'm thinking. We develop a new set of sequence compatible
maps and vectors, that are immutable, yet stored on disk. Each
vector/map would be stored in a separate file, and changes to this
file would need to be serialized, but reading from the file could be
performed co-currently. Instead of syncing in-memory structures to
disk, the structures themselves are stored on disk. If the user wants
to cache that data they must perform the caching themselves.

I think I may give this a try tonight with vectors as a starting point.

Timothy

On Wed, Jun 23, 2010 at 3:26 PM, Daniel Werner
<daniel.d.wer...@googlemail.com> wrote:
> On Jun 22, 7:57 pm, Timothy Baldridge <tbaldri...@gmail.com> wrote:
>> system it uses. Has anyone tried marrying the two system systems to
>> create a truly persistent data primitive where any "updates" to a map
>> is written to the disk?
>
> There has been an attempt at integrating STM transactions with DB
> transactions, even including a patch, but sadly discontinued and very
> outdated by now:
>
> http://groups.google.com/group/clojure/browse_thread/thread/aa22a709501a64ac
> http://clojure.googlegroups.com/web/external_transactions.patch?hl=en&gda=-S5y8U0AAADrLV-d6p24hYFcam_S99IgyJE26GXST0R-7SyR1V01WgTsgF1Et-2mKd4f9I_2PzGxx-qQneGAYu2No43QZpeq5Tb_vjspK02CR95VRrtmeQ&gsc=RG-y6gsAAAB4ToW0PqQMv0ZY_YCRY_xk
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with your 
> first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en



-- 
“One of the main causes of the fall of the Roman Empire was
that–lacking zero–they had no way to indicate successful termination
of their C programs.”
(Robert Firth)

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to