IT 655 Milestone One Guidelines and Rubric
Presentation for the Chief Information Officer (CIO) Overview:
IT professionals are often tasked with optimizing, tuning, and resolving various errors associated with large commercial database systems. As the world becomes
more and more focused on the collection and use of data for various purposes, there is a greater need for building database applications that serve numerous
complex functions. The final assessment will provide a comprehensive overview of the concepts, techniques, and skills that you have acquired throughout the
course. The ability to interface a database management system with other applications and even third-party services is a commonly performed task in this
discipline. The scenario, presented below, provides a real-world situation in which such skills will need to be employed.
Scenario:
The County of Everstone is a large county in a densely populated state in the United States. This county has a total of 34 incorporated cities within its boundaries.
Overall, the county has a population exceeding 4 million residents. The county employs a proprietary database management system that is responsible for the
county’s property tax assessment, parcel, and payment information. In a recent initiative, the county has been highly promoting the use of its online property tax
payment and lookup information to reduce mailed payments and in-office visits. The marketing campaign for online property tax payments and information
lookup has been highly successful. However, the county’s database systems have not sufficiently handled the increased traffic. As such, the web application
available to residents often experiences high amounts of latency, frequently locks up, or in many instances is unavailable.
The board of directors has asked executive IT management to look into the issue and provide a prompt resolution to the matter. A review of the hardware and
software systems that the database management systems employ reveals that these systems “should” be able to take the capacity and load. Therefore, the IT
management has ruled out the hardware systems as being the issue. Upon further investigation, a lead database systems administrator preliminarily reports that
the issue appears to stem not from the hardware, but rather from a need to provide performance tuning on the database. The database design seems to be the
culprit, since this database systems administrator noted large quantities of duplicated data, poorly written database queries, and triggers.
Furthermore, the chief information officer (CIO) has also directed the web programmers and web developers to look at the web application for potential issues.
The web development team has reported that while no design or programming issues were found with the web application, the stored procedures (queries) that
it runs from the database server take long periods of time to run and frequently lock up the web server ...
IT 655 Milestone One Guidelines and Rubric Presenta.docx
1. IT 655 Milestone One Guidelines and Rubric
Presentation for the Chief Information Officer (CIO) Overview:
IT professionals are often tasked with optimizing, tuning, and
resolving various errors associated with large commercial
database systems. As the world becomes
more and more focused on the collection and use of data for
various purposes, there is a greater need for building database
applications that serve numerous
complex functions. The final assessment will provide a
comprehensive overview of the concepts, techniques, and skills
that you have acquired throughout the
course. The ability to interface a database management system
with other applications and even third-party services is a
commonly performed task in this
discipline. The scenario, presented below, provides a real-world
situation in which such skills will need to be employed.
Scenario:
The County of Everstone is a large county in a densely
populated state in the United States. This county has a total of
34 incorporated cities within its boundaries.
Overall, the county has a population exceeding 4 million
residents. The county employs a proprietary database
management system that is responsible for the
county’s property tax assessment, parcel, and payment
information. In a recent initiative, the county has been highly
promoting the use of its online property tax
payment and lookup information to reduce mailed payments and
in-office visits. The marketing campaign for online property tax
2. payments and information
lookup has been highly successful. However, the county’s
database systems have not sufficiently handled the increased
traffic. As such, the web application
available to residents often experiences high amounts of
latency, frequently locks up, or in many instances is
unavailable.
The board of directors has asked executive IT management to
look into the issue and provide a prompt resolution to the
matter. A review of the hardware and
software systems that the database management systems employ
reveals that these systems “should” be able to take the capacity
and load. Therefore, the IT
management has ruled out the hardware systems as being the
issue. Upon further investigation, a lead database systems
administrator preliminarily reports that
the issue appears to stem not from the hardware, but rather from
a need to provide performance tuning on the database. The
database design seems to be the
culprit, since this database systems administrator noted large
quantities of duplicated data, poorly written database queries,
and triggers.
Furthermore, the chief information officer (CIO) has also
directed the web programmers and web developers to look at the
web application for potential issues.
The web development team has reported that while no design or
programming issues were found with the web application, the
stored procedures (queries) that
it runs from the database server take long periods of time to run
and frequently lock up the web servers. They suspect the
queries were not designed for
efficiency, since they were created before more individuals
started using the online property tax payment system.
3. Prompt:
Review the scenario and create a presentation for the CIO that
addresses, in detail, the key issues pertaining to performance
and database efficiency, while
touching on recommendations for improvements.
Specifically, the following critical elements must be addressed
during your presentation:
I. Performance Tuning: Describe what potential types of tuning
could be done to enhance database performance, and how you
determined this from your
analysis of the provided information.
II. Query Design: Explain the application of query design and
how queries can be made more efficient, in general, according
to industry best practices. Your
discussion should specifically touch upon, at minimum, issues
relating to joins, sub-queries, and sorting.
III. Data Duplication and Redundancy: Provide an explanation
of potential database normalization and other techniques that
can be utilized to reduce data
duplication and redundancy within the scenario organization.
Describe areas where database redundancy could be occurring.
Be sure to identify
potential techniques that would improve the database within the
context of the problem.
IV. Multiple-User Access Issues and Errors:
a) Describe various applicable methods that will resolve record
concurrency errors and issues as they occur in the scenario.
4. b) Describe methods that could be used to enhance multi-user
access within the context of the commercial database used in
the scenario. Be sure
to defend your reasoning for recommending these methods.
Guidelines for Submission: This presentation should be
approximately 5–6 slides, not including reference and title
slides. All references should be in APA format.
The format and tool used for your presentation must be
approved by your instructor. It is recommended, however, that
free tools with IT support be used, such
as Jing, or more traditional tools such as PowerPoint (with
accompanying presentation notes), since they will allow you to
record yourself giving a presentation.
Instructor Feedback: This activity uses an integrated rubric in
Blackboard. Students can view instructor feedback in the Grade
Center. For more information,
review these instructions.
Critical Elements Proficient (100%) Needs Improvement (70%)
Not Evident (0%) Value
Performance Tuning Describes types of tuning that
would logically enhance database
performance based on analysis of
scenario information
Describes types of tuning, but types
would not logically enhance
database performance or types are
not based on analysis of scenario
information
5. Does not describe types of
performance tuning
19
Query Design Explains the application of query
designs and how queries can be
made more efficient according to
industry best practices
Explains the application of query
designs and how queries can be
made more efficient, but not based
on industry best practices
Does not explain the application of
query design and how queries can
be made more efficient
19
Data Duplication and
Redundancy
Explains data duplication and
redundancy issues that could be
occurring and provides logical
normalization and other techniques
for improving the scenario database
Explains data duplication and
redundancy issues that could be
occurring and provides
normalization and other
techniques, but techniques would
not logically improve the scenario
6. database
Does not explain data duplication
and redundancy issues that could
be occurring and provide
normalization and other techniques
19
http://www.techsmith.com/jing.html
http://snhu-
media.snhu.edu/files/production_documentation/formatting/rubr
ic_feedback_instructions_student.pdf
Multiple-User Access Issues
and Errors: Concurrency
Describes various applicable
methods for solving record
concurrency errors and issues as
they occur in the scenario
Describes various methods for
solving record concurrency errors
and issues, but methods may not
be applicable to the issues as they
occur in the scenario
Does not describe various methods
for solving record concurrency
errors and issues
19
7. Multiple-User Access Issues
and Errors: Enhancement
Describes and defends
recommended methods that can be
used to enhance multi-user access
within the context of the scenario,
and defense includes support
Describes and defends
recommended methods, but
methods would not be useful in
enhancing multi-user access within
the context of the scenario or
defense lacks clarity, detail, or
support
Does not describe and defend
recommended methods for
enhancing multi-user access
19
Articulation of Response Submission has no major errors
related to citations, grammar,
spelling, syntax, or organization
Submission has major errors related
to citations, grammar, spelling,
syntax, or organization that
negatively impact readability and
articulation of main ideas
Submission has critical errors
related to citations, grammar,
spelling, syntax, or organization
8. that prevent understanding of ideas
5
Earned Total 100%
Running head: IT 655 MILESTONE ONE
7
Assignment: Database Performance Tuning
Student’s name
Prof’s name
Course title
Date
Introduction
Performance tuning refers to a group of activities that help to
optimize performance of a database. Performance tuning helps
to minimize response time for queries and to maximize
throughput of the database through utilization of resources like
9. network traffic, CPU time or access to disk. A fully optimized
database depends on the type of database management system
used as well as the database environment configuration. From
the situation given, the database System at the County of
Everstone is characterized by high amounts of latency, high
downtimes, queries taking long to run leading to locking up of
the server, data duplication among others. This database
therefore needs to be optimized using a variety of ways
discussed below.
Performance tuning
It can be achieved through Performance test, Load test, stress
test, and Capacity test. Each of the aforementioned have been
discussed below.
Performance testing is a technique applied when you want to
investigate the responsiveness, speed or scalability of the
database. Responsiveness here refers to the time it takes to
receive feedback from the server after sending a request.
Scalability is the ability to meet a couple number of needs. We
need to understand the problem we are facing before we start
the process of tuning the database. It is reported that the system
in place has experienced tremendous increase in traffic as the
county takes most of its services online. As a result we have
seen that there has been high amounts of latency experienced in
the web application as well as locking u the database access or
even being inaccessible. Need for testing the database is
therefore very crucial in order to know how to optimize it
Load test helps to verify database behavior during normal and
peak conditions. Test can determine the breaking point of the
database which can then be re-configured so as to meet the
objective thus ensuring the system is up all the time for the
people within the county to access it all the time. Load test also
helps to determine throughput rates and resource utilization
levels. Endurance testing can be used to find the Mean Time
Between Failure (MTBF) and Mean Time To Failure (MTTF)
among other essential metrics.
10. Stress testing. This test will help to validate the application or
database’s behavior when subjected beyond the normal
conditions. Stress testing will ensure that the system will not
fail when under high load. The database administrator at the
county has noted that the system currently fails when a high
number of users access it and therefore it is good if this stress
testing is done with extreme data values so that it will ensure
the system does not fail even during those peak hours.
Capacity testing – it helps determine the number of users that
the system can support at about given time without failing. This
testing helps in planning for the future growth and demands as
well as to identify the scaling strategy. In the scenario given the
demand of the online services has been on the rise and there is
need for capacity testing to ensure the database is able to
support current number of people at the moment and also in the
future due to the nature of the increase In demand.
Query Design
Queries are used to retrieve data from a database. When
performance of a database is of great concern then best
practices in query design have to be considered. The database of
the county of Cornerstone seem to have a problem with the
design of the queries considering the analysis from the senior
system administrator who reported that the queries takes long to
be executed and finally leading to locking of the web server and
thus frustrating the users. These queries must optimized so as to
improve performance of the database. There are a couple of
ways to achieve this. One is to create indexes properly.
Indexing allows queries to access database very fast thus
improving on speed which has been a problem in the current
scenario. Indexing makes it faster for insert, update and select
statements thus improving database efficiency. Another way to
achieve is to retrieve only needed data. In small database * is
normally used to retrieve data. In large database like County
database, data retrieval must involve specifying columns. This
makes retrieval fast and therefore improving the efficiency.
Another technique is avoiding functions on the left hand side of
11. the operator. Functions can be used in select and where clause
but when used in in where clause can lower performance hence
the administrator should ensure there are no functions in the
queries and if they exist then there is need to reduce them.
Correlated queries can also be the source of slow queries. A
correlated query is a query that operates on the data obtained in
outer query from its WHERE clause. Wildcard characters at the
start of the Like pattern should be eliminated. For instance the
use of the % wildcard prevents use of index on a column and
this will compromise the speed.
Data duplication and redundancy
Data duplication refers to existence of same data in more than
one table. This normally occurs because of poor design of the
database that is characterized by poor normalization. A fully
normalized database up to the 3NF eliminates data redundancy.
Redundant data leads to wastage in storage capacity as well as
reducing efficiency in searching or look up that the county
database mostly use. Normalization is achieved with logical
design of the database while keeping the end user at the back of
the mind. This is about understanding the needs of the users and
what they will be doing in the system, in this case, the people
making payments for the tax. The design will consider things
like the kind of data to be stored in a database, how the user
will access, privileges granted to user data commonly accessed
among others. This logical design will finally reduce the data
repetition.
Concurrency
Concurrency in database can be thought to be the ability of
more than one process to gain access and modify the shared data
at ago. Concurrency issues in a database can easily compromise
the integrity of data hence need to control it. Two methods of
concurrency control are in use. One is pessimistic control while
the other is optimistic. In pessimistic control the DBMS system
locks the data being accessed by one user after which it releases
so that other users can access it. This is more applicable in
places where data contention is high. This method is very easy
12. to implement and ensures that the changes made to the database
are securely and consistent. Since this method is mostly not
scalable it may not be applicable to the problem at hand and we
therefore shift our focus to the next one, optimistic concurrency
control. With this method, data being accessed is not locked.
When data is updated, system makes a check to determine if
another user changed data after the last read operation. If the
case is true then an error is raised and the user is forced roll
back the transaction and retry again. Considering the nature of
the tasks performed in this scenario involving multi-user access,
undoubtedly this method is most appropriate.
It is reported that the web application constantly locks up as the
number of users increase. This is an issue of concurrency access
where many people try to access many records and because the
queries are poorly designed, execution time exceeds the set
application access time thus causing locking. Optimistic
approach will help solve this problem when the queries will
have been modified as have been suggested above. Another way
we can handle concurrency is through serialization. This refers
to isolating actions of different database users that are
accessing the same data at once. A database user is made to feel
like he/she is the only one accessing it. When one transaction is
started, isolation from any changes occurring to its data coming
from subsequent transactions begins.
Basic time stamping is another mechanism which eliminates
deadlock from occurring as it makes no use of locks in order to
control concurrency. It works by creating a unique timestamp
assigned for each transaction, and bearing time it was started.
This essentially allows age to be assigned to transactions and an
order to be assigned. Data items are assigned read-timestamp
and a write-timestamp. These timestamps are updated regularly
when data item is read or updated. This technique can surely
resolve the locking problem that is experienced in the current
database.
Conclusion.
Various concepts have been discussed concerning the scenario
13. given. If all these are taken into consideration, it is no doubt the
optimization of the database will be achieved and the problems
currently experienced will come to an end.
Reference
msdn.microsoft.com (2016). Types of Performance Testing.
Retrieved from:
https://msdn.microsoft.com/en-us/library/bb924357.aspx
www.vertabelo.com (2016). 5 Tips to Optimize Your SQL
Queries. Retrieved from:
http://www.vertabelo.com/blog/technical-articles/5-tips-to-
optimize-your-sql-queries
www.informit.com (2016). The Database Normalization
Process. Adapted from:
http://www.informit.com/articles/article.aspx?p=30646
www.agiledata.org (2016). Introduction to Database
Concurrency Control. Retrieved from:
http://www.agiledata.org/essays/concurrencyControl.html
Milestone one needs to be in the Presentation(PPT) format and
kindly make sure to cover all the points in the rubric which
needs to be addressed. Below is the question for mile stone one
and also look at the PDF file for the rubric.
3-1 Final Project Milestone One: Presentation for the Chief
14. Information Officer (CIO)
Submit a Presentation for the Chief Information Officer (CIO).
Your presentation should address in detail the key issues
pertaining to performance and database efficiency, while
touching on recommendations for improvements. Your
instructor must approve the format and tool used for your
presentation.
For additional details, please refer to the Milestone One Rubric
document and the Final Project Document in the Assignment
Guidelines and Rubrics section of the course.