The Citrusleaf Database attacks one of the most common problems in Web-scale application development and deployment: providing reliable, fast, affordable access to your information. Citrusleaf provides extremely fast performance on transactional data used by Web-scale applications. It implements a self-organizing clustering system using distributed systems technology that provides high levels of availability and linear scalability. The key attributes of Citrusleaf are:
Citrusleaf exposes data-oriented concepts that are simple, easy to use, and schema-free:
The Citrusleaf library exposes the above concepts to your application software natively. So instead of using intricate, inflexible structured queries, your developers can use the same software paradigms they're used to.
Software developers will find a handful of simple calls that are easy to integrate with existing design patterns. Client libraries for C/C++, Java, and Python are provided, as is a REST API and direct access to the TCP wire protocol. Application development can focus on delivering features, not worrying about the fragility of the database.
Product executives will find that the impossibility of schema changes no longer obstruct delivering new features. Seemingly simple things -- like working with inherently transient data or very large data sets -- that trip up classical databases are as easy as they should be, in Citrusleaf. Rather than fighting index optimization and the intricacies of a query language, Citrusleaf just works and is always available.
Citrusleaf is not intended to replace classic relational database systems. It is intended to outperform them by an order of magnitude in the environments where you need that performance most: the transient, high-frequency data that drives your the front end of your business (e.g., session management). Citrusleaf is optimized to work with the latest in storage and database technology to squeeze as much transaction throughput as possible while still guaranteeing adequate consistency to make application development easy.
Operations staff will be refreshed to find a clustering product that doesn't require extensive configuration, tuning, and hand-holding. A Citrusleaf cluster is almost entirely self-managing, even under heavy load. Scaling up is a straightforward process that doesn't require downtime; node failures are a non-event.
Internally, Citrusleaf replicates your data across multiple servers. When a node is added or removed, the data is automatically redistributed to ensure maximum performance and availability. The traditional distributed system complexities are handled for you: connecting to any node brings awareness of the entire cluster, and an internal query distribution system ensures non-stop data access, even when nodes fail or during the heaviest of loads. System performance scales linearly with increased hardware. Citrusleaf runs on Linux on commodity hardware: no expensive storage area network is required.
Furthermore, Citrusleaf allows you to ride the cost curve of newly available storage technology like Flash, SSDs, etc. Furthermore, the various technologies used by Citrusleaf bring about several economic advantages:
Why deploy several times as many servers, paying that much more in licensing fees or staff?
Why use design patterns that are doomed to slow your development cycle to a crawl as schema and SQL optimization issues that put every new feature in conflict with every other?
Why use a highly complex environment, with all the operational cost that entails?
In stark contrast with alternative architectural choices, Citrusleaf abstracts out all the complexity, exposing operational control and data access through simple, powerful APIs, and provides service economies that are 30 times superior than conventional methods.