Payments are experiencing issues due to temporary restrictions in Russia. If your payment does not go through, please submit a support request.Our support team is available 24/7 — we are always here to help with hosting and server issues.We are now accepting requests for dedicated server rental and colocation services in our data center.Reminder: we recommend enabling backups for additional data protection.A new VPS/VDS lineup with NVMe storage and improved performance is now available.Maintenance work on some servers has been completed. All services are operating normally.
Article3 min read

Let's Encrypt Moves Analytics to ClickHouse: When Reports Hinder Site Performance

The certificate service separated analytics from production load. Using this case, I explain how to determine when an online store's reports require dedicated infrastructure.

Two server modules with separate threads of glowing particles
In this article

On September 17, 2026, Let's Encrypt described migrating its analytics to ClickHouse. The service needed to process a massive stream of events, but queries against the production database competed with the main workload. A separate storage system simplified analysis and data retrieval during incident investigations.

This is a story of large-scale infrastructure, but a similar situation arises in online stores: customers place orders while an employee runs a heavy two-year data export. The database that drives sales simultaneously tries to function as an analytical system.

How to Detect Task Conflicts

Suspicion arises when the site slows down at the same time: after running a report, exporting orders, or updating the management dashboard. Verification requires cross-referencing logs and metrics. The vague phrase 'probably not enough server capacity' is insufficient for resolving the issue.

Ask your developer to correlate query duration, disk and CPU load, database locks, and order completion times. Identifying the specific culprit is crucial. Sometimes a single query lacking a proper index causes the issue, making a full migration of analytics an expensive workaround.

From a Simple Fix to a Separate System

The first step is to eliminate unnecessary work. A revenue report does not always require full product descriptions or all manager comments. Limiting the time period, selecting only the necessary fields, and using pre-aggregated results often reduce the load without requiring new infrastructure.

The next option is to schedule calculations and save the results. If management only needs yesterday's data, there is no need to recalculate years of history every time a page is opened. However, customers cannot be shown yesterday's stock levels: these tasks have different requirements.

A separate analytical storage should be considered when queries regularly scan large volumes, the number of reports grows, and the operational database is already optimized. ClickHouse is one option for this class of tasks. The fact that a well-known project uses it does not replace a calculation tailored to a specific store.

The Most Difficult Part: Ensuring Consistent Meaning of Numbers

During migration, it is crucial to agree on what constitutes a sale: order creation, payment, or shipment. How should partial returns be handled? To which day should a payment made after midnight be attributed? Without these rules, a fast report can confidently display incorrect revenue figures.

Separately verify event reprocessing. If a payment notification arrives twice, the total amount must not double. If an order is corrected retroactively, the change must be reflected in the calculation. I would include such cases in acceptance testing before prioritizing pretty charts.

Questions to ask about costs

In addition to the server for the new database, you will incur costs for data transfer, backup, monitoring, and support. You need to know who will detect an interruption in data exchange and where the user can see the timestamp of the last report update.

Start with one genuinely heavy report. Compare it with the accounting system, measure its impact on the website, and test recovery after a failure. Only then migrate the remaining reports; this way, analytics development does not turn into a large project with uncertain benefits.

Discussion0

Share your experience and ask questions. Comments without links appear after editorial review.

No comments yet. Start the discussion.