2.2 Session Models

This section provides an overview of NodeSession 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 NodeSession 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
NodeSession that connect to a single node, future versions could
extend this to cover multiple nodes. An application using
NodeSession 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.