The Internet of Things (IoT) refers to networks of connected devices across industries and use cases, such as renewable energy, manufacturing, mass transit, and more. Every second, these devices generate data to be ingested, processed, and analyzed at speed to provide valuable insights.
Most IoT environments ingest device data through a streaming platform, after which it is rapidly cleaned of noise and prepared for analytics. Typically, an IoT application will use real-time analytics solutions that can execute aggregations on large volumes of fast-moving data. Finally, the end results are either visualized for the end user or exported via API to another application for action.
While there are many sectors that utilize IoT technologies, most measure similar types of data. Events capture specific incidents when they occur, and are timestamped to facilitate processing and analysis. Metrics are measurements of specific performance indicators, such as temperatures, angles, or humidity levels. Dimensions are use-case attributes, such as product categories, user locations, and time periods, that are used to filter, organize, and analyze data.
Read on to learn more about how data powers IoT devices, improves IoT processes, and provides unparalleled visibility into the minutiae of IoT operations.
What are some common challenges for analyzing IoT data?
Because the Internet of Things is rooted in both the physical and digital worlds, it presents some unique difficulties for applications and analysis.
Data security and privacy are one concern. Privacy regulations such as the European Union’s General Data Protection Regulation or the California Consumer Privacy Act carry significant penalties for violations. And because IoT devices are tied to physical hardware such as traffic lights or train control systems, any hacks could have devastating effects on safety.
For this reason, some IoT companies may be reluctant to move to fully cloud-based infrastructures, which they may perceive as more vulnerable to hackers. In fact, many IoT organizations still use either fully on-premises or hybrid environments, utilizing in-house data servers for some needs and moving the rest onto private or public clouds.
Data can also be diverse, which can be difficult to process and analyze. Due to incomplete updates, different devices may operate on different firmwares and transmit different data formats. Any database has to accommodate a wide variety of data types, such as JSON, CSV, Parquet files, and more, ideally identifying schema on ingestion and updating its fields and data model automatically, to save developers work.
IoT devices, especially in Industrial IoT (IIoT), also operate in less-than-ideal conditions, with limited connectivity, high temperatures, geographical features that inhibit communication, and more. Edge computing, where organizations decentralize processing and other tasks to closer to the source of the data, is one workaround. However, edge devices are lightweight for ease of installation and maintenance, and may have access to limited bandwidth, which poses difficulties for use cases such as train control or oil well monitoring.
Lastly, IoT applications require unique skillsets that could include a variety of disciplines, such as data science, cybersecurity, and fields pertaining to physical hardware, such as industrial, structural, and electrical engineering.
How do IoT analytics work?
The first step of any IoT pipeline is data collection. A device will detect changes in their environment and create a piece of data, which may or may not be timestamped. From there, the data is transmitted to the IoT application via connection methods such as fiber optic cables, radio technologies like ultra-wideband (UWB) or very-high frequency (VHF) transmitters, or Bluetooth.
Because IoT is so time sensitive, most architectures utilize streaming services such as Apache Kafka or Amazon Kinesis to quickly ingest high volumes of data. In fact, streaming remains the best way to collect data in real time, ensuring a continuous flow of metrics, events, dimensions, and more into an application.
Afterwards, IoT data will be run through a stream processor. Depending on the specific needs of the organization or team, this data could be aggregated, summarizing data and rolling it up to facilitate other operations; enriched with important metadata like geolocation or sensor firmware version; transformed into a format more suitable for analytics solutions; and more.
IoT data will then be stored, ideally in a real-time database optimized for scale of data, speed of insights, and streaming data intake. These databases often occupy a middle ground between traditional analytics and transactional databases, accommodating massive user bases and query rates, supporting complex aggregations on lots of data, and returning results rapidly.
To complete the IoT value chain, the results of queries and operations will be visualized in dashboards or sent to other, downstream applications via an API or messaging service. This enables end users to understand data and extract actionable insights, as well as to interact with it, exploring this data flexibly and further investigating any hypotheses they may have.
What are common types of IoT analytics?
There are three broad categories:
Descriptive analytics
Because it is not a real-time use case, descriptive analytics is not time sensitive and instead relies on historical data obtained from batch processing. Typically, descriptive analytics is used to analyze time series data, isolate trends, plot out indicators over time (such as performance or revenue), and provide detailed, long-term reports.
One example is a smart office building. Based on data for a year’s worth of building operations, analysts can better predict times of high and low demand, fine tune temperature thresholds for heating and cooling, and assess the effectiveness of energy efficiency measures.
Predictive analytics
The goal of predictive analytics is to utilize historical and real-time data to identify patterns, extrapolate conclusions, and thus forecast the future. Predictive analytics may employ machine learning to build models, or it may rely on statistical methods such as regression analysis, classification, and clustering.
One example of predictive analytics concerns heavy equipment. In areas where equipment is hard to access (or maybe even hidden from view), such as oil drilling or geothermal energy, predictive analytics can use sensor data to anticipate equipment failure and fine tune maintenance procedures so that hardware such as drill bits or pipes can last longer.
Prescriptive analytics
Prescriptive, or diagnostic analytics, concerns real-time responses to rapidly changing situations. As with predictive analytics, prescriptive analytics uses both statistical models and algorithms to analyze data and brainstorm possible solutions to complicated, urgent issues.
One example is airplane navigation. Although modern aircraft are generally designed with large safety margins and multiple redundant features, air crew may still wish to exercise caution in scenarios such as extreme weather or heavy turbulence. Based on its analysis of changing atmospheric conditions, a navigation software could provide an alternate routing for an airliner to avoid phenomena such as a severe thunderstorm or known turbulence.
What are some common use cases for IoT analytics?
As mentioned above, IoT analytics is a loosely-related family of technologies that is utilized by use cases that span multiple industries. These include:
Optimize resource utilization
Teams use data to rightsize consumption—reducing waste and costs, and ensuring that organizations, buildings, or even cities use only what they need.
One example is a smart utility grid. By using IoT devices, analysts can monitor electricity usage from residential dwellings and commercial facilities at a granular level—such as by month or even by day. Analysts can then process and analyze this information for any number of functions, such as forecasting future demand, setting thresholds for optimal and suboptimal performance, alerting on anomalies like outages, and more.
Water conservation is another important example. IoT applications can analyze data to establish typical usage patterns for households, farms, factories, and more. This is especially helpful for detecting sudden anomalies like leaking water pipes, powering a smart irrigation system, predicting droughts, or remotely controlling water treatment facilities.
Smart cities can also improve traffic and reduce congestion. Algorithms can use real-time vehicle data to determine driver, biker, and pedestrian volume. This can help optimize traffic signal timing, predict times of peak traffic, provide automated alerts to residents, and coordinate traffic lights across intersections to reduce the chances of dangerous driving.
Enabling real-time decisioning
Teams can also make better decisions in a shorter time frame with more comprehensive data. Some areas include:
Predictive maintenance. Equipment failure is expensive and dangerous—which is why organizations turn to predictive maintenance models to prevent breakdowns such as oil well blowouts or train signal malfunctions. By tailoring maintenance schedules and procedures, teams can ensure longer-lived equipment and reduce the costs to replace damaged components.
Environmental monitoring. Sensors can detect air, water, and soil quality. This can help governments assess the effectiveness of their climate legislation, enable municipalities to alert residents of air quality degradations resulting from fires or sandstorms, or even forecast and prepare for natural disasters.
Personalized customer experiences
Smart healthcare. Wearable IoT devices are used to monitor patient health indicators, such as REM sleep, heart rate, or brain activity. Staff can also set thresholds for alerting, so that they can quickly respond to a sudden loss of activity, such as flatlining vital signs.
Smart buildings. IoT sensors can transmit data on energy usage for heating, cooling, and lighting, adjusting consumption based on occupancy. Specialized devices can also assist elderly individuals in their daily activities, pinging them for medication reminders, remotely connecting with caregivers during adverse weather conditions, or detecting falls and other accidents and notifying emergency services accordingly.
Retail. Inventory levels are tracked and if products fall below a certain quantity, replacements can be ordered. IoT devices can also provide a better payment experience, logging buyer credentials for email receipts, sending them custom discounts, and enabling contactless payment.
Research and scientific experimentation
Environmental science. IoT devices can measure different metrics such as temperature, humidity, air quality, and carbon dioxide. This data can be used to drive climate science, helping researchers identify trends, discover outliers, and determine the impact of environmental regulations.
Epidemiology. Smart medical devices or wearable trackers can gather patient health data, which can identify new diseases, determine risk factors, and help inform the creation of more effective vaccines and treatments.
Smart agriculture. IoT sensors collect and transmit data on soil moisture, temperature, nutrient levels. Farmers can then use this data to make more precise decisions about irrigation, fertilizer application, or crop rotation for maximizing yields.
Summary
The Internet of Things (IoT) involves connected networks of smart devices generating vast quantities of timestamped data across industries such as energy, manufacturing, and supply chain. But for organizations to make the most of this data, they need to ingest, process, and analyze it, often in real time.
Because it serves as a bridge between physical hardware and digital software, IoT environments come with some unique challenges. These include less-than-ideal conditions including adverse weather or limited connectivity, diverse data types, privacy and security, and the need for unique skillsets across a variety of disciplines such as industrial engineering and software development.
In most IoT applications, the majority of IoT data is ingested through streaming, typically Apache Kafka or Amazon Kinesis. Data is then cleaned of noise, deduplicated, and moved to a real-time database for analytics and other operations. IoT architectures may also include an interface for visualizing the end results of aggregations, or an API for exporting results and data to downstream applications.
IoT is also a very versatile and expansive category, encompassing many sectors and use cases. Connected IoT devices are vital to smart healthcare, retail, agriculture, environmental science, renewable energy, and more. IoT has also been a vital part of operations, providing prescriptive analytics for rapid responses to volatile situations; descriptive analytics for real-time insights into operations; and descriptive analytics for providing long-term analysis and strategic direction.
What to look for in an IoT database?
Apache Druid is a real-time analytics database that was created to support large numbers of users executing complex operations on massive volumes of fast-moving data. By design, Apache Druid—and the Imply family of Druid-based products—is ideal for the unique challenges of the IoT space.
Druid supports ad-hoc queries across large time series datasets, which remain one of the most common (and one of the most important) types of IoT data. Druid was designed to utilize columnar data storage and indexing techniques, which are suitable for high cardinality dimensions, filtering, and aggregations—thus facilitating complicated, flexible querying. This is helpful for a number of situations, such as troubleshooting crises with unknown causes, pattern and outlier identification, or deep analysis for operational optimization.
Druid can also query data on arrival, a vital requirement for fast-expiring IoT data. Druid can ingest IoT events at speed, generally through a streaming technology like Apache Kafka or Amazon Kinesis, and make them immediately available for querying—without having to first persist them into storage. In this way, organizations can act on IoT data quickly, ensuring a timely response to any crises that arise.
Druid also scales elastically to accommodate fluctuations in demand and data. Different tasks, such as storage and query, are devolved onto separate nodes, which can then be added or removed as needed. Druid also requires minimal manual work or downtime to scale. Given that IoT data can vary dramatically from one interval to the next, Druid’s scalability ensures that it can keep pace with changing conditions—and that developers have less work to do.
Even as datasets grow into terabytes or petabytes, Druid’s unique architecture guarantees subsecond query responses. Simultaneously, Druid can also handle a high number of concurrent queries and users, ensuring that operations do not slow down even as traffic goes up. This is vital for IoT teams, which may have a large number of dispersed stakeholders who operate across multiple time zones and geographic locations querying data at a high tempo.
Another feature suitable for IoT applications is schema autodetection. As device firmwares are updated (often inconsistently), data may arrive with different fields and values, or in various formats. Druid will detect this and automatically update tables as needed, without requiring any downtime or human intervention.
Druid can also backfill late-arriving data. For IoT use cases that may have limited connectivity, such as commercial airliners in flight or remote solar power plants, data may arrive days or months after generation. Druid automatically ensures that late data is backfilled in the correct place, without needing developers to step in.
Druid also includes specialized capabilities for handling time series data. While these tools are still in alpha release, they enable users to fill in any gaps in their time series data due to issues such as IoT device maintenance or loss of connectivity. Druid can use linear interpolation to create new data points and bridge any holes, pad the blank space with the data point immediately before, or backfill it with the data point immediately after.
Lastly, Druid provides excellent availability and durability. Druid can be connected to a deep storage layer (usually Amazon S3 or Hadoop), which acts as a continuous backup and data repository. If a node goes offline, a copy of its data can be retrieved from deep storage and either distributed across remaining nodes, or loaded onto a restored one.
Other than open source Apache Druid, Imply also includes an ecosystem of Druid-based, paid products including Polaris, the Druid database-as-a-service—and the easiest way to get started with Druid. Another popular product is Pivot, an intuitive GUI that simplifies the creation of interactive data visualizations and dashboards—for both external and internal use.
To learn more about Druid, read our architecture guide.
To learn more about real-time analytics, request a free demo of Imply Polaris, the Apache Druid database-as-a-service, or watch this webinar.