Task 2 Multi-Model Database Systems Edt
Task 2 Multi-Model Database Systems Edt
Introduction:..................................................................................................................................................2
What Is a Multi-Model Database?...........................................................................................................2
1. Fields of Application and Use Cases:........................................................................................................3
Multi-Model Database Use Case Examples.................................................................................................4
2.1. Storing and Managing Multiple Data Sources...................................................................................4
2.2. Hybrid Data Environments................................................................................................................4
2.3. Data Centralization...........................................................................................................................4
3. Challenges:..............................................................................................................................................5
3.1. Schema Evolution:............................................................................................................................5
3.2. Query Optimization:.........................................................................................................................5
3.3. Data Integration:.........................................................................................................................6
3.4. Security and Access Control:.............................................................................................................6
4. State-of-the-Art Approaches and Techniques:.........................................................................................7
4.1. Polyglot Persistence:.........................................................................................................................7
4.2. Document-Relational Mapping (D-RM):............................................................................................8
4.3. Native Multi-Model Databases:........................................................................................................9
4.4. Schema-Less Approaches:...............................................................................................................10
4.5. Query Languages:...........................................................................................................................10
Conclusion:................................................................................................................................................11
Bibliography...............................................................................................................................................11
Introduction:
Multi-model databases have gained significant popularity in recent years due to their ability to support
multiple data models within a single database system. These databases allow organizations to store and
manage various types of data, including structured, semi-structured, and unstructured data, in a unified
manner. (ChatGPT, 2023)
In polyglot persistence, you use a separate database for different types of data storage and usage
patterns. For instance, if you have an eCommerce website, you might need a relational database like
MySQL for transactions, a search engine like Elasticsearch for enabling product discovery, Redis for
maintaining real-time trackers and other databases for other use cases. The major downside of polyglot
persistence is that it adds significant overhead.
The alternative to polyglot persistence is a multi-model database or a database that natively allows you
to store and access data of different types, such as relational, time series, geospatial, key-value and
document. Using multi-model databases can bring a lot of benefits to businesses that deal with
applications and products with various types of data constantly.
Modern SaaS applications create diverse database workloads. They often provide a real-time view of
data over time, interactive analytics to explore recent and historical data, include full text search on
product information and often expose an API. Each of these SaaS application functionalities have
different data write needs, different access patterns and may use different data models.
In recent years, the common practice has been to use a specialized database technology for each of
these data models and workloads types for a SaaS application. Each of those underlying database
technologies are then stitched together to form the data infrastructure layer for the SaaS application.
Multi-model databases offer a simpler alternative to this by reducing the variety of database
technologies needed to serve modern SaaS applications. https://www.singlestore.com/blog/what-is-a-
multi-model-database/
This assignment explores the fields of application and use cases of multi-model databases, the
challenges they present, and state-of-the-art approaches and techniques for their implementation.
Multi-model databases are widely used in enterprise settings to handle diverse data types such as
customer profiles, product catalogs, transaction records, and more. This flexibility enables organizations
to create comprehensive data repositories that can serve multiple business units simultaneously.
(ChatGPT, 2023)
Content management systems often need to manage various types of data, including text, images,
videos, and metadata. Multi-model databases simplify content storage and retrieval, making them
suitable for CMSs and digital asset management systems.
(ChatGPT, 2023)
IoT applications generate a vast array of data, from sensor readings to device logs. Multi-model
databases can efficiently store and query this mixed data, allowing for real-time analytics and
monitoring.
(ChatGPT, 2023)
Multi-model databases can handle geospatial data, combining traditional relational data with spatial
information. Use cases include geographic information systems (GIS), location-based services, and
logistics.
1.5. Social Media and User Profiles:
Social media platforms and online services collect diverse user data, including text, images, user
interactions, and preferences. Multi-model databases facilitate the storage and analysis of this
heterogeneous data. (ChatGPT, 2023)
Storing data in a multi-model database makes administration easier. Everything is in one database, which
reduces the time needed to store and manage data from different sources.
Multi-model databases provide extensions between models. Features from some models help
supplement the shortcomings of other models.
For example, querying data in JSON format using SQL queries is simple. There is no need to adjust the
original data source. Extensibility reduces data processing time and eliminates the need for extract,
transform and load (ETL) systems.
The information duplicates, decreasing data quality. Likewise, the separated space creates maintenance
overhead. Both databases need policy administration as well as backup management.
A multi-model database provides a hybrid approach to data storage. A unified data hub for storing
transactional and extracting analytical data is simpler to maintain.
Multi-model databases store data as-is without the need for transformations. Data centralization
provides valuable insight into existing data, as well as the opportunity for creating new use-cases.
Taking advantage of the Hadoop processing power and combining it with the strength of multi-model
database searches produces a robust system. The process of working with data becomes scalable and
sturdy for big data tasks.
https://www.oreilly.com/library/view/gaining-data-agility/9781492032946/ch04.html
3. Challenges:
Managing diverse data models within a single system can lead to challenges in evolving schemas.
Changes in one data model may impact others, requiring careful schema design and migration strategies.
(ChatGPT, 2023)
In the context of query optimization, query processing identifies how to faster retrieve data from a
database
(ChatGPT, 2023)
Integrating data from multiple sources with varying structures and formats can be challenging. Effective
data integration strategies are crucial for maintaining data quality and consistency.
(ChatGPT, 2023)
Authentication is a method of verifying the identity of a person who is accessing your database. Note
that authentication isn’t enough to protect data. An additional layer of security is required,
authorization, which determines whether a user should be allowed to access the data or make the
transaction he’s attempting. Without authentication and authorization, there is no data security.
https://www.datasunrise.com/professional-info/what-is-access-control/
Securing multi-model databases requires handling permissions and access controls across different data
models. Ensuring data privacy and compliance becomes paramount.
(ChatGPT, 2023)
4. State-of-the-Art Approaches and Techniques:
(ChatGPT, 2023)
4.2. Document-Relational Mapping (D-RM):
The Relational Model
The relational model, built around the concept of relationship, structures the data into models that
relate to each other through constraints that are made explicit through foreign keys: for example, the
Child Table has a reference to the Master table through its ID. This relationship is expressed in a
language, usually a Data Definition Language (DDL).
One of the reasons for the popularity of this model is the fact that several tools for database
management are available (also for free, such as MySQL Workbench or DBeaver for database design or
schema migration).
For the sake of simplicity, in the examples that will follow, we will assume that the relational model is
implemented on a SQL compliant database.
The document model focuses on data, rather than relationships. In this regard, the data is not seen as a
tuple (or row) within a table, but as a document with properties, which are not theoretically defined.
There is no DDL language that defines a schema and therefore some documents may or may not have
these properties.
In this model, the relationships are not represented by foreign keys but by nested data. Since the
document is unstructured, it may include another document or an array of documents, thus creating an
N: 1 or 1: N relationship between the two entities. Therefore, nesting is preferred over an explicit
relationship by one or more properties.
In the examples that will follow, we will assume that the document model is implemented with the
MongoDB database, which has recently become very popular in the enterprise environment.
In a relational approach, the writing activity is performed by a component that writes data in one place
and there is one and only one table that contains that data. If you add a record, a new row will be added
to that table. On the contrary, if you want to read that data, the reading query will typically find that
information by performing the JOIN: an operation that allows you to query multiple tables, combine
their data and return them in filtered form
D-RM tools bridge the gap between document-oriented databases (e.g., MongoDB) and relational
databases, enabling seamless integration of structured and semi-structured data.
(ChatGPT, 2023)
4.3. Native Multi-Model Databases:
A native multi-model database has one core, one query language, but multiple data models. A native
multi-model database is a combination of several data stores in one system. You can store data as
key/value pairs, graphs or documents and can access your data seamlessly with one declarative query
language, combining different models in a single query. You can build high-performance applications and
scale horizontally using all data models to their full extent.
A native multi-model has multiple coexisting data models accessed via one query language
Some database systems, such as ArangoDB and OrientDB, are designed as native multi-model
databases. They provide built-in support for multiple data models, simplifying data management and
querying. (ChatGPT, 2023
4.4. Schema-Less Approaches:
Schemaless refers to a type of database management system where data can be stored without a
predefined structure or schema. This means that data can be added or modified without the need for a
specific schema to be defined beforehand. In a schemaless database, each record can have its own
unique structure, and fields can be added or removed as needed.
Schemaless databases are often used in situations where the structure of the data is not known in
advance or where flexibility is required. This can be particularly useful in applications where data is
generated in real-time or where the structure of the data may change frequently.
Many multi-model databases embrace schema-less or flexible schema designs. This allows data to be
stored without predefined structures, easing schema evolution challenges.
(ChatGPT, 2023)
Numerous data models were proposed for practical purposes, which pose a great challenge for big data
management. Specifying a database query using a formal query language is a typically challenging task.
In the context of the multi-model data, this problem becomes even harder because it requires the users
to deal with data of different types. It usually lacks a unified schema to help the users issuing their
queries, or have an incomplete schema as data come from disparate sources. Multi-Model DataBases
(MMDBs) have been developed to facilitate the management of multi-model data.
https://www.researchgate.net/publication/343571026_Multi-
Model_Data_Query_Languages_and_Processing_Paradigms
Advanced query languages, such as GSQL for graphs or N1QL for JSON data, are designed to support
multi-model querying within a single database.
(ChatGPT, 2023)
Conclusion:
Multi-model databases have become crucial in addressing the growing complexity of data in various
fields. They offer diverse applications, but also come with challenges in schema management, query
optimization, data integration, and security. Leveraging state-of-the-art approaches like polyglot
persistence, D-RM, and native multi-model databases can help organizations harness the benefits of
multi-model databases while mitigating these challenges. As technology continues to evolve, multi-
model databases will likely play an even more significant role in data management and analytics.
Bibliography
https://www.singlestore.com/blog/what-is-a-multi-model-database/
(ChatGPT, 2023)
https://www.oreilly.com/library/view/gaining-data-agility/9781492032946/ch04.html
text=Data%20integration%20is%20the%20process,%2C%20ETL%20mapping%2C%20and
%20transformation.
https://www.datasunrise.com/professional-info/what-is-access-control/
https://blog.mia-platform.eu/en/document-oriented-and-relationa-database-which-one-to-choose
https://thecontentauthority.com/blog/schemaless-vs-schema
https://www.researchgate.net/publication/343571026_Multi-
Model_Data_Query_Languages_and_Processing_Paradigms