diff --git a/Filer-as-a-Key-Large-Value-Store.md b/Filer-as-a-Key-Large-Value-Store.md index 5bd553e..641cdb1 100644 --- a/Filer-as-a-Key-Large-Value-Store.md +++ b/Filer-as-a-Key-Large-Value-Store.md @@ -1,6 +1,10 @@ # Key-Large-Value Store -Usually key-value stores are limited by the storage capacity. With SeaweedFS, you can get a key value store with almost unlimited size, while still the same speed for small values and reasonable speed for larger values. +Usually key-value stores are limited by the storage capacity. As the data size grows, KV stores usually get slower due to more IO cost. For example, Cassandra needs to compact its log-structured-merge tree periodically, when all key and value data are sorted, merged, and persisted to disk multiple times. The larger data size can only slow down the operations. + +Instead, we can move the large value data outside of KV stores, and only store the reference in KV stores. + +With SeaweedFS, the value can be stored as a chunk on volume servers and can be referenced by chunk id, which is a small string. So you can get a key value store with almost unlimited size, while still have the same access speed for small values and reasonable speed for larger values. ## How to do it?