On Wed, Mar 8, 2017 at 2:01 PM, Kent Borg <kentborg at 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 at lists.ceph.com > http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com