Why Use BlueDB?
LOW MEMORY USAGEData is streamed directly from disk allowing operations to be completed with minimal use of memory, which makes it ideal for deployment in the cloud.
|
BUILT TO LASTEven after data has grown very large, querying objects by time will never slow down. Constant-time lookup and ultra-fast deserialization do not deteriorate as the size of the database grows.
|
FULLY EMBEDDEDBlueDB is an embedded solution that is extremely easy to use and deploy. There is no need to waste CPU cycles or memory running a separate service just to access your data.
|
PURE JAVABlueDB is a 100% pure Java solution without any additional installations and will run everywhere Java can run. And with its easy-to-use API, writing queries is just like using the Java stream API.
|
Have a Need for Speed?
Objects persisted with a time index are retrieved using a constant-time algorithm. This allows you to quickly and efficiently query and process data for a given time frame.
BlueDB uses FST for ultra-fast object serialization/deserialization to read stored objects off the disk and into memory as fast as possible. Persisted objects can be loaded from disk and deserialized into Java objects much faster than with other JSON document databases.
BlueDB uses FST for ultra-fast object serialization/deserialization to read stored objects off the disk and into memory as fast as possible. Persisted objects can be loaded from disk and deserialized into Java objects much faster than with other JSON document databases.
- FST Benchmarks show BlueDB deserialization up to:
- 33 times faster than Jackson
- 35 times faster than BOON Json
- 49 times faster than Gson
- 140 times faster than JSON IO
- 10 times faster than Java deserialization
Our Story
It can be frustrating when your database doesn’t quite fit your application’s unique needs. Our first problem was that we needed to write and maintain complex queries in order to process our data, which is primarily indexed by time.
The queries were not as flexible as we liked, and, on top of that, the queries also couldn’t be optimized to be as fast as we wanted because our database size kept growing. Eventually it became easier, faster, and more flexible to pull the raw data out and process it in memory using our own map reduce system. |
Pulling the data out was still somewhat slow, but we were able to freely filter and aggregate the results exactly how we wanted. We weren’t using all the capabilities of our normalized relational database anymore, but it worked for us.
As we began scaling our application in the cloud, we realized that our traditional database was using way too much memory and our hosting costs were too high. What we really needed was a document database specifically optimized for time-based retrieval and low memory utilization. The BlueDB open source project was formed to create the database we needed. |
Who Uses BlueDB?
“We are using BlueDB on our back-end to store a continual stream of glucose and treatment records from all of our users. Reporting on every record from every user used to be painfully slow, but now with BlueDB it's amazingly quick. Using Java to filter data, rather than a query language, takes a bit of getting used to, but once you do it's incredibly refreshing and flexible. BlueDB's tiny footprint allows us to keep our server costs low and provide free storage and services to all of our users.”
Mike Thatcher The Other Pancreas |