Figaro XML Database Overview
Figaro is a high-performance embeddable database engine for Microsoft .NET developers
building mission critical, high-performance XML applications. It runs directly in
the application that uses it, so no separate server is required, and no human administration
is needed. Figaro manages XML documents using XQuery and offers advanced data management
services, including concurrent access, transactions and replication for high availability
and fault tolerance.
Embedded XML Data Management
Figaro offers .NET developers a fast, reliable, scalable and
portable XQuery engine with sophisticated XML content storage in a packaged
that can be embedded inside an application. Berkeley DB XML is equally at home managing
content at nodes within resource- or service-oriented architectures (ROA/SOA), storing
data for an ASP.NET web application, and managing massive volume of genomic or geographic
data requiring complex query analysis.
XML is a widely used format for publishing and exchanging data among systems, in
particular for services and service resources. As the volume of XML data increases,
it has become increasingly critical that applications and services be able to store,
manage, and retrieve XML without the overhead of translating it into other formats.
Figaro allows .NET developers to do just that quickly and easily within their applications,
without resorting to an external storage system or expensive and time consuming
setup and administration. Figaro runs directly inside the application that uses
it, so no separate database server is required. Figaro stores XML documents in XML,
and supports the XQuery standard for querying data.
Enterprise-class Storage
Because it is built on top of the proven and mature Oracle Berkeley DB database
engine, Figaro inherits all the features, performance, reliability and scalability
that Berkeley DB delivers. Figaro can store terabytes of data in a single document
repository. The database can survive power outages, software errors and hardware
failures without losing data. It supports simultaneous access to the document store
by large numbers of users.
Designed for Networked Applications
There are several uses for the Figaro XML database in the .NET Framework technology
stack. RESTful services, Office document management servers and systems, integration
platforms, content management systems, authentication and user role management services
can find several advantages using Figaro as their repository. High-performance networking
devices like switches, routers and gateways use Figaro's embedded database engine
to manage control information and the data that flow through them.
A common requirement of these systems is a fast, local, persistent store for XML
data. Low latency and high throughput are crucial. Figaro eliminates runtime overhead
by operating within the embedding application thereby providing direct memory access,
rather than client/server based access, to XML content. This eliminates the round
trip to and from the server during runtime, and translates into better performance
and scalability.
Flexibility
Figaro is intended for use within an application, for applications that need
to store data locally and run in an unattended fashion. The variety of applications
that use it is broad, ranging from SOA components to network storage products to
financial applications. Figaro gives .NET developers control over virtually every
aspect of the deployed system. It can be configured to meet the needs of the application,
and to operate within the constraints of the environment in which it is deployed.
For example, Figaro the developer to declare a wide variety of indexes on the document
repository. Individual nodes in a document, the presence or absence of edges in
the document graph and the value of named attributes may all be stored in an index
for fast retrieval at query time.
In addition, Figaro allows the developer to decompose a document into smaller units
– sub-trees – for storage. This improves update speeds, since only part of the document
need be rewritten when it changes. In addition, this can improve read performance
for queries that want part of, but not all of, a document.
Embedded XML
Figaro provides systems architects and developers with data management services
that are optimized for XML documents. Its support for XML schema, and for XQuery/XPath
for document manipulation, mean that Figaro drops seamlessly into an XML-based application.
Because Figaro runs directly in the application, it provides superior performance,
and does not require an administrator to keep the system running.