# Data Export and Import Operations

> In addition to the backup/restore APIs, eXtremeDB provides a number of methods to save and load a database snapshot as well as to save the database metadata and dictionary. There are also APIs to allow an application to export and import XML formatted data, or to save and load a database class in situations where only the data for a specific class is needed. The C API also allows exporting the entire database, or specific class objects, in JSON format.

> For example a database might contain some data that is somewhat static (e.g. data about some financial instrument or company), and other data that is high velocity (e.g. tick data for an instrument). In this case it could be advantageous to maintain the static data in `persistent` classes and maintain the tick data in `transient` classes. (This is an example of a "hybrid" database, i.e. a database containing both `persistent` and `transient` classes.) If desired, the `transient` class data could be saved on persistent storage and then loaded later.

> And for persistent databases, it is also possible for C applications to save and load the contents of the database cache to optimize application restart performance. (Please view the cache export and import functions page for further details.)

> These operations are specific to the application language. Please use the links below to view detailed explanations and examples for your development environment:

> C | Implementing database export and import in C
> XML | Data export and import using XML in C
> C++ | Implementing database export and import in C++
> xSQL | Implementing database export and import using xSQL
> Java | Implementing database export and import in Java
> Python | Implementing database export and import in Python
> C# | Implementing database export and import in C#