Apache Derby is an embedded relational database management system, originally developed by IBM and called IBM Cloudscape.
N/A
InfluxDB
Score 8.8 out of 10
N/A
The InfluxDB is a time series database from InfluxData headquartered in San Francisco. As an observability solution, it is designed to provide real-time visibility into stacks, sensors and systems. It is available open source, via the Cloud as a DBaaS option, or through an Enterprise subscription.
If you need a SQL-capable database-like solution that is file-based and embeddable in your existing Java Virtual Machine processes, Apache Derby is an open-source, zero cost, robust and performant option. You can use it to store structured relational data but in small files that can be deployed right alongside with your solution, such as storing a set of relational master data or configuration settings inside your binary package that is deployed/installed on servers or client machines.
InfluxDB is very good at storing monitoring metrics (e.g. performance data). InfluxDB is not the right choice if you need to store other data types (like plain text, data relations etc.).
Apache Derby is SMALL. Compared to an enterprise scale system such as MSSQL, it's footprint is very tiny, and it works well as a local database.
The SPEED. I have found that Apache Derby is very fast, given the environment I was developing in.
Based in JAVA (I know that's an obvious thing to say), but Java allows you to write some elegant Object Oriented structures, thus allowing for fast, Agile test cases against the database.
Derby is EASY to implement and can be accessed from a console with little difficulty. Making it appropriate for everything from small embedded systems (i.e. just a bash shell and a little bit of supporting libraries) to massive workstations.
InfluxDB is a near perfect product for time series database engines. The relatively small list of cons are heavily outweighed by it's ability to just work and be a very flexible and powerful database engine. The community and support provided by the corporation are the only areas I have little experience.
We have worked with the InfluxDB support team a few times so far and it has been positive. Issues submitted are worked on promptly and we have good feedback.
SQLite is another open-source zero-cost file-based SQL-capable database solution and is a good alternative to Apache Derby, especially for non-Java-based solutions. We chose Apache Derby as it is Java-based, and so is the solution we embedded it in. However, SQLite has a similar feature set and is widely used in the industry to serve the same purposes for native solutions such as C or C++-based products.
To be honest, I didn't look at alternatives since InfluxDB performs very well if you can oversee the lack of security and HA features. But for all challenges, there is an easy solution which brings you forward (e.g. read load balancing can be achieved by using a common HTTPS load balancer).
Being Open source, the resources spent on the purchase of the product are ZERO.
Contrary to popular belief, open source software CAN provide support, provided that the developers/contributors are willing to answer your emails.
Overall, the ROI was positive: being able to experiment with an open source technology that could perform on par with the corporate products was promising, and gave us much information about how to proceed in the future.