Comparison of Database Management Systems

1. Introduction

2. Database Management System

2.1 What is a Database Management System (DBMS)

2.1.1 Components of a Database Management System

2.1.2 Advantages of a DBMS

2.1.3 Disadvantages of a DBMS

2.1.4 Suppliers and Costs

2.2 Alternative to DBMS’s

2.2.1 What is a file system

2.2.2 Advantages of File Systems

2.2.3 Disadvantages of File Systems

2.2.4 Suppliers and Costs

2.3.Open Source  2.3.1 What is open source

2.3.2 Advantages of open source

2.3.3 Disadvantages of open source

2.3.4 Suppliers

3. Enterprise Resource Planning (ERP)

3.1 What Enterprise Resource Planning

3.1.1 Advantages of ERP Systems

3.1.2 Disadvantages of ERP systems:

3.1.3 Implementing an ERP system

3.1.4 Cost of ERP system

3.1.5 Suppliers and Costs:

4. Outsourcing data management to the Cloud

4.1 What is the cloud

4.1.1 Advantages of outsourcing to the cloud

4.1.2 Disadvantages of outsourcing to the cloud

4.2 Cloud Solutions:

4.3 Deployment models:

4.4 Suppliers and Costs:

5. Conclusion

6. Appendix

1. Introduction

PlayOn Toys should invest in a Database management system; this report will assess the options available and outline the pros and cons of each option

2. Database Management System

2.1 What is a Database Management System (DBMS)

A Database management system (DBMS) is software designed to manage and maintain large quantities of data. The DBMS serves as the mediator between the user and the database. The database structure itself is stored as a collection of files. The data in these files can only be accessed through the DBMS. A single, integrated view of the data in the database is shown to the user by the DBMS. All application requests received by the DBMS are translated into complex operations required to fulfil these requests. The database’s internal complexity is hidden by the DBMS from the application programs and users. The application program might be written by a computer programmer using a programming language, such as Visual Basic, NET, Java, or C#, or it might be created through a DBMS utility program. (Coronel and Morris, 2016)

2.1.1 Components of a Database Management System

A data definition language (DDL) allows users to define the database. The DDL allows users to choose specific data types and structures and implement constraints on the data to be stored in the database. The DBMS also allows users to insert, update, delete, and retrieve data from the database, usually through a Data Manipulation Language (DML). Structured Query Language (SQL) is the most common query language used. A DBMS has five main components – Hardware, software, data, procedures, and people. (Connolly and Begg, 2005)

  • Hardware: Hardware can range from one personal computer to a network of computers. The hardware will depend on the organization requirements and the type of DBMS used. Some DBMS’s will only run on particular hardware or operating system while others will run on many different varieties of hardware and operating systems.
  • Software: Software includes the DBMS software itself, application programs, and the operating system, including network software if the DBMS is being used over a network.
  • Data: The word datacovers the collection of information stored in the database. Determining which data to enter into the database and how to organize that data is a vital part of the database designer’s job because data is the raw material from which information is created. (Coronel and Morris, 2016)
  • Procedures: Procedures refer to the instructions and rules that control the design and use of the database.
  • People: People refers to the users of the DBMS.(Connolly and Begg, 2005) Five types of users can be identified in a database system: system administrators, database administrators, database designers, system analysts and programmers, and end users.

2.1.2 Advantages of a DBMS

DBMS’s are very important for businesses as they provide a highly efficient method for storing and managing different types of data e.g.(employee records, customer records, payroll, project management and inventory). By using a DBMS sales, product, customer, financial and employee information could be managed more efficiently. This would prevent information being lost and extracting data will be a lot less time consuming. Data can be categorized and structured to meet the needs of the business. (Aveda, 2015)

There are many advantages to a DBMS.

  • Data storage management: The complex structures required for data storage are created and managed by the DBMS. This saves the user from having to define and program the physical data characteristics. (Coronel and Morris, 2016)
  • Efficient data access: A DBMS uses a number of practiced methods to store and retrieve data quickly. (Ramakrishnan and Gehrke, 2003)
  • Data integrity and security: A DBMS can carry out integrity constraints on data, if data is always accessed through the DBMS. For example, before entering an employee’s salary information, the DBMS can check that the department’s budget is not exceeded. (Ramakrishnan and Gehrke, 2003)
  • Multiuser access control: The DBMS uses sophisticated algorithms that allow multiple users to access the database simultaneously without compromising its integrity. (Coronel and Morris, 2016)
  • Backup and recovery management: Backup and recovery is provided by the DBMS. Current DBMS systems provide special services that allow the Database Administrator (DBA) to execute routine and special backup and restore procedures. Recovery management deals with the recovery of the database after a failure, such as a power failure. This is essential to retaining the database’s integrity.(Coronel and Morris, 2016)
  • Data independence: The DBMS separates data descriptions from the applications, making the applications immune to any changes made to the data. In file-based systems data descriptions are built into the applications meaning applications will be changed if data descriptions are changed.(Connolly and Begg, 2005)

2.1.3 Disadvantages of a DBMS

There are many advantages to the DBMS as mentioned but there are also some instances when a DBMS’s performance may not be suitable for some specialised applications. Examples include applications with only a few well-defined critical operations for which custom code must be written or applications with inflexible real-time constraints. Another example is that an application may need to manipulate the data in a way that is not supported by the query language used. A DBMS may not be used if data manipulation requirements or specialised performance are important to an application especially if the advantages mentioned above are not required. (Ramakrishnan and Gehrke, 2003).

There are also some significant disadvantages of DBMS’s that need to be considered:

  • Size: The complexity of functionality of a DBMS makes it a very large item of software. It requires large amounts of memory to run efficiently. (Connolly and Begg, 2005)
  • Increased costs: A DBMS requires advanced hardware and software and highly skilled personnel which can be easily overlooked when setting up. (Coronel and Morris, 2016)
  • Frequent upgrade/replacement costs: Vendors frequently upgrade their products by adding new functionality and features. This results in additional costs to the business to upgrade as new hardware may be required and new training may need to be carried out for database users to enable them to be able to use the new features. (Coronel and Morris, 2016)
  • Higher impact of a failure: The failure of certain components could bring operations to halt as the availability of the DBMS is relied on by all users and applications. (Connolly and Begg, 2005)

2.1.4 Suppliers and Costs

There is a huge choice of Database Management Systems from suppliers such as Oracle, IBM, Microsoft, SAP, and many more. The IT career success website shows us the most popular DBMS’s include: Oracle RDMS- Enterprise Edition – €44527.80 per unit and standard edition – €16,400.00 ), IBM DB2 Advanced Enterprise Server – €1226.00, Microsoft SQL Server standard edition €3,484.00 and enterprise edition at €13,363.00 , SAP Sybase SSE and Postgre SQL. (Stroud, 2017)

2.2 Alternative to DBMS’s

2.2.1 What is a file system

An alternative to a Database Management System would be a file system. File systems are not as readily available as Database Management Systems and have restricted access. However, the advancement of mobile software has brought back the necessity for design templates similar to those on desktop systems. In particular, there is a need to use file systems to manage miscellaneous information.

2.2.2 Advantages of File Systems

There are many cases where a file system may be more suitable than a DBMS:

  • Compression is very important on mobile devices where space can be very limited. Many modern file systems now have a built-in data compression implemented where the user can compress some or all files as needed. This could be useful if PlayOn Toys ever decided to create a mobile application. A DBMS would take up a lot more storage on a mobile device and have no mechanisms for data compression.
  • Large and miscellaneous files are better stored and managed on a file system. SQL-based relational database management systems do not handle large fields of undefined length(BLOBs). These are often kept in a separate file on a disk with references from the database table. Some DBMS’s have a built in mini file system that handles this data but this is an extra level of code which slows down the database and is not very reliable. A file system will let you add files as large as you want and many let you add custom properties. (7 reasons to choose a file system over the database for managing your application data, 2017)

2.2.3 Disadvantages of File Systems

A file system does have its limitations:

  • Separation and isolation of data: Data is stored in separate files so it is not as easy to access as in a DBMS where all the data is stored in one place. (Connolly and Begg, 2005)
  • Data dependence: The structure and storage of data are defined in the application code. This means changes to the data structure are hard to make. (Connolly and Begg, 2005)
  • Incompatible file formats: The structure of the files embedded in the application programs are dependent on the application programming language. For example, if two different departments in a company that program in different languages and a file created by one department is needed by the other department, new software may need to be written to convert the files to a common format to allow processing. (Connolly and Begg, 2005)
  • Long development times: A huge disadvantage with file systems is that extensive programming is required for even the simplest data retrieval. (Coronel and Morris, 2016)
  • Lack of security and limited data sharing: Security and data sharing are closely related. Sharing data among multiple users raises a lot of security risks. Security and data sharing features for data management and reporting programs are difficult to program and are absent from a file system environment.  (Coronel and Morris, 2016)
  • Extensive programming: It can be very difficult to make changes to an existing file structure. In any change to the file structure, changes have to be made to all of the programs that use the data in that file. This is likely to produce errors and a lot of time is then spent debugging the system to find these errors. (Coronel and Morris, 2016)

2.2.4 Suppliers and Costs

2.3.Open Source

2.3.1 What is open source?

Open source software should also be considered here. In the past decade, open source DBMS’s have grown in importance and maturity. Many of the most popular DBMS’s are now open source including MySQL, MongoDB and Postgres. (Asay, 2015)

2.3.2 Advantages of open source

There are many advantages to choosing open source:

  • Developers have more freedom: Once their work is provided with an OSS licence, they can use their code personally or at their next job, even if they are employed with a software company at the time. (Lombardo, 2016)
  • It can be customised to meet the organisation’s needs: Skilled programmers can adapt the source code to meet the needs of the company. (Lombardo, 2016)
  • Free support: There is a global community of users and developers available to ask questions and look for advice.
  • Less bugs and faster fixes: Due to the fact millions of people are looking at the source code daily, there is a much higher chance that more bugs are discovered compared to the code from a proprietary vendor with far less development staff. Open source communities are typically very quick to fix bugs as there are so many people looking at the source code. (‘Open-Source vs. Proprietary  Software Pros and Cons,’ 2015)
  • No vendor lock-in: Using open source software means you are not locked into using a vendor’s system which will only work with their other systems. There is also expensive licence fees and the inability to customise.(Tang, 2014)

2.3.3 Disadvantages of open source

There are also some disadvantages of open source that need to be considered.

  • Lack of features: Proprietary software may have extra features that are unavailable on open source versions.(Open source software)
  • High maintenance overhead: As the source code can be freely viewed and edited, there will be more suggestions for bug fixes and patches. This may lead to numerous patches, which will make the source code more complex and possibly lead to structure quality issues.(Tang, 2014)
  • Lower security: Open source software may not be suitable for some sensitive client data. Many organisations do not use open source when handling medical and financial data. (Tang,2014)

3. Enterprise Resource Planning (ERP)

3.1 What Enterprise Resource Planning

Enterprise resource planning is a business process management software that allows a company to manage the business and automate many back office tasks in all areas of the company by using a system of integrated applications. (Beal, 2017)

ERP systems are designed around a familiar, defined data structure (schema), usually one that has a common database. ERP systems provide access to enterprise data from multiple actions using common constructs and definitions and user experiences.(Oracle) One of the most important concepts of an ERP system is data is only entered once and can then be used throughout the organization. Many errors in informations systems are caused by human beings, with only one person entering this data there should be less errors. (Monk and Wagner, 2013)

3.1.1 Advantages of ERP Systems

There are many benefits to implementing an ERP system:

  • Improved efficiency: A key benefit is an ERP system can bring order to the company’s data. All users in system can create, store and use the same data as it will be stored in the one place. Without an ERP there could be several databases with an endless amount of disconnected spreadsheets. (Oracle)
  • Lower operational costs: ERP systems are created to support and automate business processed. Through defined and more streamlined processes there are lower operational costs. (Rothlin, 2010)
  • Quality improvement: The quality of products and services is improved by consistent design, production and sales order handling processes.(Rothlin, 2010)
  • Better resource management: ERP systems can improve process visibility, which leads to more performance data being available.
  • Global integration: Barriers of currency exchange rates, language, and culture can be connected automatically, so data can be integrated across international borders. (Monk and Wagner, 2013)

3.1.2 Disadvantages of ERP systems:

There are also some disadvantages of ERP systems:

  • Complexity of ERP systems: Organisations may not adjust to the ERP software
  • Requires experts to maintain ERP Systems: This will be costly to hire experts to come in and manage the ERP system.
  • Training: Training is required for all users to be able to successfully use the ERP system everyday as ERP systems can be quite difficult to use. This is an extra expense as all users in the organisation will need to be trained.
  • Limited customisation: You may not be allowed to design the application as per the businesses requirements. (What is ERP (Enterprise Resource Planning) – ERP software system)

3.1.3 Implementing an ERP system

There are five important steps that should be followed to successfully implement an ERP system:

  • Strategic Planning
  • Procedure Review
  • Data collection and clean up
  • Training and testing
  • Go Live and evaluation (W.O’Donnell)

3.1.4 Cost of ERP system

The total cost of an ERP system has a number of factors:

  • The scale of the ERP software
  • The need for new hardware that is capable of running new complete ERP software
  • Consultant fees
  • Length of time required for implementation. This can cause a disruption to the business
  • Training costs: all users of the system will need to be trained to successfully use the new ERP system. (Monk and Wagner, 2013)

4. Outsourcing data management to the Cloud

4.1 What is the cloud

According to the National Institute of Standards and Technology (NIST) the definition of cloud computing is:

“Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.” (Mell and Grance, 2011)

4.1.1 Advantages of outsourcing to the cloud

Many organisations are now moving towards outsourcing their data management to the cloud. There are many benefits to this:

  • Metered Service: Organisations pay for actual usage. They can also do accurate cost-benefit calculations and manage how the system is used due to having better data.
  • Scalability: Cloud computing makes it much easier for companies to scale their services. They can be deployed very fast when new requirements arise as computing resources are managed through software. One of the main objectives of cloud computing is to scale resources up or down dynamically through software APIs depending on client requirements with minimal service provider interaction. (Avram, 2014) http://www.sciencedirect.com/science/article/pii/S221201731300710X
  • Outside access: Cloud based applications and services can be accessed from anywhere once you have a device with an internet connection.

4.1.2 Disadvantages of outsourcing to the cloud

There are also many disadvantages that should be looked at before outsourcing data management to the cloud.

Accessibility: It is very difficult for a provider to guarantee they have 24/7 access. It is advisable to find out what measures the provider has in place for outages etc. first.

  • Data security: The cloud provider is responsible for the security of the company’s data and access to the application. Before contracting with the provider, determine what these controls are and if they are as good as or better than internal controls would be. (International, 2010)

4.2 Cloud Models:

There are three cloud models that need to be considered before deciding on the best option.

  • Software as a Service(SaaS) – Third party services are assigned the task of managing and deploying services
  • Platform as a Service (PaaS) – Provides a platform where software can be developed and deployed.
  • Infrastructure as a Service (IaaS) – made up of automated and scalable compute resources, along with cloud storage and network capability which can be metered and available on-demand. IaaS is used for the development and deployment of SaaS, PaaS and web-scale applications. https://www.computenext.com/blog/when-to-use-saas-paas-and-iaas/

4.3 Deployment models:

  • Public cloud: vendor-provided environments that allow you to place your workloads off-site.
  • Hybrid cloud: combination of at least one public and one private cloud allows for shifting workloads, but requires some additional management tools.
  • Hosted private cloud: Local cloud installation (Sclafani,2013)

4.4 Suppliers and Costs:

Salesforce SaaS: Amazon Web Services: Pay as you go starting from Microsoft AzureGoogle App Engine- PaaS: IBM cloudOracle Cloud

5. Conclusion

A DBMS is a piece of software that is designed to make the preceding tasks easier. By storing data in a DBMS, rather than as a collection of operating system files, we can use the DBMS’s features to manage the data in a robust and efficient manner. As the volume of data and the number of users grow—hundreds of gigabytes of data and thousands of users are common in current corporate databases—DBMS support becomes indispensable.

6. Appendix

7 reasons to choose a file system over the database for managing your application data (2017). Available at: https://www.eldos.com/solfs/articles/7853.php?page=all.

Asay, M. (2015) ‘Why your next database will be open source’. Available at: http://www.infoworld.com/article/2928610/database/why-your-next-database-will-be-open-source.html.

Aveda, S. (2015) ‘What is the importance of a Database Management System’, LinkedIn.

Avram, M. G. (2014) ‘Advantages and Challenges of Adopting Cloud Computing from an Enterprise Perspective’, Procedia Technology, 12, pp. 529-534.

Beal, V. (2017) ERP- Enterprise Resource Planning. Available at: http://www.webopedia.com/TERM/E/ERP.html.

Connolly, T. and Begg, C. (2005) Database Systems – A practical approach to Design, Implementation and Management. Fourth edn.

Coronel, C. and Morris, S. (2016) Database Systems – Design, Implementation and Management. Twelfth edn.

International, A. (2010) Guidelines for outsourcing records storage to the cloud. Available at: http://www.arma.org/bookstore/files/ARMA-Outsourcing%20Cloud%20PDF-final.pdf.

Lombardo, C. (2016) ‘Pros and Cons of open source software’. Available at: http://visionlaunch.com/pros-and-cons-of-open-source-software/#.

Mell, P. and Grance, T. (2011) The NIST definition of cloud computing. Available at: http://faculty.winthrop.edu/domanm/csci411/Handouts/NIST.pdf.

Monk, E. and Wagner, B. (2013) Concepts in Enterprise Resource Planning. Fourth edn.

Open source software. Available at: http://www.teach-ict.com/gcse_new/software/types_software/miniweb/pg7.htm.

‘Open-Source vs. Proprietary  Software Pros and Cons’,  (2015), Available: Optimus.

Oracle What is ERP. Available at: https://www.oracle.com/applications/erp/what-is-erp.html#close.

Ramakrishnan, R. and Gehrke, J. (2003) Database Management Systems. Third edn.

Rothlin, M. (2010) Management of Data Quality in Enterprise Resource Planning Systems.

Sclafani,P.(2013 ) Options for outsourcing IT services to the cloud. Available at: http://searchdatacenter.techtarget.com/tip/Options-for-outsourcing-IT-services-to-the-cloud

Stroud, F. (2017) Top 10 Enterprise Database systems of 2017. Available at: http://www.serverwatch.com/server-trends/slideshows/top-10-enterprise-database-systems-to-consider-2015.html.

Tang, A. (2014) ‘Top Advantages and Disadvantages of Open Source Software’, Besthostingsearch.

W.O’Donnell, S. ‘5 Steps to Successful ERP Implementation’, Available: Datacor, Inc.

What is ERP (Enterprise Resource Planning) – ERP software system. Available at: http://www.saponlinetutorials.com/what-is-erp-systems-enterprise-resource-planning/.

The below ER Diagram displays the sales management function for PlayOn Toys.

The ER Diagram is made up of eleven entities – Customer, Employee, Payment, Order, OrderItem, Product, Product Part, Supplier, Supply and Process.

A customer can create zero to many orders. The order is then processed by the Employee, the employee can process many orders and many orders can be processed by an employee. Order and Employee are linked through the entity ‘Process’ to show a many to many relationship. An employee can then process an Invoice from the order that was processed. An invoice can be processed by many employees and many employees can process invoices. A customer can have zero to many invoices whereas an invoice can only be assigned to one customer. A customer can make zero to many payments.

OrderItem is a weak entity from order as it a part of Order. Without an order, there would be no OrderItem. Product and Product Part are weak entities as a Product would not exist without a product part. There is a many to many relation between supplier and product part which is linked through the entity ‘Supply’. A supplier can supply many product parts and product parts can be supplied by many suppliers.

From this ER diagram PlayOn Toys will be able to have reports on total sales made, if payments are made on time, details of all orders, employee records, supplier and product parts records, which supplier supplies certain parts, stock levels.

Professor

You must be logged in to post a comment