You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by GitBox <gi...@apache.org> on 2022/04/01 09:38:46 UTC

[GitHub] [incubator-doris] qidaye opened a new issue #8807: [Feature] Support S3 reource

qidaye opened a new issue #8807:
URL: https://github.com/apache/incubator-doris/issues/8807


   ### Search before asking
   
   - [X] I had searched in the [issues](https://github.com/apache/incubator-doris/issues?q=is%3Aissue) and found no similar issues.
   
   
   ### Description
   
   ## Background
   
   To support the separation of hot and cold data, you need to specify the connection information of remote storage S3, such as ak, sk, url, etc., when creating an OLAP table. 
   This information can be reused, and a Doris cluster may also be connected to multiple S3s, so these connection information needs to be managed as a remote storage resource. It is convenient for users to use, and does not need to be provided every time a table is created, only the resource name is required. 
   At the same time, when the remote storage connection information changes, there is no need to rebuild the table, just update the corresponding resource.
   
   ## Design
   
   Currently, Doris supports the creation of Spark and MySQL resources, and the corresponding syntax can be reused. Based on the existing Resource abstraction, Resource manager resource meta-information management class,
   
   1. Add s3 type to ResourceType
   2. Create a new S3Resource class, inherit the Resource class, and implement the corresponding interface
   3. Support the verification, reading and persistence of s3 resource information
   
   ### Specific syntax
   
   ```sql
   -- create remote storage resource
   create resource "remote_s3"
   properties
   (
      "type" = "s3",
      "s3_endpoint" = "bj",
      "s3_region" = "bj",
      "s3_root_path" = "/path/to/root",
      "s3_access_key" = "bbb",
      "s3_secret_key" = "aaaa",
      "s3_max_connections" = "50",
      "s3_request_timeout_ms" = "3000",
      "s3_connection_timeout_ms" = "1000"
   );
   
   
   -- create table using remote storage resource
   CREATE TABLE example_db.table_remote
       (
       k1 DATE,
       k2 INT,
       k3 SMALLINT,
       k4 VARCHAR(2048),
       k5 DATETIME
       )
       ENGINE=olap
       PROPERTIES
       (
       "storage_medium" = "HDD",
       "storage_cold_medium" = "S3",
       "remote_storage_resource" = "remote_s3",
       "storage_cooldown_time" = "2022-06-04 00:00:00"
       );
   
   ### Use case
   
   _No response_
   
   ### Related issues
   
   _No response_
   
   ### Are you willing to submit PR?
   
   - [X] Yes I am willing to submit a PR!
   
   ### Code of Conduct
   
   - [X] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org