RavenDB gives you the ability to send and transform data from one place to another. Enjoy built-in support for ETL processes to relational databases like Microsoft SQL, Oracle, PostgreSQL, MySQL, and more.
This empowers you in several areas:
It's fantastic for point of sale systems where you can take in data right at the edge point and immediately send it from hundreds of cash registers to a central server. In a moment's notice, you can assess the financial status of your organization.
Translating between the document model and the relational model is no simple matter. RavenDB enables you to "change your data modeling" (normalize your data to fit into a DBMS model) in flight to share between RavenDB and SQL data store.
RavenDB will also make updates to your relational database whenever a document is changed. It's done in an async and resilient manner. Just provide a connection string and specify how you want your data to be transformed during the ETL process.
Moving your data from a Document Model to an RDBMS can be done by simply writing the transformation you want using JavaScript, and let us handle the rest.
The ETL process to an SQL server works fine, but what happens when something goes wrong?
When you define an SQL ETL process for RavenDB, RavenDB assigns it to one of the nodes in the database cluster. If that particular node goes offline, RavenDB will assign the task to another available node. Everything will continue as usual as these changes are transparent to RavenDB clients.
If the destination database goes offline, no worries. RavenDB will simply remember the last successful change that was sent via the ETL process, and once the destination database comes back online everything will get back to normal.
This maximizes availability for your database systems, making your database as resilient to unpredictability inherent in distributed systems as it can be.