This is a two-part series on the use of Fast Data in Healthcare and how in-memory technologies, such as Apache Ignite, can meet the requirements and challenges of the Healthcare industry. In this first part, we will focus on identifying some of the key challenges in Healthcare and in the next part, we will discuss a Healthcare case study and learn how Apache Ignite and GridGain solved a customer’s problem.
Introduction
Healthcare is big business and there are a very wide-range of applications, such as managing Electronic Health Records, drug discovery and health insurance claims. Apache Ignite is perfectly suited to these applications. Figure 1 shows a high-level view of the Apache Ignite In-Memory Computing Platform.
Figure 1. Apache Ignite In-Memory Computing Platform
We can see in Figure 1 that at its heart, Apache Ignite is a distributed memory-centric data storage platform. It supports ACID semantics, powerful processing APIs including SQL, Compute, Key/Value, and transactions. Ignite’s memory-centric approach enables it to use memory for high throughput and low latency. However, it can also utilize local disks or SSDs to provide durability and fast recovery.
One of Ignite’s major strengths is that memory is treated as fully functional storage, not just as a caching layer. For example, Apache Ignite can function in a pure in-memory mode, in which case it can be treated as an In-Memory Database (IMDB) and In-Memory Data Grid (IMDG) in one. However, when persistence is turned on, Ignite begins to function as a memory-centric system where most of the processing happens in memory, but the data and indexes are persisted to disk. When compared to traditional disk-based Relational systems or NoSQL systems, Ignite is strongly consistent, horizontally scalable, and supports both SQL and key-value processing APIs. In Figure 1, we can also see that Ignite can be integrated with third-party database systems and external storage. In addition to Healthcare, Apache Ignite caters for a wide-range of use cases.
Fast Data in Healthcare
Healthcare applications may cover a wide range of uses. However, there are several areas that are of particular importance and have been highlighted in a recent report from Stanford Medicine.
Today, there is greater focus on precision medicine and personalization. This will aid more accurate diagnostics for many serious medical conditions, such as tumors and cancers, disorders of nerves and the nervous system, and diseases and abnormalities of the heart. Increasingly, there are also better tools available that allow more collaboration between different parts of the Healthcare system. Furthermore, clinical research can enable speedier drug discovery and the treatment of complex or rare diseases. We will discuss a customer involved with drug discovery work in part 2 of this blog series. Apache Ignite provides distributed storage that allows huge quantities of data to be stored to support these requirements for precision medicine and clinical research. Figure 2 shows Ignite’s distributed storage architecture. Ignite’s Data Grid can be viewed as a distributed partitioned hash map with every cluster node owning a portion of the overall data. As more cluster nodes are added, more data can be stored.
Figure 2. Distributed Storage
Since more patient-specific data is available today through the use of health wearables, home monitors and smartphones, managing streams of data and complex event processing will be required. The Internet of Things (IoT) is also very applicable to Healthcare applications. Personalized data will improve the patient experience. Apache Ignite supports adapters and connectors for various streaming technologies and Figure 3 shows an example software stack for IoT applications that uses open source software from the Apache Software Foundation. Ignite has powerful in-memory capabilities and APIs, as previously mentioned.
Figure 3. Streaming and Complex Event Processing
Finally, the use of predictive models allows Healthcare providers to anticipate, diagnose and treat diseases earlier. This can provide improved patient health and cost savings. The use of machine learning can help in the development of more detailed patient health risk profiles and also allows earlier intervention and treatment. Patients can receive more personalized treatments for serious health conditions. Apache Ignite ships with a Machine Learning Grid, as shown in Figure 4, with a range of machine learning algorithms that support both local and distributed processing. Since many machine learning models may need to be created and tested, the ability to use distributed processing and the power of the cluster enables more models to be evaluated, providing faster insights and saving time and resources.
Figure 4. Machine Learning Grid
Summary
Modern Healthcare has many demanding requirements for the storage and querying of various types of data. Apache Ignite provides a range of capabilities that can meet these needs perfectly. In the next part of this blog series, we will see how a customer has been able to benefit from using Apache Ignite and GridGain for drug discovery.