On Wed, Mar 8, 2017 at 2:01 PM, Kent Borg <kentb...@borg.org> wrote:
> I'm slowly working my way through Ceph's features...
>
> I recently happened upon object maps. (I had heard of LevelDB being in there
> but never saw how to use it: That's because I have been using Python! And
> the Python library is missing lots of features! Grrr.)
>
> How fast are those omap calls?
>
> Which is faster: a single LevelDB query yielding a few bytes vs. a single
> RADOS object read of that many bytes at a specific offset?

In the cached case, they aren't really distinguishable. In the
uncached case...it would vary dramatically. I suppose I'd *guess* omap
is slower in aggregate, but mostly it will be a single random disk
access in addition to the work that's already been done.

> How about iterating through a whole set of values vs. reading a RADOS object
> holding the same amount of data?

"Iterating"?

In general, you should use the format that is appropriate for the data
and usage pattern rather than worrying about performance — they are
optimized for the interfaces we expose! ;)
So, if you want a key-value interface, or are dumping in time-series
data or something, use omap. If you want an object you are accessing
as a bundle of bytes, use the normal object bytestream.
-Greg

>
> Thanks,
>
> -kb, the Kent who is guessing LevelDB will be slower in both cases, because
> he really isn't using the key/value aspect of LevelDB but is still paying
> for it.
>
> _______________________________________________
> ceph-users mailing list
> ceph-users@lists.ceph.com
> http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
_______________________________________________
ceph-users mailing list
ceph-users@lists.ceph.com
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

Reply via email to