This section provides an overview of Session and shows how to connect to MySQL using them. Modern database applications often have to deal with a high number of reads and/or writes per second. This is why it is important to be able to scale the database to deal with increasing load. Even projects that are not initially designed with scaleout in mind may have to grow quickly if they become successful. Therefore it is very important that the database can be scaled at any point in time without having to rewrite the application code.
Using a Session enables you to write code that can be scaled without changing any object. This could be used for transparent High availability (HA), vertical scaleout (database replication) and horizontal scaleout (sharding) for database applications. Although the current version of X DevAPI supports Session that connect to a single node, future versions could extend this to cover multiple nodes. An application using Session is prepared to be scaled: change some connect parameters and be done with code changes.
The following class diagram gives an overview of the most important classes when working with a MySQL document store.