Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

In the current VOS implementation, each object consumes 104 bytes (vos_obj_df), which includes object ID, index tree root, incarnation log header, etc. After flattening, most of these information are not necessary anymore: keeping the object ID and BIO address of the flattened buffer are sufficient, these information may consume 48 bytes based on the current estimate. During I/O processing, VOS can check the object index tree and see if the object is stored in flattened or hierarchical format, it has to load the object from DT-blob back to DRAM in the former case.

As shown in the diagram above, hierarchical objects and all the tree indexes remain in MD-blob and DRAM, whereas flattened objects only keeps a small header in DRAM and saves all its keys and values in DT-blob. In this model, each object consumes 48 bytes, VOS requires a few extra bytes to index object and allocator also has its own overhead, so the actual bytes per object can be about 100 bytes. If using the same assumption that a storage server has 800GB for MD-blob, then a server can store up to 8 billion 4K files.

  • No labels