Google offers Cloud Pub/Sub, a managed message oriented middleware supporting many-to-many asynchronous messaging between applications.
N/A
Microsoft Access
Score 7.5 out of 10
N/A
Microsoft Access is a database management system from Microsoft that combines the relational Microsoft Jet Database Engine with a graphical user interface and software-development tools.
$139.99
per PC
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.
We considered several messaging platforms including Kafka and Kinesis but both would have required more developer work and didn't integrate as nicely with our ecosystem. RabbitMQ is another messaging platform I've researched and prototyped on; it also would have required more …
Having used Amazon Web Services SNS & SQS I can say that even if the latter may offer more features, Google Cloud Pub/Sub is easier to use. On the other hand, usage of SNS & SQS as well as documentation and troubleshooting is easier with the AWS solution. Since we are not using …
If you want to stream high volumes of data, be it for ETL streaming or event sourcing, Google Cloud Pub/Sub is your go-to tool. It's easy to learn, easy to observe its metrics and scales with ease without additional configuration so if you have more producers of consumers, all you need to do is to deploy on k8s your solutions so that you can perform autoscaling on your pods to adjust to the data volume. The DLQ is also very transparent and easy to configure. Your code will have no logic whatsoever regarding orchestrating pubsub, you just plug and play. However, if you are not in the Google Cloud Pub/Sub environment, you might have trouble or be most likely unable to use it since I think it's a product of Google Cloud.
As a Material Purchasing/Planning/inventory tracking application, Microsoft Access serves its purpose well. It's presentation is clean, data entry is simple and the ability to customize search fields is welcome. It does, however, come with some caveats; namely, when setting search filters and the need arises to back up a step or two, with Microsoft Access you have to reset, or "clear all", adding extra steps/time to a query.
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.
With a pub/sub architecture the consumer is decoupled in time from the publisher i.e. if the consumer goes down, it can replay any events that occurred during its downtime.
It also allows consumer to throttle and batch incoming data providing much needed flexibility while working with multiple types of data sources
A simple and easy to use UI on cloud console for setup and debugging
It enables event-driven architectures and asynchronous parallel processing, while improving performance, reliability and scalability
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.
Microsoft Access has not really changed at all for several years. It might be nice to see some upgrades and changes.
The help info is often not helpful. Need more tutorials for Microsoft Access to show how to do specific things.
Be careful naming objects such as tables, forms, etc. Names that are too long can get cut off in dialog boxes to choose a table, form, report, etc. So, I wish they would have resizable dialog boxes to allow you to see objects with long names.
I wish it could show me objects that are not in use in the database for current queries, tables, reports, forms, and macros. That way unused objects can be deleted without worrying about losing a report or query because you deleted the underlying object.
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.
It serves all of our purposes in the most transparent way I can imagine, after seeing other message queueing providers, I can only attest to its quality.
I and the rest of my team will renew our Microsoft Access in the future because we use and maintain many different applications and databases created using Microsoft Access so we will need to maintain them in the future. Additionally, it is a standard at our place of work so it is at $0 cost to us to use. Another reason for renewing Microsoft Access is that we just don' t have the resources needed to extend into a network of users so we need to remain a single-desktop application at this time.
It is easy to create Google Cloud Pub/Sub topics from both Web Console and CLI commands.
Google Cloud Pub/Sub supports creation of one or more subscriptions.
By supporting a BigQuery Pub/Sub subscription to automatically write to a BigQuery table it simplifies development by avoiding implementation of a custom micro service for writes to BigQuery.
Microsoft Access is easy to use. It is compatible with spreadsheets. It is a very good data management tool. There is scope to save a large amount of data in one place. For using this database, one does not need much training, can be shared among multiple users. This database has to sort and filtering features which seem to be very useful.
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.
They have decent documentation, but you need to pay for support. We weren't able to answer all our questions with the documentation and didn't have time to setup support before we needed it so I can't give it a higher rating but I think it tends to be a bit slow unless you're a GCP enterprise support customer.
While I have never contacted Microsoft directly for product support, for some reason there's a real prejudice against MS Access among most IT support professionals. They are usually discouraging when it comes to using MS Access. Most of this is due to their lack of understanding of MS Access and how it can improve one's productivity. If Microsoft invested more resources towards enhancing and promoting the use of MS Access then maybe things would be different.
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.
Having used Amazon Web Services SNS & SQS I can say that even if the latter may offer more features, Google Cloud Pub/Sub is easier to use. On the other hand, usage of SNS & SQS as well as documentation and troubleshooting is easier with the AWS solution. Since we are not using GCP only for Pub/Sub the choice depends on other variables.
Excel is a fantastic - robust application that can do so much so easily. Its easy to train and understand. However - excel does not provide a reporting function and that is typically where we will suggest a move to [Microsoft] Access. [Microsoft] Access requires a little more knowledge of data manipulation.
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
You can just plug in consumers at will and it will respond, there's no need for further configuration or introducing new concepts. You have a queue, if it's slow, you plug in more consumers to process more messages: simple as that.
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.