Database Management Assignment: Overview of In-Memory Databases & ER diagram
Prepare a detailed database management assignment addressing the following parts:
Part A: Provide a detailed overview of In-Memory Databases.
Part B: Discuss and build an ER diagram for HealthCare system.
Database Management Assignment Part A
Over the last decade, In-Memory Databases have gathered tremendous popularity because of their ease of use and faster processing speeds. Their flexible structure and low latency only add up to their pride. These are basically non relational databases that use internal memory storage instead of storing data in a disk, like relational databases (Kabakus, A. T., & Kara, R., 2017)
In-Memory Databases are non-relational databases that use Random access memory (RAM) or main memory for data storage unlike RDMS that uses traditional disk drives or external sources of memory such as SSDs. They perform faster due to a smaller fetch cycles caused by eliminating the need to retrieve data from external sources. Even though the data in such databases is compressed, it is in a readily usable format. The major risk involved with the usage of such databases is the loss of data upon server failure. This phenomenon can be minimized by the maintenance of logs and snapshots.
In-Memory Databases need:
Applications that require fast response ranging in microseconds would prefer to use In-Memory databases. Large spikes in usage traffic might also solicit the need for a database system based on system memory. Their benefits also include elimination of the need for translations and Multi-user concurrency. Some of the situations that would benefit from using In-Memory Databases are:-
- Real-time bidding- Buying and selling ads online comes under this category. The choice of ad to be loaded along with the webpage happens in matter of milliseconds. An ad is chosen based on bids received in real-time and showing the most preferable prospects. In-Memory databases are ideal for such high ingestion and real-time processing situations.
- Gaming leaderboards- Games nowadays engage audience by keeping leaderboards that tracks scores of participants in real-time. This motivates audiences to invest more time and energy in an attempt to lead this chart. Usage of In-Memory Databases will assure quick sorting of scores and maintenance of leaderboard.
- Caching- Caches are a boon to storage systems as they reduce external memory fetches by storing frequently used data. This is a typical example of In-Memory storage whose fundamental concept is the same as caches.
Recent developments in the field:
The decline in RAM prices accompanied by faster processing of large amounts of data generated by the industries has resulted in the global appraisal of the In-Memory database market. With an exponential growth over the past few years, researchers expect this market to grow upto USD 6.58 billion by 2021.
Some of the major developments in the field have been:-
- SAP IoT Application Enablement solution- An IoT service launched in 2016 to facilitate development of efficient IoT solutions for customers.
- Oracle Database Cloud Service Expansion- Real-time transaction can be leveraged by customers if processed through Oracles’ services. Launched in 2015.
- Teradata Intelligent Memory- Since its launch in 2013 critical workloads can be handled by this technology at minimal cost and higher speeds.
Some currently used examples of in-memory databases are Silo and SQLite. Silo is an in-memory database that helps modern multicore machines achieves efficient performance and scalability. It guarantees serial sable database without the discomfort of scalability bottlenecks (Tu, S., Zheng, W., Kohler, E., Liskov, B., & Madden, S., 2013). Meanwhile, SQLite in-memory databases store data in memory completely. It is a variant to the original SQLite that is a relational database and stores data on disk.
In-Memory databases are accredited for faster transactions and ease of use in modern day applications that deal with an excessive amount of data on regular basis. Their increasing popularity can be reasoned by the fact that they process data faster in comparison with relational database management systems. They are also flexible due to a schema free format which helps provide low latency and high performance. On a closing note we could say that, relational and In-Memory databases provide different features and their usage depends on the use case being implemented. If a system is inflexible it would prefer relational database systems whereas if it can give up some consistency but needs processing of high traffic it would use In-Memory databases (Kabakus, A. T., & Kara, R., 2017)
The Entity Relationship diagrams are an extremely helpful tool for analysis and conceptual modeling. It makes understanding of the database schema very easy and insightful. The entities and their attributes are defined. We also use different notations for different types of entities such as weak entity and attributes such as multivalued and composite attributes. The relationship among these entities is also defined using various notations. Cardinality is used to explain the type of relationship which may be 1-1, 1-Many, Many-1 or Many-Many. We also have the feature of optionality that defines if an entity is in relation with another entity completely or not. We have used the crows notation for minimality and a clean look (Davis, W. S., & Yen, D. C., 2019). Crow’s Foot notation is among the various notations for ER Diagrams. It is preferred because of its simplistic approach. The entities are defined as rectangles with their corresponding attributes within. Primary key is the first attribute. Foreign keys are also defined. The relationship among entities is depicted by a line with different ends based on type of relation. This is why this notation is called crow’s foot notation.
The entities defined here are Patient, Caregiver, Device, Data, Alert and Report. Each of these entities have various attributes, we identify the primary key based on the type of entity and what way it receives its data. An entity like patient is not dependent on any other entity and can be defined uniquely using an ID such as Pid. In contrast to this Report is an entity which depends on Patient and Caregiver for its existence, it also needs data that can br derived from the data entity. Please note that as many patients are assigned to many caregivers we keep a combination of Pid and Cid as the primary key. Data entity is also a combination of DeviceId and DataId as a patient may use more than one device. The relationships among the entities are defined in a similar manner. A patient is assigned one or more caregivers, that is why there is no optionality. Similarly, a caregiver may be treating one or more patients. One or more devices are used by a patient i.e. 1 mandatory to much optional relationship. A device records data and the data creates an alert based on comparison with threshold values. Alert is a seperate entity as its existence is not always necessary. Note we could also use Alert as a relationship among Data and Caregiver entities with its own attribute ie priority level. A caregiver maintains report of its patient by using data from the device.
- Kabakus, A. T., & Kara, R. (2017). A performance evaluation of in-memory databases. Journal of King Saud University - Computer and Information Sciences, 29(4), 520–525. doi: 10.1016/j.jksuci.2016.06.007
- Tu, S., Zheng, W., Kohler, E., Liskov, B., & Madden, S. (2013). Speedy transactions in multicore in-memory databases. Database management assignment Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles - SOSP 13. doi: 10.1145/2517349.2522713
- Davis, W. S., & Yen, D. C. (2019). Entity-relationship diagrams. The Information System Consultant’s Handbook, 195–204. doi: 10.1201/9781420049107-26