Database Assignment
Database Assignment
1. Describe the usage of the assigned platform in comparison with any other Two Platforms
from the list
Usage of Redis
Redis is an open-source, in-memory data structure that is used for faster access to data. It is used
to store data that needs to be accessed frequently and fast. It is not used for storing large amounts
of data.
Usage of MySQL
MySQL is a widely used open-source relational database management system (RDBMS) known
for its scalability, reliability, and ease of use. MySQL is free and open-source. It is commonly
used in web applications that require structured data storage, complex queries, and multi-user
support. MySQL is ideal for both small and large applications.
Oracle Database is relational database management system that provides an open, complete, and
integrated approach to information management. It is used to store and retrieve data for a wide
range of applications. It is used by large enterprises to handle massive amounts of data and
complex business processes. It offers extensive features for high availability, security,
scalability, and advanced analytics, making it ideal for mission-critical applications.
1) Performance
Redis is the fastest due to its in-memory design, making it ideal for use cases requiring ultra-low
latency, such as caching, real-time analytics, and session storage.
MySQL offers good performance for traditional web and enterprise applications, but it's slower
than Redis in situations requiring real-time data access.
Oracle provides excellent performance for large, complex enterprise applications, but it is more
resource-intensive and slower than redis for real-time workloads.
Redis handles high concurrency efficiently but is single-threaded by default. For large-scale
applications, Redis supports clustering to distribute data across multiple nodes.
MySQL can handle a large number of concurrent users and queries, scaling well with replication
and clustering.
Oracle excels at handling massive concurrency, with advanced clustering (RAC) and load-
balancing features, making it ideal for high-demand enterprise environments.
Redis is ideal for use cases that require in-memory data structures but doesn't fully support
ACID transactions like traditional RDBMS systems.
MySQL is better for structured, relational data and supports complex queries and full ACID
compliance.
Oracle is designed for mission-critical applications, offering full ACID compliance, complex
transactions, and support for highly sophisticated data models.
4) Use Cases
Redis is best for caching, session management, and real-time analytics where performance is the
top priority, but it’s not a replacement for a full-featured RDBMS.
MySQL is widely used for web applications and enterprise-level databases where relational data
management and scalability are crucial.
Oracle is suited for large-scale enterprise applications that require high availability, data
integrity, and robust security, such as in finance, telecommunications, and healthcare.
Summary of the Comparison of Redis, MySQL, and Oracle
Client-server, multi-
In-memory, single- Client-server, multi-
Architecture threaded with
threaded threaded
clustering
Key-value pairs,
Tables with rows and Tables with rows and
Data Model supports various data
columns (relational) columns (relational)
structures
Extremely high,
High due to in-memory High, supports multi-
Concurrency optimized for massive
processing user environments
concurrency
Caching, session
Web and enterprise Mission-critical
Use Case storage, real-time
applications enterprise systems
analytics
Backup & Recovery Basic, snapshots or Moderate backup and Advanced backup,
AOF (Append Only recovery, and failover
recovery options
File) options
Moderate
Basic (supports SSL, Advanced (encryption,
Security (authentication,
access control) data masking, auditing)
encryption)
2) Write short notes using examples on the following distributed Database Management system,
Objective oriented database, data warehousing, and data mining
https://www.javatpoint.com/distributed-database-system-in-dbms
a) A distributed database is basically a database that is not limited to one system, it is spread over
different sites, i.e., on multiple computers or over a network of computers. A distributed database
system is located on various sites that don’t share physical components. This may be required when a
particular database needs to be accessed by various users globally. It needs to be managed such that
for the users it looks like one single database.
It has Types:
1. Homogeneous Database.
All different sites store database identically. The operating system, database management
system, and the data structures used all are the same at all sites. Hence, they’re easy to manage.
2. Heterogeneous Database.
Different sites can use different schema and software that can lead to problems in query
processing and transactions. Also, a particular site might be completely unaware of the other
sites. Different computers may use a different operating system, different database application.
They may even use different data models for the database. Hence, translations are required for
different sites to communicate.
There are two in which data can stored that is:
Replication
In this approach, the entire relationship is stored redundantly at 2 or more sites. If the entire
database is available at all sites, it is a fully redundant database. Hence, in replication, systems
maintain copies of data.
Fragmentation –
In this approach, the relations are fragmented (i.e., they’re divided into smaller parts) and each
of the fragments is stored in different sites where they’re required. It must be made sure that
the fragments are such that they can be used to reconstruct the original relation (i.e., there isn’t
any loss of data). Fragmentation is advantageous as it doesn’t create copies of data,
consistency is not a problem .
Apache Ignite, Apache Cassandra, Apache HBase, Couch base Server, Amazon Simple DB, Cluster
point, and Foundation DB
https://herovired.com/learning-hub/blogs/data-warehousing-and-data-mining/
https://www.geeksforgeeks.org/introduction-to-redis-server/
https://www.w3schools.com/mysql/default.asp
https://www.studysmarter.co.uk/explanations/computer-science/databases/database-management-
system/
https://www.w3schools.com/mysql/default.asp
https://www.w3schools.com/mysql/mysql_rdbms.asp
https://www.tutorialspoint.com/redis/redis_overview.htm
https://phoenixnap.com/kb/object-oriented-database
https://www.theknowledgeacademy.com/blog/how-to-create-database-in-sql/
https://www.geeksforgeeks.org/features-of-oracle-server/
https://www.tutorialspoint.com/weka/what_is_weka.htm
b) Objective oriented database is a type of database management system (DBMS) that stores data in
the form of objects, as used in object-oriented programming. Instead of storing data as tables (like in
relational databases), object-oriented databases store data as objects, similar to how data and behavior
are encapsulated within objects in object-oriented programming languages (OOP), such as Java, C++,
and Python.
Objects are the basic building block and an instance of a class, where the type is either built-in
or user-defined.
Classes provide a schema or blueprint for objects, defining the behavior.
Methods determine the behavior of a class.
Pointers help access elements of an object database and establish relations between objects.
Example: “book” class in a library database with the following attributes: Title, Author, ISBN, and
Publication Year
c) Data mining refers to a process used by organizations to extract specific data from huge databases to
solve business problems. It also means extracting or mining knowledge from large amounts of
data. The applications of data warehouses include: Banking Services, Consumer Goods,
Manufacturing, Financial Services, Retail Sectors,
An example of tools used data mining are Weka it is Applied by banks to detect fraud in transaction data,
rapid Miner, Monkey Learn, IBM SPSS Modeler, Oracle Data Mining,Knime,Orange,H2O,Apache
Mahout, AS Enterprise Miner,
d) Data warehousing refers to a typical procedure of compiling and organizing data into a common
database. On the other hand, data mining basically refers to the process of extracting useful data
from various databases.
Examples of tools used is Amazon Redshift, Microsoft Azure, Google Big Query, Snowflake, Micro
Focus Vertica, Amazon Dynamo DB,