I use IBM Streaming Analytics as a data analytics tool for a graduate class for business students in my university's college of business. It is used as a tool to teach big data analysis for data in motion. These students have no prior programming experience. The tool offers a visual programming interface that is very intuitive to learn so the user can focus more on business applications. After only one tutorial session, students are able to use the tool in building an application for monitoring the bike distractions in the city of Chicago using DIVVY datasets. It is a part of a class business project for improving business shares and efficiency for DIVVY.
Pros
Intuitive Visual Programming Interface
Integration with other analytics via Watson Studio
Very vibrant user communities for sharing ideas for applications
Cons
Can use more default settings for some of the parameters
Include more tutorials for cross-data analytic services applications
Likelihood to Recommend
Great for end-user computing so that business professionals can try out different ideas firsthand for proof-of-concept experiments. Can be scaled up later by IT professionals. If you want to use other machine learning tools, IBM streaming is well integrated with other analytic services so that you don't have to leave IBM Watson Studio. Personally, I have not stressed testing real big data applications using this tool.
It is being used by more than one department. Able to look at streaming data and enrich information and store information. It helps with the problem of looking at live data and being able to filter and make calls. Like the ability to be able to read from various sources and be able to write to many as well.
Pros
It does really well with running a job, provides flexible ways of increasing parallelism, fusion
It provides a good number of operators and toolkits
It provides being able to use the Streams runtime using Java and Python
Cons
Exception handling needs improvement, not able to catch exceptions and save data or send to a different flow
Would like to see some alerting operators
Would like to see some healthcare HL7 related operators
Likelihood to Recommend
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.
VU
Verified User
Engineer in Information Technology (10,001+ employees)
Streams was considered for SENS IoT platform for analytics of real time data from mobile phones, WiFi access points and devices in Sensitel SENS platform. We used the on premise version and evaluated the cloud version as well.
Pros
Query analysis of real time streaming data
Filter out events based on time windows
Scalability for large scale data, production tested
I am currently working as a Data Analyst for ATG travel group. We are currently moving our database to IBM Cloud. I am using Streaming Analytics to pull the data from the cloud and manipulating the data to answer research questions. Streaming Analytics will also be able to help my company to make dashboards from the data that I will be using.
Pros
User friendly
Works pretty quick
Shows how data are transported
Cons
User interface. Takes time to get used to.
Likelihood to Recommend
IBM Streaming Analytics is great for big data management.
IBM Streaming Analytics is being used to analyze real time data. This is limited to the IT Department in analyses of logs and problem determination, analysis and resolution. Error logs are redirected to a stream of text DISK_ERRx (X, can be 1, 2, 3, or 4). Errors are either temporary or permanent. We are able to address the problem of determining and grouping errors into classes.
Pros
Streaming is able to perform analytics operations and pattern detection in real time on real-time data from multiple systems or sources.
IBM Streams allows for the ability to program and link to IDE for collaboration with other applications
Integration with Business Process Automation
Cons
Cost and platform availability
Integration with cognitive decision making and execution
Improvement in Graphical user interface
Likelihood to Recommend
IBM Streaming Analytics is well suited in cases where you have raw live data, the need to check data and react based on selected or identified metrics in a way to either prevent or take appropriate action in the way you would in a workflow process approver, reviewer scenario. Less appropriate for unrelated, random non patterned data
VU
Verified User
Administrator in Information Technology (51-200 employees)
I used IBM Streams to design a lab at a university used for analyzing streaming data from IoT devices. The students had to implement signal processing algorithms using the IBM Streams API.
Pros
Easy to integrate with other IBM cloud services.
Fairly simple API with essential functions, not overly complicated.
The system seems reliable and has high performance.
Python API available.
Cons
Documentation could be more extensive, with more examples, although overall this is not too bad compared to some of the alternative solutions.
Seems expensive to use in production.
Likelihood to Recommend
Well suited to process data streams, especially if collected via other IBM services such as IBM IoT.
VU
Verified User
Engineer in Research & Development (1001-5000 employees)
I'm using IBM DSx, which is now known as Watson Studio. Honestly speaking, this platform is updating quite often, which make it hard to learn all functions. IBM Streams is one of them and I haven't figured out all possibilities it got. And tutorials are rather hard to find and some tutorials are out of date. I hope there could be more tutorials for different application examples.
Pros
Connection to other functions
Visualized interface
Accessible anywhere via browser
Cons
Lack of supporting material
Frequent update
Likelihood to Recommend
All kinds of IoT projects which require a runtime environment can take advantage of IBM Streams.
IBM Streams allows me to solve problems for my clients that would be difficult, impossible, or too expensive to do with other technologies. Most of the applications areas for which I have been applying it have been real-time in nature with a requirement for low end-to-end latency. Lately, a common use case has been to use Streams to ingest and transform incoming events into a form more suitable for storing for subsequent long-term analysis such as model training. For example, ingesting complex nested JSON documents and transforming and enriching that data into a flattened columnar format to be persisted in Spark, Event Store, Parquet files, etc. With this pattern, Streams is one element in an overall data processing pipeline where multiple technologies are optimally employed to do what they do best. Some of the features provided by the IBM Streams platform are particularly well suited for implementing dynamic microservices than can quickly be developed and deployed to provide valuable agility for evolving problem spaces.
Pros
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.
Cons
Although there is support for developing Streams application in Python and Java as well as a visual programming interface. In order to get the absolute most out of the platform IMO it's still best to develop applications using proprietary SPL (Stream Programming Language). Although SPL is a very effective language for stream processing it does present a barrier to entry that will be avoided with the updated visual development tools which being worked on.
Likelihood to Recommend
Streams is a good fit for situations requiring low end-to-end latency, have complex real-time analytical processing needs on large fast data, or where the reduction of operational costs is important. However, it is very much a data-in-motion technology and not well suited for situations such as some forms of machine learning where the entire historical data set needs to be operated on. Note that it's fairly common to use Streams to perform online scoring using models that were trained offline using other technologies.