Apache Derby is an embedded relational database management system, originally developed by IBM and called IBM Cloudscape.
N/A
MongoDB
Score 8.6 out of 10
N/A
MongoDB is an open source document-oriented database system. It is part of the NoSQL family of database systems. Instead of storing data in tables as is done in a "classical" relational database, MongoDB stores structured data as JSON-like documents with dynamic schemas (MongoDB calls the format BSON), making the integration of data in certain types of applications easier and faster.
$0
per month
Pricing
Apache Derby
MongoDB
Editions & Modules
No answers on this topic
Shared
$0
per month
Serverless
$0.10million reads
million reads
Dedicated
$57
per month
Offerings
Pricing Offerings
Apache Derby
MongoDB
Free Trial
No
Yes
Free/Freemium Version
No
Yes
Premium Consulting/Integration Services
No
No
Entry-level Setup Fee
No setup fee
No setup fee
Additional Details
—
Fully managed, global cloud database on AWS, Azure, and GCP
More Pricing Information
Community Pulse
Apache Derby
MongoDB
Features
Apache Derby
MongoDB
NoSQL Databases
Comparison of NoSQL Databases features of Product A and Product B
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.
MongoDB [is] great at storing JSON data grouped into "collections". In this format, you can store any JSON documents and conveniently categorize them by collections. The JSON document contained in MongoDB is called binary JSON or BSON and, like any other document in this format, is unstructured. Therefore, unlike traditional DBMS, any kind of data can be stored in collections, and this flexibility is combined with the horizontal scalability of the database. It should be noted that MongoDB does not have links between documents and “collections” (this is partially compensated by the Database Reference - links in the DBMS, but this does not completely solve the problem). As a result, a situation arises in which there is a certain set of data that is not related to other information in the database, and there is no way to combine data from different documents. In SQL systems, this would be an elementary task.
Easy to learn. When I picked up MongoDB for the first time, I had little background in database management or modeling. If you have a background in javascript (and JSON)... then you can figure out how to use MongoDB pretty fast.
Fast performance.
It's relatively easy to set up in certain environments because there are lots of ready-made solutions out there.
There's a lot of support in the existing ecosystem for it —, especially in the node.js realm.
Query syntax is pretty simple to grasp and utilize.
Aggregate functions are powerful.
Scaling options.
Documentation is quite good and versioned for each release.
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
MongoDB is one of the most famous non-relational databases in the world, there are famous active projects that use this database. I think that the same company that develops the database gives you the online induction totally free is something that really is very positive. Accounts with a first-class support to be able to relate the correct implementation of the database, in addition to teaching you the best practices to optimize your projects, I believe that with this decision it is more than obvious which is the best decision at the time of seeing with which database to work.
It is one of the reasons why we prefer it to store documents in a JSON-style format, to access the desired document very quickly regardless of its size, to be readable by human eyes, and to be easily scalable and manageable.
I have reached multiple times to the MongoDB community for the help and they have provided each and easy solution for every problem. Over the internet and on stack overflow many people responds over the challenges. Now this tool is very much used in every company and projects so internally many people are there to give a support.
While the setup and configuration of MongoDB is pretty straight forward, having a vendor that performs automatic backups and scales the cluster automatically is very convenient. If you do not have a system administrator or DBA familiar with MongoDB on hand, it's a very good idea to use a 3rd party vendor that specializes in MongoDB hosting. The value is very well worth it over hosting it yourself since the cost is often reasonable among providers.
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.
The environment I work in is somewhat unique in that we use both MySQL and MongoDB. However, each is used for specific purposes that the other is not well suited for. MongoDB is not a relational database like MySQL, so it serves as the perfect place to dump key bits of data for quick retrieval later. This is something we can't easily do with MySQL. On this smaller database, MongoDB also lets us retrieve data more quickly with its fast and efficient querying.
We can make more open and flexible systems due to its easy adaptation to new evolutions in web applications.
In the latest versions it offers support for different transactions and we could carry out real tests related to the concurrency of the application.
MongoDB allows you to have distributed clusters, which improves the speed of the queries by reducing the latency that exists between the database cluster and the service that executes the query.