Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

doc: update vision to be more clear #2164

Merged
merged 2 commits into from
Apr 29, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 21 additions & 17 deletions website/docs/vision.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,35 +15,38 @@ OpenDAL must enable users to access various storage services ranging from `s3` t

### Examples

- Add support for [Google Drive](https://www.google.com/drive/): Good, it allows users to access and manage their data on the [Google Drive](https://www.google.com/drive/).
- Add support for [Object Storage Service (OSS)](https://www.alibabacloud.com/product/object-storage-service) via native API: Good, users can utilize Aliyun's RAM support.
- Add support for [supabase storage](https://supabase.com/docs/guides/storage): Good, users can visit `supabase storage` now!
We
- Add support for [Google Drive](https://www.google.com/drive/): It allows users to access and manage their data on the [Google Drive](https://www.google.com/drive/).
- Add support for [Object Storage Service (OSS)](https://www.alibabacloud.com/product/object-storage-service) via native API: Users can utilize Aliyun's RAM support.
- Add support for [supabase storage](https://supabase.com/docs/guides/storage): Users can visit `supabase storage` now!


- Add support for [Google Cloud Storage(GCS)](https://cloud.google.com/storage) via [XML API](https://cloud.google.com/storage/docs/xml-api/overview): Bad, [GCS](https://cloud.google.com/storage) has native [JSON API](https://cloud.google.com/storage/docs/json_api) which more powerful
- Add support for `MySQL/PostgreSQL`: Bad, relational DBMS provides data types such as BLOB, but they are often not used as a storage service.
We don't
- Add support for [Google Cloud Storage(GCS)](https://cloud.google.com/storage) via [XML API](https://cloud.google.com/storage/docs/xml-api/overview): [GCS](https://cloud.google.com/storage) has native [JSON API](https://cloud.google.com/storage/docs/json_api) which more powerful
- Add support for `MySQL/PostgreSQL`: Relational DBMS provides data types such as BLOB, but they are often not used as a storage service.

## 2. Free from implementations

OpenDAL needs to separate the various implementation details of services and enables users to write identical logic for different services.

### Examples

- Add a new capability to indicate whether `presign` is supported: Good, users can now write logic based on the `can_presign` option.
- Add a `default_storage_class` configuration for the S3 service: Good, configuration is specific to the S3 service.
- Add an option for `content_type` in the `write` operation: Good, it aligns with HTTP standards.

We
- Add a new capability to indicate whether `presign` is supported: Users can now write logic based on the `can_presign` option.
- Add a `default_storage_class` configuration for the S3 service: Configuration is specific to the S3 service.
- Add an option for `content_type` in the `write` operation: It aligns with HTTP standards.

- Add a new option in read for `storage_class`: Bad, as different services could have varying values for this parameter.
We don't
- Add a new option in read for `storage_class`: As different services could have varying values for this parameter.

## 3. Free to integrate

OpenDAL needs to be integrated with different systems.

### Examples

- Add python binding: Good, users from `python` can use OpenDAL.
- Add object_store integration: Good, users of `object_store` can adopt OpenDAL.
We
- Add python binding: users from `python` can use OpenDAL.
- Add object_store integration: users of `object_store` can adopt OpenDAL.

## 4. Free to zero cost

Expand All @@ -54,8 +57,9 @@ OpenDAL needs to implement features in zero cost way which means:

### Examples

- Add `layer` support: Good, users can add logging/metrics/tracing in zero cost way.
- Implement `seek` for Reader: Good, users can't write better `seek` support, they all need to pay the same cost.

We
- Add `layer` support: Users can add logging/metrics/tracing in zero cost way.
- Implement `seek` for Reader: Users can't write better `seek` support, they all need to pay the same cost.

- Add `Arc` for metadata: Bad, users may only need to use metadata once and never clone it. For those who do want this feature, they can add `Arc` themselves.
We don't
- Add `Arc` for metadata: Users may only need to use metadata once and never clone it. For those who do want this feature, they can add `Arc` themselves.