Hi,

> MVStore (version 1.3.172)

It is changing quite quickly, I suggest to use the latest version (1.3.173,
or even better, the latest automated build at
http://h2database.com/html/download.html (direct link:
http://www.h2database.com/automated/h2-latest.jar )

> I simply use a Map<String,String> where key and values are equal (since
null values are not permitted)

It would be a bit more efficient to use Map<String, Integer> and use the
key "1". If you use compression, disk space savings wouldn't be that big,
but it should be a little bit faster.

> I really do not care about the versioning capabilities of the MVStore

I probably over-estimated that versioning is very useful. I found it is not
that important for the database engine itself :-) But it is nice to have
it, for example to support concurrent operations (read, write and store). I
will make it more auto-commit and auto-store, so that you don't have to
call commit / store yourself. The TransactionStore already does that, and
it seems to work fine, but it would be better if the MVStore would do it
itself I guess.

> Also I pretty much only add keys (never remove them)

Do you add them in random order, or in somewhat ascending / descending
order? For random order, possibly a "log-structured merge tree" mode would
make sense (I will need to think about that).

> Obviously there is more in the store than just my data :-)

Well, I guess yes. How often do you call commit() and store()? It's
relatively important that they are not called too often. Until auto-commit
is implemented, I suggest to call commit() every 10000 inserts, and store()
never yourself, but rely on auto-store in the background thread (this is
already implemented in the current trunk).

Regards,
Thomas







On Sat, Sep 21, 2013 at 4:31 PM, Igor castang <[email protected]>wrote:

> Hello,
>
> I am testing the use the MVStore tool standalone. (version 1.3.172)
>
> My use case is simple.
>
> I just want to check if a string sequence read from my application has
> already been seen previously.
> I simply use a Map<String,String> where key and values are equal (since
> null values are not permitted). And when a sequence is tested I just test
> for the existence of the key in the Map, and add it if unseen so far.
>
> The number of keys in the map will go to a billion and more.
>
> I really do not care about the versioning capabilities of the MVStore. I
> just want the last version. Also I pretty much only add keys (never remove
> them)
>
> My issue is that the store gets really really big, 100GB+, and I am using
> compression on the store . Obviously there is more in the store than just
> my data :-)
> And if I iterate the values in my map and create a new store the size of
> the new store is dramatically smaller.
>
> Now my question :
>
> - is there a setting or a way to use the versionning methods to keep the
> disk utilization to a lower level ?
>
>
> thanks
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>  --
> You received this message because you are subscribed to the Google Groups
> "H2 Database" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/h2-database.
> For more options, visit https://groups.google.com/groups/opt_out.
>

-- 
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to