# QueryEngine

# Design ideas

The query engine is responsible for parsing all user commands, generating plans, delivering them to the corresponding executors, and returning result sets.

  • org.apache.iotdb.db.service.TSServiceImpl

    IoTDB server-side RPC implementation, which directly interacts with the client.

  • org.apache.iotdb.db.qp.Planner

    Parse SQL, generate logical plans, optimize logical plans, and generate physical plans.

  • org.apache.iotdb.db.qp.executor.PlanExecutor

    Distribute the physical plan to the corresponding actuators, including the following four specific actuators.

    • MManager: Metadata operations
    • StorageEngine: Data write
    • QueryRouter: Data query
    • LocalFileAuthorizer: Permission operation
  • org.apache.iotdb.db.query.dataset.*

    The batch result set is returned to the client and contains part of the query logic.

# Query process

  • SQL parsing
  • Generate logical plans
  • Generate physical plans
  • Constructing a result set generator
  • Returning result sets in batches

Copyright © 2021 The Apache Software Foundation.
Apache and the Apache feather logo are trademarks of The Apache Software Foundation

Have a question? Connect with us on QQ, WeChat, or Slack. Join the community now.

We use Google Analytics to collect anonymous, aggregated usage information.