RADOS as a simple object storage

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

 



	Hello, world!\n

I have been using CEPH RBD for a year or so as a virtual machine storage
backend, and I am thinking about moving our another subsystem to CEPH:

The subsystem in question is a simple replicated object storage,
currently implemented by a custom C code by yours truly. My question
is whether implementing such a thing on top of a CEPH RADOS pool and librados
is feasible, and what layout and optimizations would you suggest.

Our object storage indexes object with a numeric ID. The access methods
involve creating, reading and deleting objects. Objects are never modified
in place, they are instead deleted and an object with a new ID is created.
We also keep a hash of an object contents and use it to prevent bit rot
- the objects are scrubbed periodically, and if a checksum mismatch is
discovered, the object is restored from another replica.

Here is some statistics from our biggest instance of the object storage:

objects stored: 100_000_000
< 1024 bytes:    10_000_000
1k-64k bytes:    80_000_000
64k-4M bytes:    10_000_000
4M-256M bytes:    1_000_000
> 256M bytes:        10_000
biggest object:   15 GBytes

Would it be feasible to put 100M to 1G objects as a native RADOS objects
into a single pool? Or should I consider their read-only nature and pack them
to bigger object/pack with metadata stored in a tmap object, and repack
those packed objects periodically as older object get deleted?

I have also considered rados-gw, but it looks like a too big hammer
for my nail :-)

Thanks for your suggestions,

-Yenya

-- 
| Jan "Yenya" Kasprzak <kas at {fi.muni.cz - work | yenya.net - private}> |
| http://www.fi.muni.cz/~kas/                         GPG: 4096R/A45477D5 |
Assuming that OpenSSL is written as carefully as Wietse's own code,
every 1000 lines introduce one additional bug into Postfix."   --TLS_README


[Index of Archives]     [Information on CEPH]     [Linux Filesystem Development]     [Ceph Development]     [Ceph Large]     [Ceph Dev]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [xfs]


  Powered by Linux