Blueprint: Add LevelDB support to ceph cluster backend store

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

 



Every node of ceph cluster has a backend filesystem such as btrfs,
xfs and ext4 that provides storage for data objects, whose location
are determined by CRUSH algorithm. There should exists an abstract
interface sitting between osd and backend store, allowing different
backend store implementation. Currently, we only have general 
POSIX interface. LevelDB is a fast key-value storage library written at 
Google that provides an ordered mapping from string keys to string 
values. We could implement a LevelDB backend to support base 
operations correspond to POSIX operations.  LevelDB driver enables 
gateway to communicate with LevelDB to store objects on the node 
basis.


LevelDB driver is attractive by the folks who own a special use case 
such as a write-heave system. If we can abstract a general interface, 
we can choose other DBM if you find it more suitable, such as Kyoto 
Cabinet, BDB. Futhermore, we can choose backen store for each OSD
node. So we have different OSD type for special purpose.

Expected Results: Objects can be stored reliably to LevelDB. The IO 
performance and recovery process can be comparable to original 
stores. And for special case, LevelDB driver should have much better 
performance than local filesystem backend driver. The snapshot and
any features you think of are optional.

Best regards,
Wheats



--
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