Google offers Cloud Dataflow, a managed streaming analytics platform for real-time data insights, fraud detection, and other purposes.
N/A
Google Cloud Pub/Sub
Score 8.8 out of 10
N/A
Google offers Cloud Pub/Sub, a managed message oriented middleware supporting many-to-many asynchronous messaging between applications.
N/A
IBM Streams (discontinued)
Score 9.0 out of 10
N/A
A real-time analytics solution that turns fast-moving volumes and varieties into insights. Streams evaluates a broad range of streaming data — unstructured text, video, audio, geospatial and sensor. The product was sunsetted in 2024.
It is best in cases where you have batch as well as streaming data. Also in some cases where you have batch data right now and in future you will get streaming data. In those cases Dataflow is very good. Also in cases where most of your infra is on GCP. It might not be good when you already are on AWS or Azure. And also you want in-depth control over security and management. Then you can directly use Apache beam over Dataflow.
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.
Like the name says, it is good for streaming data and analyzing. It is great to look at tuples at a fast rate, filtering, calling other sources to enrich data, can call APIs, etc. Could do better for ingest use cases, can do better with guaranteed delivery, etc.
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
IBM Streams is well suited for providing wire-speed real-time end-to-end processing with sub-millisecond latency.
Streams is amazingly computationally efficient. In other words, you can typically do much more processing with a given amount of hardware than other technologies. In a recent linear-road benchmark Streams based application was able to provide greater capability than the Hadoop-based implementation using 10x less hardware. So even when latency isn't critical, using Streams might still make sense for reducing operational cost.
Streams comes out of the box with a large and comprehensive set of tested and optimized toolkits. Leveraging these toolkits not only reduces the development time and cost but also helps reduce project risk by eliminating the need for custom code which likely has not seen as much time in test or production.
In addition to the out of the box toolkits, there is an active developer community contributing additional specialized packages.
More templates for Bigquery and App Engine. There is only limited options for templates so the things we use can limit.
I would like native connectors for Excel (XLSX) to reduce the need for custom wrappers in financial pipelines.
Debugging Google Cloud Dataflow using only logs in Cloud Logging can be overwhelming sometimes, and it’s not always obvious which specific element in the flow caused a failure. IT uses a lot of time.
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.
It really saved a lot of time and it's flexibility really can give you infra which is future-proof for most of the use cases may it be streaming or batch data. And with this you can avoid use of resource-heavy big data offerings.
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.
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.
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.
There are well explained tutorials to get the user started. If you are looking for business application ideas, the user community offers a diversity of applications. It is very easy to launch applications on the cloud and can integrate with other analytic tools available on Watson Studio. It takes away the burden of the technology so that users can focus on business innovations.
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.