Frequently-asked questions (FAQ)
What is Baratine?
Baratine is a new distributed in-memory Java service platform for building a new breed of ultra high performance web services. Baratine's non-blocking, actor-model architecture offers consistent low-latency performance that realizes the full potential of your hardware.
Baratine empowers you to operate in-memory reliably and intelligently with its distributed, persistent, NoSQL key-value store. Baratine's built-in journaling gives you secure and transactional in-memory operation. If and when you need to, Baratine scales out with unprecedented finesse by automatically sharding your data and services across the entire cluster.
What does in-memory mean?
First, Baratine's model sequences service method calls to allow your services to operate in a single-threaded manner. You do not need synchronization code at all. This allows you to use a HashMap instead of a ConcurrentHashMap, a primitive long instead of an AtomicLong, and so on; your data is always consistent. It is blazing fast because you are using simple in-memory data structures.
Second, Baratine is more than just about fitting all your data in memory; it's about keeping your data close to you at the point where it's needed - no more wasteful shuffling of data around. Baratine's model gives each of your services ownership of its own in-memory data, persistent store, and journal. This is what we call operational data. Even if your dataset is larger than main memory, you'll still take advantage of all of Baratine's benefits including unfettered and consistent low-latency performance.
How is my data safe?
Baratine comes with a built-in asynchronous key-value store. You can use it as a crash recovery for your data in memory. Or you can use it as primary storage while keeping a cache in memory. The primary storage can even be your traditional database. No matter how you choose to use Baratine, journaling keeps your data safe and makes sure you don't lose anything.
How does Baratine incorporate the Disruptor?
Baratine is inspired by the Disruptor but does not use it. Baratine has its own implementation of the Disruptor ring buffer based on the same principles. Baratine serializes incoming service message calls onto the ring buffer, journals them for transactional reliability, then invokes the calls in order against the Java service.
Does Baratine use any open-sourced or commercial software products?
No. Baratine has its own implementation of the Disruptor to sequence method calls. Baratine has its own distributed file system, called BFS. Baratine has its own ZooKeeper-like implementation, called Bartender, to coordinate distributed processing.
Who is behind Baratine?
Baratine is developed and supported by Caucho, who has been making lightweight, open-sourced, high-performance software including Resin®, Quercus®, and Hessian since 1998.
What is the license for Baratine?
Baratine uses the GPL v3.
Where is the source for Baratine?
The source for Baratine is available on GitHub.
Are there support and services?
Yes. Please contact Support and Services at Caucho: (858) 456-0300.