Apache Derby is an embedded relational database management system, originally developed by IBM and called IBM Cloudscape.
N/A
PostgreSQL
Score 8.3 out of 10
N/A
PostgreSQL (alternately Postgres) is a free and open source object-relational database system boasting over 30 years of active development, reliability, feature robustness, and performance. It supports SQL and is designed to support various workloads flexibly.
Derby is absolutely the best when it comes to needing a small, embeddable RDBMS in your applications. Certain jobs, like Risk Modeling, are perfect for a database that is small enough to fit into memory with no trouble then store data from various sources, and then allow a user to access those data sets quickly.
PostgreSQL is ideal for handling databases that contain large volumes of information due to its efficiency, speed and above all because of the good management it makes of our resources, it also behaves very well in distributed environments of high demand, if you want a database of stable data and excellent performance PostgreSQL is one of the best.
Not as well positioned in the market as the "big dogs" (Oracle, MSSQL)
Been around awhile, and not a lot of exposure. This I believe is primarily due to it's relation to the Apache Project (which is not bad, but they don't force big, lumbering corporate volume licensing on you), and thus people are a bit gun-shy about NOT throwing money at something
Java is still "slow" compared to C/C++, thus making Derby a bit slow too
The performance of PostgreSQL has been enhanced through the years, but always is better to have as much performance as we can.
The replication services could be done directly within the database, and more easily.
The Object Orientation of the Database could be extended, and albeit it manages inheritance of tables, and accepts XML and JSON as primary types, it would be wonderful if one could attach methods more easily to tables (to make them more like classes), and instances (rows for example).
Postgresql is the best tool out there for relational data so I have to give it a high rating when it comes to analytics, data availability and consistency, so on and so forth. SQL is also a relatively consistent language so when it comes to building new tables and loading data in from the OLTP database, there are enough tools where we can perform ETL on a scalable basis.
The data queries are relatively quick for a small to medium sized table. With complex joins, and a wide and deep table however, the performance of the query has room for improvement.
AWS, Heroku, and Digital Ocean all provide Postgres-as-a-service, where you pretty much never need to administrate it yourself but they do it for you. The Postgres community also has developed awesome and reasonably priced extensions, such as Citus DB and CockroachDB in case you need additional support for running it. If you need documentation, Postgres's docs are super thorough and their official forms are active.
The online training is request based. Had there been recorded videos available online for potential users to benefit from, I could have rated it higher. The online documentation however is very helpful. The online documentation PDF is downloadable and allows users to pace their own learning. With examples and code snippets, the documentation is great starting point.
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.
In this case, Postgres is preferred because it handles large data sets and requires fewer hardware resources than its competitor, MySQL. Compared to PostgreSQL, Microsoft products are excellent, but the installation process for MS SQL is lengthy. PostgreSQL has an advantage over its competitors in that it can adapt or configure third-party programs, applications, or settings.
Easy to administer so our DevOps team has only ever used minimal time to setup, tune, and maintain.
Easy to interface with so our Engineering team has only ever used minimal time to query or modify the database. Getting the data is straightforward, what we do with it is the bigger concern.