Zorba’s architecture employs a modular design. Specifically, one major design goal and differentiator between other existing XQuery processors is the ability to run Zorba on top of various XML stores.

In order to allow for pluggable XML stores, Zorba defines an interface which is called the Store API. The goal of this API is to specify in C++ interfaces for (1) creating, accessing, and updating instances of the XQuery 1.0 and XPath 2.0 Data Model and (2) managing XML documents and collections.

Out of the box Zorba ships with a main memory store, i.e. an implementation of the Store API where all data is held in main memory only. Providing other XML stores is a currently ongoing effort. Hence, in the current beta version of Zorba, the Store API is not stable. In future Zorba releases the Store API might be subject to change. However, we are working on stabilizing the API with the next release.