In: Computer Science
Assume that you are responsible for selecting a new DBMS product for a group of users in your organization. To undertake this exercise, you must first establish a set of requirements for the group and then identify a set of features that a DBMS product must provide to fulfill the requirements. Describe the process of evaluating and selecting the best DBMS product.
I would select a My (the co-founder Michael Widenius daughter's
name) Structured Query Language (SQL), together makes (MySQL), new
Database Management System (DBMS) product.
* The DBMS should contribute to society and should be available
with up-to-date information to all users. MySQL is meant for
multi-users to use it, all accessing it simultaneously. Simply put,
it supports multiple users, all at the same time.
* A group would want an open-source product. MySQL is an
open-source and free DBMS software.
* The DBMS system should support many transactions. MySQL supports
many transactions.
* MySQL commits grouping that gathers multiple transactions from
multiple connections, all together for increasing the total number
of commits per second.
* Multiple users might be using computers that might be running
on multiple different Operating Systems (OSs) such as Windows,
Linux, Mac, Solaris, Netware, etc. MySQL supports all these
OSs.
* Different users could be using either SQL admin interface tool, a
Graphical User Interface (GUI) computing platform tool, or even
Command Line Interface (CLI) to administer and manage the DBMS.
MySQL supports all three interfaces.
* MySQL DBMS can be used in different use cases and scenarios, thus
different groups of users make use of it for different
purposes.
* The DBMS must have each view to hold only the data of interest to
a user or a group of users.
* Different user groups should be able to work with the DBMS. MySQL
supports this requirement.
* Also MySQL is a multi-threaded SQL database server
software.
* A MySQL DBMS administrator group is required to be created for
the users in the group to read and write anything in the MySQL data
directory and execute on any packaged MySQL binary. MySQL supports
this.
* Different users in a group might have or want different sets of
permissions on the DBMS such as reading, writing, executing,
deleting, or all of the options or a combination of these
permissions. MySQL can support this requirement.
* Users expect and want the data to be consistent, valid, accurate,
and correct, and want to trust the database. MySQL provides and
supports this facility with its integrity feature.
* Users want to access the data they want, and they want to access
the data such as ad hoc queries. MySQL supports this by providing
the "completeness" feature. It helps the users in the group
completely understand the database structure, relationship, and
constraint.
* Additionally, MySQL DBMS provides the below features:
* Flexibility: Users want the DBMS to evolve for the dynamic
changing user requirements, MySQL satisfying the same. MySQL
changes and upgrades its functionality up to the current
need.
* Security: Users want the DBMS to be secure providing
Confidentiality, Integrity, and Availability (CIA). MySQL is
secure.
* Efficiency: Users do not want unduly long response times when
they are trying to access data. MySQL performs effectively.
* Scalability.
* Usability: Users want the DBMS to be available and accessible so
they can work on the data accessing, reading, editing, and writing
it on the DBMS per the users' requirements.
* Users want a control mechanism for preventing interference or
clash from simultaneous users and the DBMS should be able to
recover data from failures. MySQL provides this capability with its
transactional processing feature.
* Users of a group want tools for improving and monitoring the
performance of the DBMS. MySQL provides this capability through its
database tuning feature.
* MySQL controls simultaneous users of a group.