ClickHouse is designed to handle high ingest throughput with its synchronous data inserts mechanism, but this can lead to issues like the "Too many parts error" when too many small inserts are sent in quick succession. To mitigate this, ClickHouse introduces asynchronous data inserts, which shift the batching of data from the client side to the server side, allowing for more flexibility and scalability in scenarios where client-side batching is not feasible. Asynchronous inserts provide a buffer that collects data from multiple queries before writing it to storage, reducing the need for frequent part creations and minimizing I/O and CPU cycles used for data ingestion. The return behavior of asynchronous inserts can be configured to either wait for the next buffer flush or immediately return an acknowledgment, with different modes offering varying levels of durability and throughput. By using asynchronous inserts, clients can achieve high ingest throughput while minimizing cluster resource utilization, making it a suitable solution for scenarios where data loss is not critical.