Updated Directories and Files (markdown)

Chris Lu 2018-08-23 00:33:22 -07:00
parent a5d2833dc2
commit bcb1fa03ed

@ -81,7 +81,15 @@ The Filer Store persists all file metadata and directory information.
| Redis | O(1) | limited | Local or Distributed, Fastest | one directory's sub file names are stored in one key~value entry |
| Cassandra | O(logN)| unlimited | Local or Distributed, Very Fast| |
| MySql | O(logN)| unlimited | Local or Distributed, Fast | Easy to manage, export |
| PostGres | O(logN)| unlimited | Local or Distributed, Fast | Easy to manage, export |
| Postgres | O(logN)| unlimited | Local or Distributed, Fast | Easy to manage, export |
#### Switching between different Stores
It is easy to switch between different filer stores (except memory store).
For example:
```sh
weed filer.export -sourceStore=mysql -targetStroe=cassandra
```
### Extending Storage Options
@ -93,15 +101,17 @@ Clients can assess one "weed filer" via HTTP, list files under a directory, crea
Although one "weed filer" can only sits in one machine, you can start multiple "weed filer" on several machines, each "weed filer" instance running in its own collection, having its own namespace, but sharing the same SeaweedFS storage.
### Filer Scalability
### Filer Linearly Scalable
Filer is designed to be linearly scalable, and only limited by the underlying meta data storage.
### Filer Complexity
Filer has two use cases.
When filer is used directly to upload and download files, in addition to file meta data, the filer also need to process the file content during read and write. So it's a good idea to add multiple filer servers. Having an nginx server in front of the filer servers to load balance the requests would be a good idea.
When filer is used to support "weed mount", the filer only provides file meta data retrieval. The actual file content are read and write directly between "weed mount" and "weed volume" servers. So the filer is limited only by the filer storage capability.
When filer is used directly to upload and download files, and when used together with "weed s3", the filer also need to process the file content during read and write in addition to meta data. So it's a good idea to add multiple filer servers.
When filer is used with "weed mount", the filer only provides file meta data retrieval. The actual file content are read and write directly between "weed mount" and "weed volume" servers. So the filer is not that much loaded.
## Upgrading from previous Filer storage
Upgrading is complicated since the storage format is very different.