0% found this document useful (0 votes)
12 views

Database Assignment

database

Uploaded by

muhwezi art
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views

Database Assignment

database

Uploaded by

muhwezi art
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 6

Question One

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.

For Examples in:

Web applications (e.g., Word Press, Joomla).

Usage of Oracle Database

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.

Examples of areas of application are financial services, telecommunications, healthcare and

Data warehousing, big data analytics.

Comparing the Usage of Redis, MySQL and oracle

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.

2) Concurrency & Scalability

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.

3) Data Complexity & Transactions

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

Feature Redis MySQL Oracle Database

In-memory key-value Relational Database Relational Database


Type
store (NoSQL) (SQL) (SQL)

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

High, but slower than


Extremely fast, due to High performance for
Performance Redis for real-time
in-memory nature large-scale applications
applications

In-memory with Disk-based storage


Persistence Disk-based storage
optional persistence with advanced recovery

Highly scalable with


Highly scalable with Scalable via replication
Scalability Real Application
clustering and clustering
Clusters (RAC)

Supports atomic Full ACID compliance


Transactions commands, but limited ACID-compliant with advanced
ACID compliance transaction control

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)

Free for open-source,


High licensing and
Cost Free, open-source paid for enterprise
support costs
version

Redis Cloud (offered MySQL Cloud (offered


Cloud Support Oracle Cloud
by Redis Labs) by AWS, Oracle, etc.)

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 .

Example of Distributed database examples

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.

OODB is broken down into:

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,

You might also like