Figaro Data Store, or DS, covers the basics of data storage. The API is simple and uses direct key or cursor-based access under the hood; this minimizes overhead when adding, removing, and updating XML data. Frequently accessed data is cached in memory. DS edition is very fast; it avoids storing data to disk until it is necessary. It performs no locking or other concurrency control, and it does not provide the ACID features of transactional systems. DS is simple and efficient data storage for non-concurrent applications that favor raw throughput over guaranteed data integrity.
Choose Figaro DS when:
Figaro Concurrent Data Store, or CDS, adds locking and concurrency management services to DS. With the CDS features enabled, Figaro CDS uses locks to manage multiple readers, and a single writer orchestrating their concurrent access to data within the databases. Figaro CDS is simple and efficient data storage for concurrent systems. ACID transactions are not supported in this product edition.
Choose Figaro CDS when:
Figaro Transactional Data Store, or TDS, adds full ACID transaction support to Figaro CDS. Changes to databases or their contents are atomic, consistent, isolated, and durable when using TDS. Transactions can be short lived or long running, lasting days if necessary. Transactions can improve system throughput in concurrent applications by grouping actions into a single commit to disk. Applications that use secondary indices to manage relationships require transactions to keep those relationships consistent. The Figaro TDS transactional system in the Berkeley DB database engine offers a great deal of flexibility to accommodate your desired performance and durability requirements. For example, Figaro TDS supports the ability to trade off durability for speed, or to allow readers to see uncommitted data to reduce locking overhead. Figaro TDS utilizes log files to contain information about transactional data that can be used to recover from application or systems failure.
Choose Figaro TDS when:
Figaro High Availability, or HA, adds support for replicated systems to Figaro TDS. There are two basic reasons to build a replicated highly available system: scale and reliability:
Replicated databases come in some different configurations. The HA layer of the Oracle Berkeley DB database engine can be configured for any of the replicated designs that involve a single writer as a master and multiple replicas allowing for read-only access to data.
Figaro HA supports the entire range of configurations from a simple hot standby with failover setup to a geographically diverse set of tiered replica clusters. Figaro HA makes no assumptions about how the nodes communicate with one another; it will support TCP/IP communications networks.
Figaro HA supports any topology regardless of the number of replicated nodes within it. Upon notification of a failure of the master node, an election algorithm will identify a new master so that processing can continue uninterrupted. Figaro HA can even be used as a completely diskless in memory reliable distributed storage system.
Choose Figaro HA when: