Apache Derby vs. RabbitMQ

Overview
ProductRatingMost Used ByProduct SummaryStarting Price
Apache Derby
Score 7.0 out of 10
N/A
Apache Derby is an embedded relational database management system, originally developed by IBM and called IBM Cloudscape.N/A
RabbitMQ
Score 9.0 out of 10
N/A
RabbitMQ, an open source message broker, is part of Pivotal Software, a VMware company acquired in 2019, and supports message queue, multiple messaging protocols, and more. RabbitMQ is available open source, however VMware also offers a range of commercial services for RabbitMQ; these are available as part of the Pivotal App Suite.N/A
Pricing
Apache DerbyRabbitMQ
Editions & Modules
No answers on this topic
No answers on this topic
Offerings
Pricing Offerings
Apache DerbyRabbitMQ
Free Trial
NoNo
Free/Freemium Version
NoNo
Premium Consulting/Integration Services
NoNo
Entry-level Setup FeeNo setup feeNo setup fee
Additional Details
More Pricing Information
Community Pulse
Apache DerbyRabbitMQ
Best Alternatives
Apache DerbyRabbitMQ
Small Businesses
SQLite
SQLite
Score 8.0 out of 10

No answers on this topic

Medium-sized Companies
SQLite
SQLite
Score 8.0 out of 10
Apache Kafka
Apache Kafka
Score 8.6 out of 10
Enterprises
SQLite
SQLite
Score 8.0 out of 10
Apache Kafka
Apache Kafka
Score 8.6 out of 10
All AlternativesView all alternativesView all alternatives
User Ratings
Apache DerbyRabbitMQ
Likelihood to Recommend
7.0
(3 ratings)
9.9
(11 ratings)
Usability
-
(0 ratings)
8.0
(1 ratings)
Support Rating
-
(0 ratings)
6.5
(4 ratings)
User Testimonials
Apache DerbyRabbitMQ
Likelihood to Recommend
Apache
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.
Read full review
Open Source
It is highly recommended that if you have microservices architecture and if you want to solve 2 phase commit issue, you should use RabbitMQ for communication between microservices. It is a quick and reliable mode of communication between microservices. It is also helpful if you want to implement a job and worker mechanism. You can push the jobs into RabbitMQ and that will be sent to the consumer. It is highly reliable so you won't miss any jobs and you can also implement a retry of jobs with the dead letter queue feature. It will be also helpful in time-consuming API. You can put time-consuming items into a queue so they will be processed later and your API will be quick.
Read full review
Pros
Apache
  • 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.
Read full review
Open Source
  • What RabbitMQ does well is what it's advertised to do. It is good at providing lots of high volume, high availability queue. We've seen it handle upwards of 10 million messages in its queues, spread out over 200 queues before its publish/consume rates dipped. So yeah, it can definitely handle a lot of messages and a lot of queues. Depending on the size of the machine RabbitMQ is running on, I'm sure it can handle more.
  • Decent number of plugins! Want a plugin that gives you an interface to view all the queues and see their publish/consume rates? Yes, there's one for that. Want a plugin to "shovel" messages from one queue to another in an emergency? Check. Want a plugin that does extra logging for all the messages received? Got you covered!
  • Lots of configuration possibilities. We've tuned over 100 settings over the past year to get the performance and reliability just right. This could be a downside though--it's pretty confusing and some settings were hard to understand.
Read full review
Cons
Apache
  • It may not scale as well as some more mature database products.
  • Used it primarily from the command line with openjpa and jdbc, and from third-party clients such as Squirrel.
  • May benefit by providing more sophisticated tools to optimize query performance.
Read full review
Open Source
  • It breaks communication if we don't acknowledge early. In some cases our work items are time consuming that will take a time and in that scenario we are getting errors that RabbitMQ broke the channel. It will be good if RabbitMQ provides two acknowledgements, one is for that it has been received at client side and second ack is client is completed the processing part.
Read full review
Usability
Apache
No answers on this topic
Open Source
RabbitMQ is very easy to configure for all supported languages (Python, Java, etc.). I have personally used it on Raspberry Pi devices via a Flask Python API as well as in Java applications. I was able to learn it quickly and now have full mastery of it. I highly recommend it for any IoT project.
Read full review
Support Rating
Apache
No answers on this topic
Open Source
I gave it a 10 but we do not have a support contract with any company for RabbitMQ so there is no official support in that regard. However, there is a community and questions asked on StackOverflow or any other major question and answer site will usually get a response.
Read full review
Alternatives Considered
Apache
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.
Read full review
Open Source
RabbitMQ has a few advantages over Azure Service Bus 1) RMQ handles substantially larger files - ASB tops out at 100MB, we use RabbitMQfor files over 200MB 2) RabbitMQ can be easily setup on prem - Azure Service Bus is cloud only 3) RabbitMQ exchanges are easier to configure over ASB subscriptions ASB has a few advantages too 1) Cloud based - just a few mouse clicks and you're up and running
Read full review
Return on Investment
Apache
  • 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.
Read full review
Open Source
  • Positive: we don't need to keep way too many backend machines around to deal with bursts because RabbitMQ can absorb and buffer bursts long enough to let an understaffed set of backend services to catch up on processing. Hard to put a number to it but we probably save $5k a month having fewer machines around.
  • Negative: we've got many angry customers due to queues suddenly disappearing and dropping our messages when we try to publish to them afterward. Ideally, RabbitMQ should warn the user when queues expire due to inactivity but it doesn't, and due to our own bugs we've lost a lot of customer data as a result.
  • Positive: makes decoupling the web and API services from the deeper backend services easier by providing queues as an interface. This allowed us to split up our teams and have them develop independently of each other, speeding up software development.
Read full review
ScreenShots