Yandex Cloud
Search
Contact UsGet started
  • Blog
  • Pricing
  • Documentation
  • All Services
  • System Status
    • Featured
    • Infrastructure & Network
    • Data Platform
    • Containers
    • Developer tools
    • Serverless
    • Security
    • Monitoring & Resources
    • ML & AI
    • Business tools
  • All Solutions
    • By industry
    • By use case
    • Economics and Pricing
    • Security
    • Technical Support
    • Customer Stories
    • Cloud credits to scale your IT product
    • Gateway to Russia
    • Cloud for Startups
    • Education and Science
    • Yandex Cloud Partner program
  • Blog
  • Pricing
  • Documentation
© 2025 Direct Cursus Technology L.L.C.
Yandex Data Transfer
  • Available transfers
  • Getting started
    • Resource relationships
    • Transfer types and lifecycles
    • What objects can be transferred
    • Regular incremental copy
    • Parallel copy
    • Data transformation
    • Serialization
    • Yandex Data Transfer specifics for sources and targets
    • Delivery guarantees
    • Operations on transfers
    • Networking in Yandex Data Transfer
    • Speed for copying data in Yandex Data Transfer
    • Change data capture
    • What tasks the service is used for
    • Quotas and limits
  • Troubleshooting
  • Access management
  • Terraform reference
  • Monitoring metrics
  • Audit Trails events
  • Public materials
  1. Concepts
  2. Delivery guarantees

Data delivery guarantees

Written by
Yandex Cloud
Updated at January 21, 2025

There are three data delivery strategies:

  • At-most-once: Producer sends a message only once. If the consumer fails to receive the message, it will be irrevocably lost. The rate of data transmission is higher, but its delivery is not guaranteed.
  • At-least-once: Producer keeps sending a message until its receipt is confirmed by the consumer. This strategy provides a full delivery guarantee, but may lead to message duplicates on the consumer side.
  • Exactly-once: Producer keeps sending a message until its receipt is confirmed by the consumer. Once the message is delivered, the consumer handles it in a manner to avoid duplicate messages. This strategy provides a full delivery guarantee with no duplicate messages, but it requires more computing resources and is harder to implement.

For all consumer-producer pairs, Data Transfer supports the At-least-once data delivery strategy. The consumer writes all messages received from the producer to a database and sends a write confirmation to the producer. If, for some reason, the producer fails to receive the write confirmation from the consumer, it will resend the message to it. This may result in duplicate data in the consumer database.

In this case, the Exactly-once strategy is implemented for DMBS-level data if the following two requirements are met:

  • The table being delivered has a primary key.

  • The consumer database deduplicates data by primary key:

    Target Deduplication by primary key
    Apache Kafka® topic: Your own or as part of Managed Service for Apache Kafka®
    ClickHouse® database: Your own or as part of Managed Service for ClickHouse®
    Your own Elasticsearch database
    Greenplum® database: Your own or as part of Managed Service for Greenplum®
    MongoDB database: Your own or as part of Managed Service for MongoDB
    MySQL® database: Your own or as part of Managed Service for MySQL®
    PostgreSQL database: Your own or as part of Managed Service for PostgreSQL
    OpenSearch database: Your own or as part of Managed Service for OpenSearch
    Managed Service for YDB database: as part of Managed Service for YDB.
    Yandex Object Storage bucket
    Yandex Data Streams data stream

Tip

To perform background deduplication in the ClickHouse® consumer database, you can use the ReplacingMergeTree engine that deduplicates data by sort key when merging data chunks. However, this engine does not guarantee that there are no duplicates on the consumer side at each point in time.

ClickHouse® is a registered trademark of ClickHouse, Inc.

Was the article helpful?

Previous
Yandex Data Transfer specifics for sources and targets
Next
Operations on transfers
© 2025 Direct Cursus Technology L.L.C.