HonestManXin opened a new issue, #57884:
URL: https://github.com/apache/doris/issues/57884

   ### Search before asking
   
   - [x] I had searched in the 
[issues](https://github.com/apache/doris/issues?q=is%3Aissue) and found no 
similar issues.
   
   
   ### Description
   
   Similar to other catalogs, we implements ExternalCatalog, ExternalDatabase, 
and ExternalTable. In the implementation of ExternalTable, it will pull 
OLAPTable from the peer Fe and generate an ExternalOLAPTable (a subclass of 
OLAPTable) on the local Fe. 
   when generating query plan, once it is determined to be an External Doris 
table, just like generating an OlapScanNode for an inner table, all subsequent 
processes will be the same as those for the original OlapScanNode (only the 
judgment regarding Colocate must be forced to be for inner tables, we can dig 
more to see if can do colocate when two table in same catalog). 
   In the generation of distributed execution plans (Fe Coordinator), instead 
of generating a map from backendId->Address for some logical processing in the 
handling of Backends, it is now processed in the manner of 
catalogId->backendId->Address, mainly to accommodate the case where backendIds 
in different clusters may be the same. 
   Through the above solution, it is basically equivalent to treating the BE of 
the external cluster as if it were the BE of this cluster. The query 
performance is comparable to that of internal tables, and subsequent 
optimizations related to execution plans basically do not require additional 
adaptation. Currently existing optimizations such as topn & runtime filters can 
all be utilized.
   
   ### Use case
   
   _No response_
   
   ### Related issues
   
   _No response_
   
   ### Are you willing to submit PR?
   
   - [ ] 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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to