# Adiom

Welcome to [Adiom](https://adiom.io) documentation! Here you'll get an overview of Adiom's data migration tool **dsync** and all the amazing features it offers.&#x20;

Data mobility is becoming increasingly important as organizations today rely on cloud services and hybrid IT environments more than ever. Yet, **the process of data migration is as unpredictable as it poses serious risks**, such as data loss and downtime that can cause disruptions in business operations. The problem gets exponentially worse for multi-TB live production deployments.

Traditionally, database users have a few options available for database migrations:

1\) **Offline export/import** - a no-go for any non-trivial production database due to the time it takes and a long downtime window;

2\) **Vendor tooling** - while free, it's highly limited in functionality and technical support, and caters only to lower 50% percentile of customers;

3\) **Generic SaaS ETL tools** - often slow due to their generic nature, and require manual coordination between initial sync and CDC for live migration if at all possible; their business model is charge per row processed, which makes them overly expensive for large migrations;

4\) **Manual scripting /** **Kafka** - a non-trivial commitment of senior developer resources that usually results in missed timelines and a brittle solution that took too long to build.

At Adiom, we believe a better way is possible. *Our main goal is to reimagine database migration and replication as a fast, repeatable and reliable process that gives you confidence to cut-over.*

{% embed url="<https://www.youtube.com/watch?v=qk2CwSQ7rOU>" %}
100TB live migration from HBase (NoSQL database) to MongoDB API
{% endembed %}

### What is Dsync?&#x20;

[Dsync](https://github.com/adiom-data/dsync/) is data migration and replication tool between databases, primarily focusing on relational and NoSQL databases. But we also support other data stores, like S3 and vector databases. Common use cases include:

* From on-premise MongoDB to MongoDB Atlas or Azure Cosmos DB
* Azure Cosmos DB to MongoDB Atlas
* DynamoDB to MongoDB Atlas or Cosmos DB NoSQL
* Oracle to MongoDB or Document DB
* PostgreSQL to MongoDB or Document DB
* SQL Server to Cosmos DB NoSQL

Given source and destination databases, dsync completes an initial sync transferring all data from the source to the destination database. After the initial sync, it continuously monitors the source database for any changes and updates the destination database accordingly.

Dsync can be used for one-time data migration or for continuous replication. It features real-time replication, resumability, security and embedded data validation checks.

### What makes Dsync special?

1. **Purpose-built for Live Data Migration**: Dsync is specialized for **no-downtime** **database migration and real-time replication** between NoSQL and RDBMS in homogeneous and heterogeneous scenarios. It's designed by and for developers and DevOps teams handling complex production workloads.
2. **Open-source and flexible**: Though we have the Enterprise version, Dsync is fully open-source at its core, offering greater control and flexibility without vendor lock-in. We architected Dsync to be extendable so that we can cater to extremely particular configurations that our customers might have. We support data transformations and data masking.
3. **No external infrastructure**: Dsync only uses compute - it doesn’t require storage, additional cloud infrastructure or services, making it lighter and faster to deploy compared to off-the-shelf or SaaS ETL tools that often carry external dependencies and rely on third-party cloud services for execution.
4. **Performance and Scalability**: Dsync is optimized for **high-performance migrations** with minimal downtime. It can handle large datasets and mission-critical operations 10x-100x faster than most ETL tools, which may struggle with massive data volumes in real-time, low-latency environments.
5. **Security and Compliance**: Dsync fully runs in your VPC. It doesn’t store data or send it to external systems, ensuring tighter control over data security and compliance.&#x20;
6. **Resiliency and Recovery**: Dsync automatically resumes from interruptions at any stage and features data integrity checks, ensuring reliable data consistency, which is critical for enterprises.&#x20;
7. **Ease of use:** Dsync is intuitive to use via CLI or Web Interface with automatic and seamless transition between initial data copy and CDC. The migration or replication process is easily controlled and observable through Dsync interface or OTel metrics.

### Distribution

* [Single-binary Open Source Dsync](https://github.com/adiom-data/dsync/). Best for development and small-to-medium migrations less than few 100 GB. It is distributed under AGPL v3.
* [Enterprise Dsynct.](https://docs.adiom.io/enterprise/scalable-deployment) Best for medium-to-large production use cases, from 100 GB to 100 TB and beyond. Offers horizontal scalability, observability and additional reliability guarantees. Distributed under commercial license with free trial.

We offer support and technical services for both products. Please reach out to us at <sales@adiom.io> for commercial inquiries.

Now that you've learned a bit about what Adiom does...

### Jump right in!

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Quickstart</strong></td><td>Set up dsync</td><td><a href="https://1578314963-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FC1ZH7dsksboQHxNwC4zF%2Fuploads%2FSRVmnu78NCEougxZFwJ5%2FScreen%20Shot%202024-08-23%20at%203.14.45%20PM.png?alt=media&#x26;token=5605252b-affd-43e4-b7c7-48fec5139151">Screen Shot 2024-08-23 at 3.14.45 PM.png</a></td><td></td><td><a href="getting-started/quickstart">quickstart</a></td></tr><tr><td><strong>What is Supported</strong></td><td>Find out which applications are supported</td><td><a href="https://1578314963-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FC1ZH7dsksboQHxNwC4zF%2Fuploads%2FNUb4Rz9M4eXcoff1tcrG%2FScreen%20Shot%202024-08-23%20at%203.15.52%20PM.png?alt=media&#x26;token=7e1e586e-9228-4fde-98b4-ddff10a0a0dd">Screen Shot 2024-08-23 at 3.15.52 PM.png</a></td><td></td><td><a href="getting-started/what-is-supported">what-is-supported</a></td></tr><tr><td><strong>Explore Features</strong></td><td>Learn about dsync's key features</td><td><a href="https://1578314963-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FC1ZH7dsksboQHxNwC4zF%2Fuploads%2FXIwi3iJfgsP4QU9TC3qN%2FScreen%20Shot%202024-08-25%20at%209.12.50%20AM.png?alt=media&#x26;token=eebc97c7-2ce2-4703-832b-cb4aec2e6c69">Screen Shot 2024-08-25 at 9.12.50 AM.png</a></td><td></td><td><a href="basics/features">features</a></td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.adiom.io/readme.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
