未验证 提交 59a96131 编写于 作者: S Sandy Xu 提交者: GitHub

docs: add explanation about S3QL data reliablity (#831)

* docs: add explanation about S3QL data reliablity

* address comments

* update the description
上级 401e0b5d
......@@ -11,12 +11,13 @@ Similar to JuiceFS, [S3QL](https://github.com/s3ql/s3ql) is also an open source
## Different points
- S3QL only supports SQLite. But JuiceFS supports more databases, such as Redis, TiKV, MySQL, PostgreSQL, and SQLite.
- S3QL has no distributed capability and does not support multi-host shared mounting. JuiceFS is a typical distributed file system. When using a network-based database, it supports multi-host distributed mount read and write.
- S3QL has no distributed capability and **does not** support multi-host shared mounting. JuiceFS is a typical distributed file system. When using a network-based database, it supports multi-host distributed mount read and write.
- S3QL commits a data block to S3 when it has not been accessed for more than a few seconds. After a file closed or even fsynced, it is only guranteed to stay in system memory, which may result in data loss if node fails. JuiceFS ensures high data durability, uploading all blocks synchronously when a file is closed.
- S3QL provides data deduplication. Only one copy of the same data is stored, which can reduce the storage usage, but it will also increase the performance overhead of the system. JuiceFS pays more attention to performance, and it is too expensive to perform deduplication on large-scale data, so this function is temporarily not provided.
- S3QL provides remote synchronous backup of metadata. SQLite databases with metadata will be backed up asynchronously to object storage. JuiceFS mainly uses network databases such as Redis and MySQL, and does not directly provide SQLite database synchronization backup function, but JuiceFS supports metadata import and export, as well as various storage backend synchronization functions, users can easily backup metadata to objects Storage, also supports migration between different databases.
| | **S3QL** | **JuiceFS** |
| ------------------------- | :-------------------: | :---------------------------: |
| :------------------------ | :-------------------- | :---------------------------- |
| Metadata engine | SQLite | Redis, MySQL, SQLite, TiKV |
| Storage engine | Object Storage, Local | Object Storage, WebDAV, Local |
| Operating system | Unix-like | Linux, macOS, Windows |
......
......@@ -11,12 +11,13 @@
## 不同点
- S3QL 仅支持 SQLite 一种数据库,而 JuiceFS 除了支持 SQLite 以外还支持 Redis、TiKV、MySQL、PostgreSQL 等数据库。
- S3QL 没有分布式能力,不支持多主机同时挂载。JuiceFS 是典型的分布式文件系统,在使用基于网络的数据库时,支持多主机分布式挂载读写。
- S3QL 没有分布式能力,**不支持**多主机同时挂载。JuiceFS 是典型的分布式文件系统,在使用基于网络的数据库时,支持多主机分布式挂载读写。
- S3QL 在一个数据块几秒内未被访问时将其上传到对象存储。文件被关闭甚者 fsync 后其仍仅保证在系统内存中,节点故障时可能丢失数据。JuiceFS 确保了数据的高可靠性,在文件关闭时会将其同步上传到对象存储。
- S3QL 提供数据去重,相同数据只存储一份,可以降低对象存储的用量,但也会加重系统的性能开销。相比之下,JuiceFS 更注重性能,对大规模数据去重代价过高,暂不提供该功能。
- S3QL 提供了元数据远程同步备份功能,存有元数据的 SQLite 数据库会异步备份到对象存储。JuiceFS 以使用 Redis、MySQL 等网络数据库为主,并未直接提供 SQLite 数据库同步备份功能,但 JuiceFS 支持元数据的导入导出,以及各种存储后端的同步功能,用户可以很容易将元数据备份到对象存储,也支持在不同数据库之间迁移。
| | **S3QL** | **JuiceFS** |
| -------------- | :----------------: | :------------------------: |
| :-------------------- | :----------------- | :------------------------- |
| 元数据引擎 | SQLite | Redis、MySQL、SQLite、TiKV |
| 存储引擎 | 对象存储、本地磁盘 | 对象存储、WebDAV、本地磁盘 |
| 操作系统 | Unix-like | Linux、macOS、Windows |
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册