The benefits and limitations of different database technologies

The benefits and limitations of different database technologies

Traditional file base approach is a collection of data stored in an organized file. Each application will be used to perform services for the end-users and each program will manage, store and use data in different way (Thomas M Connolly, Carolyn E. Begg, 1995). For instance, in a shop a manual file is set up to hold all external and internal sequence associating with product, supplier, client and employee. Normally, for safety, all files are labeled and stored in one or more cabinets. When we need create a report with data from files, we have to open the cabinets and search through the system starting from the first entry until we find what we want. However, if other people want to create a report from data files, it is impossible because they do not have "key" to open the cabinets and they do not know how to search for information. According to (Thomas M Connolly, Carolyn E. Begg, 1995), there are five limitation of a file-based approach such as: - Separation and isolation of data is means we will difficult to access the available file. For example, from two files; student and teacher, you will difficult to list all student of teacher's class. - Duplication of data is wasteful. It makes us waste time and money to re-enter the data. It's need more additional storage space and cost. Inconsistencies of data is important. For example, you stored customer's information in 2 files A1 and B1. If a customer changes the address and you change data in file A1, when customer order a product, you will be sent to the wrong address. - Data dependence be construed as a file structure is defined in the program code, and to work with this file, your application must know the way the file stored data. For example, a file is used to store student information with fixed format as "name#age#address#class", if we do not know format of data is stored in the file, we cannot read that file's data. - Incompatible file formats: is construed as programs are written in different languages will generate files with different structure; so too difficult to access and process each other's files. For instance, the structure of a file generated by a Java program may be different from the structure of a file generated by a ‘C’ program - Fixed Queries/ Proliferation of application program: is construed as each programs are written to satisfy particular functions with data types or queries are fixed, so each new requirement will need a new program. So, a new approach was demanded to remove all the limitations of the file-based approach and more effective is known as Database approach. First is about database, it is a collection of logically related data stored, designed to meet the requirements an organization or users. (Thomas M Connolly, Carolyn E. Begg, 1995). The database is a single, large repository of data which can be utilized simultaneously by several departments and users. Despite of the disconnected files data is not necessary, all data is integrated with a minimum amount of duplication. Not only keeps operational data of the organization, the data base is also known as a describing collection of data. In the database approach, data was divides based on application programs and stored in database. The application programs are unaffected when added new data structures or edited existing structures, as long as they do not directly depend upon what has been edited. The final term in the definition of a database is "logically related". The entities, the attributes, and the logical relationships between the entities are identified when analyzing information and represented by the database. Here is example of Entity Relationship Diagram (ERD): Example Entity–Relationship diagram

Database management systems is a computer software used for define, create, manage and control access to the database (Thomas M Connolly, Carolyn E. Begg, 1995). The DBMS provides some facilities as: *- It allows users to define the database through a data definition language (DDL). DDL allows users to define the structure, data types, and constraints on the data stored in the database.

  • Via a DML, it enables users to handle data from database such as insert, update, delete and retrieve. The most popular query is the Structured Query Language (SQL), nowadays, it is a standard language and formal for relational DBMS.
  • It provides access control to the database such as block unauthorized access. There are different types of DBMS technologies, this assignment would introduction briefly the several typical ones:
  • CODASYL: CODASYL DBMS is a multi-user run on the OpenVMS operating system. It can be used to access and manage the different databases. It provides the ability for multiple users to access the same time without compromising the security and integrity of the database user. (Codasyl dbms)
  • Relational DBMS: is a system based on the relational model specified by Edgar F. Codd in 1970. RDBMS uses tables to store data. Relational database uses relational model to shown the relationship between tables by using primary keys, foreign keys and indexes. Storing data in RDBMS is faster than old navigational model, so RDBMS is widely used by the enterprises and developers for storing complex and huge amount of data. (Relational DBMS?)
  • Object-Relational DBMS: is a DBMS similar to a relational database except that it has an object-oriented database model. It provides a middle ground between relational databases and object-oriented databases. It also directly supported database schemas in the query language and supports to spread data model with custom data types and methods. (Object-relational database)
  • Object-Oriented DBMS: were developed in 1980 to be able to store the data elements as objects in a database. It uses object-oriented model. Objects are stored in a database in a way that corresponds to their representation in the programming language (Java, C++...) without the need of conversion or decomposition. In addition, the relationships between the objects should be maintained in database with some kinds of support for classes of objects, inheritance of class properties, methods by subclasses and their objects. Object databases often use SQL-like query language for handling of objects. (Object oriented DBMS)
  • NoSQL: “NoSQL Database is a scalable, distributed NoSQL database, designed to provide highly reliable, flexible and available data management across a configurable set of storage nodes”- (Oracle NoSQL Technical Overview) . In NoSQL database, data is stored as the document, object. It's help run queries easily and faster than RDBMS. In addition, NoSQL can work with non-structure data and conversion the data structures is easy and fast.* In addition to the advantages, in DBMS also has a few disadvantages. There are some advantages as compared to traditional file-based approach such as: *- Controlling data redundancy: In DBMS, all the data is stored into a single database and it is not duplicated. The data is recorded at only one place in database. For example, when a mobile shop uses database to store the customer’s information and order detail, there are some several information that are identical such as: customer name, customer phone number... and all of this will be integrated into a single database.
  • Data consistency: By controlling the data redundancy, the data consistency is obtained. If a data item is stored only once in a database, any update of its value will be available immediately to passing for users. If a data item appears more than once in the database, the system may ensure that all copy of the item is kept consistent.
  • Sharing of data: In DBMS, data can be shared by authorized users of the organization. In this way, more users share more of the data or access the same set of information simultaneously. In addition, the data of same database can be shared to other application.
  • Integrity can be enforced: Incorrect data cannot store in database. In order to ensure the integrity of the data, so there are some integrity constraints are enforced on the database. Capabilities for define and enforce the constraints should be provided by a DBMS.
  • Improved security: Database security is construed as blocking the access from unauthorized users and only allowed the access from authorized users. If there are not the appropriate security measures, data can be falsified or destroyed. In addition, some users can be allowed to access some part of database.
  • Improved backup and recovery services: A DBMS provides the basis for recovering data from the hardware or the software failures. For example, when computer systems perform complex operations, DBMS must ensure that the data was backed up and can recover the data before the program program started executing.
  • Enforcement of standards: DBMS is a central system, so integration allows to the DBA enforce the standards easily may be at Company level, Department level, National level or International level. The standardized data is very helpful during exchange or data.
  • Concurrency control: DBMS allows multiple users to access the data in the same time.
  • Solving Enterprise Requirement than Individual Requirement.* (Thomas M Connolly, Carolyn E. Begg, 1995) Although there are many advantages of DBMS, there are several disadvantages exist in DBMS as list below: *- Size: A DBMS is required lots of space and memory to run application efficiently because it's a big software and complexity.
  • Cost of DBMS: Cost of DBMS based on size and functionality of organization if required. Initial investment costs for the DBMS is high because we have to invest in hardware, software, and staff training. In addition, we have to pay periodic maintenance cost.
  • Cost of conversion: Cost for the conversion of data from the old system to the DBMS is very high. This cost includes the cost of training staff to convert data to the new system.
  • Higher impact of a failure: As we know that in DBMS, all the data is stored in single database. Any accidental failure of component may cause loss of valuable data.
  • Complexity: A DBMS is very complexity because it's perform a lot of requirement and solve many problems related to database. DBA and end user of database must have complete skills to use it properly, otherwise it will cause data loss or database failure.*

Refs