Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Normal mode: The data is visible when the writing is successful.

  2. Batch mode: The data is not visible until server commits.

Related Research

Detailed Design

Principles:

  1. Guarantee once data is accepted, it is eventually imported successfully.

...

  1. What scenario to use it?
    • Currently, we use it in log writing scene

  2. Why not use "begin... insert... commit"
    • From the user's view, the "begin... insert... commit" syntax ensures the atomicity of multi rows. Many use cases do not require such capabilities, and can use insert directly.

    • "begin... insert... commit" requires the user to control the commits, and also associates a transaction and RowSet, commits can not too frequently;auto_batch_load can commit data from multi clients.

    • Data may be lost if users don't commit when "begin... insert... commit"; auto_batch_load pre-write WAL to ensure that the data can be eventually loaded.

  3. The performance impact of too much rpc
    • Many KV systems are used in this way, and rpc has little effect;

    • In our tests, Fe can parse and redirect 20,000 + SQL per second . At the same time, Fe is scalable.

Detailed Design

...

    • .


Scheduling

specific implementation steps and approximate scheduling.