Data Management Patterns of the Internet of Things (IoT) - Paper Example

Paper Type:  Term paper
Pages:  5
Wordcount:  1299 Words
Date:  2021-06-09

Abstract- The Internet of Things (IoT) is gaining popularity in this technological era. Devices can now self-configure and communicate through ubiquitous sensors unified with modern features that allow them to collect and manage huge amounts of data. The need for improving performance, scalability, and availability of information on the cloud requires proper data management. Similalry, security remains a significant challenge as more devices connect to the cloud. Therefore, this paper reviews various data management patterns in IoT and the safety and performance risks posed by them.

Trust banner

Is your time best spent reading someone else’s essay? Get a 100% original essay FROM A CERTIFIED WRITER!

Keywords: Internet of Things, data management, cloud design patterns, performance, cache-aside, command and query responsibility segregation, event sourcing, external configuration store, materialized view

Introduction

The Internet of Things (IoT) is a networking model where interconnected, smart devices continuously generate data and convey it over the Internet. Most of the IoT schemes are geared towards manufacturing affordable and energy-efficient hardware for these devices, and the communication technologies that avail devices interconnectivity. Mainly, these devices include subsystems and individual physical and virtual entities [1]. IoT strives to provide a standard stage for developing supportive services and software applications that control the power of resources available through the individual devices and any subsystems designed to manage the devices mentioned above. Notably, at the center of these resources is the information that can be availed through the combination of the data generated in real-time and data stored in permanent stores. This information can facilitate the realization of innovative and different applications, enable the delivery of value-added services, and avail a vital source for trend analysis and strategic opportunities.

Data management refers to the architectures, procedures, and practices for appropriate management of information lifecycle requirements of an individual system. Regarding IoT, data management acts as a layer between the objects and devices creating the data and the applications accessing the information for analysis and services [1]. Notably, one can arrange the devices into subsystems with independent governance and internal hierarchical management. The functionality and data availed by these subsystems to the IoT depend on the level of privacy needed by the subsystem owners. Besides, IoT poses security and confidentiality risks despite its anticipated positive impact especially for sectors that manage highly personalized data, for example, healthcare providers. The biggest safety hazard of IoT originates from its most significant benefit, namely, the connection of physical devices to a global network [2]. Therefore, the growing need for secure processing, sharing and analyzing data deems it necessary to use efficient database management systems to aid in creating new builds and managing applications. Therefore, this paper seeks to explore the available patterns that manage data collection and distribution in IoT applications.

Data Management Patterns

Various designs are available to help in the management of collection and distribution of data in IoT applications. They include:

Cache-aside Pattern

This model loads data on demand into a cache from a data store. It can improve performance and maintain consistency between data held in the cache and that in the underlying data store. Apparently, when a device requires accessing some data, it checks its cache first, and if the data exists, it pulls the information. However, if the data is unavailable, it queries the data store and gets the figures. Additionally, it copies the retrieved data to its cache [3]. Similarly, this pattern demands an automatic rewriting of any changes to the cache back to the cache. Notably, the most vital issue in this model is the accuracy of data. On the other hand, the biggest challenge of using this design is the synchronization of information. Similarly, attacks on the pattern may arise through monitoring critical operations on the cache, and hijacking variations were written back to the data store.

Command and Query Responsibility Segregation (CQRS) Pattern

This model introduces various interfaces for reading and writes operations. The read mode uses a query to request data from the read model while a command is utilized to update information through the write pattern. Similarly, the design incorporates the use of event sourcing in which the variations made by all control operations are stored individually instead of just recording the results, which facilitates the recording of the chronological data history. Additionally, it uses the domain-driven design that minimizes the complexity of data structures and accessibility. Notably, this pattern maximizes performance, security, and scalability of the system through higher flexibility and prevents update commands from creating merge conflicts at the domain level.

Event Sourcing Pattern

This design is mainly used in conjunction with the command and query responsibility segregation model. It uses an append-only store to record all events that describe actions taken by data in a domain instead of saving just the current state. Apparently, this avails the store for materializing the domain objects. Notably, it aids to eliminate the limitations of traditional relational database data management tasks such as create, read, update, and delete. The model seeks to improve scalability and performance by transferring data interactions into a different server instead of permitting direct interactions with the data store [4]. Tasks handling specific events can run in the background as the user proceeds with the basic workflow. Evidently, this pattern simplifies tasks in complex domains by eliminating the need to synchronize the data design and the business area, improves performance and scalability, avails consistency for transactional data, and maintains full audit trails and history crucial for compensating actions.

External Configuration Store Pattern

The majority of application runtime environments comprise of arrangements information that is stored in files located in the application folders. In some instances, it is possible to edit these files to alter the behavior of the application after deployment. Nevertheless, in many cases, these changes require the application to be redeployed, which results in unacceptable downtime and additional administrative costs. Additionally, local configurations hinder the settings in multiple applications, whereas, in some instances, it would be useful to share configurations settings across various applications, for example, the URLs of queues and storage used by a related group of applications [4]. The external configuration store pattern provides a solution to this problem as it avails an interface that users can utilize to read and update configuration settings quickly and efficiently. However, the kind of external storage depends on the applications hosting and runtime environment. For example, in a cloud-hosted context, it is typically a cloud-based storage service.

Materialized View Pattern

In cloud-hosted environments that involve big data, quick access to the required data is important. Notably, accessing this data from the cloud allowing companies attract administrative overheads, which brings the need to balance cost and response time. The materialized view model is essential if data stored does not support the query operation sent by the device [5]. Apparently, the materialized view store displays the database physically to evade re-computing a query when the view is already available at any time the query is served. Notably, this improves response time critical in big data systems. Nevertheless, a challenge arises while selecting the right data set for saving in various materialized views. Also, need to factor in the dependency generated by different views alongside a request set arise [4]. Consequently, it increases the susceptibility of the IoT to attackers who can have monitoring software that returns the length of time a transaction takes in this pattern.

References

M. Abu-Elkheir, M. Hayajneh and N. Ali, "Data Management for the Internet of Things: Design Primitives and Solution", Sensors, vol. 13, no. 11, pp. 15582-15612, 2013.

M. Stolpe, "The Internet of Things", ACM SIGKDD Explorations Newsletter, vol. 18, no. 1, pp. 15-34, 2016.

N. Pamula, K. Jairam and B. Rajesh, "Cache-Aside Approach For Cloud Design Pattern", International Journal of Computer Science and Information Technologies,, vol. 5, no. 2, pp. 1423-1426, 2014.

A. Homer, J. Sharp, L. Brader, M. Narumoto and T. Swanson, Cloud Design Patterns, 1st ed. Microsoft, 2014.

M. Brock and A. Goscinski, "Multi-cloud application execution and data management", International Journal of Cloud Computing, vol. 3, no. 4, p. 354, 2014.

Cite this page

Data Management Patterns of the Internet of Things (IoT) - Paper Example. (2021, Jun 09). Retrieved from https://midtermguru.com/essays/data-management-patterns-of-the-internet-of-things-iot-paper-example

logo_disclaimer
Free essays can be submitted by anyone,

so we do not vouch for their quality

Want a quality guarantee?
Order from one of our vetted writers instead

If you are the original author of this essay and no longer wish to have it published on the midtermguru.com website, please click below to request its removal:

didn't find image

Liked this essay sample but need an original one?

Hire a professional with VAST experience!

24/7 online support

NO plagiarism