new ceph-osd key/value backend

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I've written up a blueprint with a rough sketch of how to take advantage 
of alternative storage interfaces.  I am very happy to see that several f 
them have emerged over the past year or two:

 - fusionio's KVMKV is a key/value interface for their flash products
 - seagate's kinetic is a key/value interface for their new ethernet-based 
drive

Also, leveldb is pretty great for many workloads when run on a 
tranditional disk/fs.

The good news is a lot of the existing work that went into support omap 
looks to be reusable here.  Some new functionality and refactoring is 
needed, though, particularly when it comes to storing object data (the 
file-like bag of bytes portion) as key/value pairs.

The blueprint is here:

  http://wiki.ceph.com/01Planning/02Blueprints/Firefly/osd%3A_new_key%2F%2Fvalue_backend

Haomai Wang has done some prototyping work already to accomplish some of 
this.  I'm suggesting a few changes to his current approach: mainly, using 
DBObjectMap so that we can support clone.

Also, I think we need to go a step further and handle large objects by 
striping data over lots of key/value pairs, as most of the new key/value 
interfaces limit values to 1MB.

One of the big promises of this work is that we should be able to avoid 
the journal completely, which will mean avoiding the double write for more 
efficient backends.  It will also be usable on conventional hardware as 
leveldb will be the reference k/v backend.

If you're interested, pelase read it over, and add any detail or questions 
that should be included in the blueprint and/or discussed during the CDS 
session in a couple weeks!

sage
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux