This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.
Nowadays, there are a lot of organizations and enterprises have grown up. Those organizations conduct a lot of activities that related with data and information as their core business like maintain business information, process business transactions, provide customer services and etc. To carry through organization operation, there is a lot of information and data need to be store to the server and backup carefully. So that database management system act as an important role for an organization.
A database management system is a kind of computer software package that designed to controls the database creation, maintenance, retrieval or storage of data and manage information which includes manipulate information using mechanisms and defining the structures for information. Besides that, it also provides some facilities such as enforcing data integrity, restoring data in database, handling data concurrency control, and managing data access.
There are different of database model used in database management system for defining the schema of database like relational model, hierarchical model, network model, object oriented model and multidimensional model. Based on the research, the most commonly used model is the relational database model. Many of the existing database systems are based on the relational model and it usually used by microcomputer and mainframe systems.
As a system developer or programmer, there are a lot of criteria for programmer to choose a suitable database for a system that want to be develop, programmer can based on the integrity, manageability, compatibility, availability and performance of the database management system. In the market, there are several database systems to let programmer make their chosen, for example Microsoft SQL Server, Microsoft Access, Microsoft Visual Foxpro, Oracle, DB2 and etc. In this seminar research will be focus discuss on Oracle and also Microsoft SQL Server, evaluate the abilities of both database that will use for develop the final year project. In cafeteria management system there are some information such as information of member, staff, appointment and etc that needs to be request by offline and online systems. Thus, database playing an important role when develop a system.
Overview of Oracle Database
According to Abramson (2004), in 1977 Oracle Corporation had developed and published Oracle Database, Oracle Database is a relational database management system (RDBMS). In the Oracle Database System it had consists of physical and logical structures including alphanumeric system identifier which has a set of memory structure and processes that to be used to interact with the database storage. The following are the structures and processes that included in Oracle Database which mentioned by (Abramson, 2004).
The control files contain the system information and status like sizes, names and locations of the database files and redo log files in binary form and it is the essential role in Oracle Database. When the Oracle database started execute the control files will start to read the information that contain inside, so that the files described can support to run the database. If without the control files then Oracle Database cannot started to perform.
The redo logs or transactions logs are perform to stores the activities information interact with the Oracle Database. The transactions or activities such as create new information, update information, and delete information. In order to support the circumstance in Oracle Database, there are at least two redo logs or more than two of the redo logs.
The data storage stores the data physically in the form of data files, while logically in the form of Tablespaces. The data storage formed by the data blocks that contains extents of memory segments and the data stored in a SYSTEM Tablespace that consist the data dictionary. A data dictionary make up by a collection of tables that defines the attributes of the data inside the database and consist the information like names and data types of the database tables like alphanumeric or numeric format, information on size of fields or space allocated for application, user information like grants the privileges for users to access the data based on the user's types.
There are also having other Tablespaces such as Default Temporary, SYSAUX Tablespace, Tablespace and Undo Tablespace. When insufficient memory allocated while processing the query the Default Temporary Tablespace can provide the secondary activities work area for it. The objects of the tools and options are stored into SYSAUX Tablespace. The the Undo Tablespace is used to restore the data to a previous state.
Abramson (2004) mention that background process is use to facilitate the database operations when running in the background. There include the following processes:
Database Writer (dbwr) - responsible for writing the content of the database buffers to the disk.
Log Writer (lgwr) - managing the writing of information to the online redo logs.
Checkpoint (ckpt) - responsible for updating information of database files during checkpoint activity.
System Monitor (smon) - responsible for controlling the consistency of the database.
Process Monitor (pmon) - responsible for clean up the resources which tied up in the database.
Job Queue Coordination (cjq0) - responsible for create the job processes from the database internal job queue.
Archivers (arc0) - responsible for copying the online redo logs to secondary storage before it reused by next transactions.
1.2 Overview of Microsoft SQL Server
According to (Perry & Post, 2004), Microsoft had developed the Microsoft SQL Server which is another kind of relational database management system. The Microsoft SQL Server can help to handling the relational data and XML data. For better performance in newest version, Microsoft had improved the indexing algorithms and error recovery systems.
The below is the architecture of the Microsoft SQL Server from (Bersinic & Giles, 2004):
To support Database system process the request from the clients, relational engine is acting an important role, relational engine can ensure the data in database with consistency and integrity. Besides that, it has some others functions for example data and database relationship maintenance, executes and optimizes the execution plans.
The storage engine can keep the data consistency and integrity with several functions. Storage engine has the capability to perform read and write of the files in database and ensure the files in database take place properly. Besides that, to prevent data corruption occurs storage engine can perform data backup and restoration.
Networking component enable the client application to interact with the database server and allow client send the request to database server then database server receive and response to client.
Technologies that Communicate
SQL Server .NET Data Provider
The first chapter is introducing some architecture of the Oracle Database and also Microsoft SQL Server, both of them are relational database system, but the operation of the database is using different components.
To maintain the data inside the database both of the databases provided the different components to do the operation. For the Oracle Database using Tablespaces to maintain the data, it consists of different Tablespaces which is SYSTEM Tablespaces, SYSAUX Tablespaces, Default Temporary Tablespaces and Undo Tablespaces. The function of Tablespaces is to define the attributes of data, store objects of the tools, and restore data. For the SQL Server, using the storage engine to ensure the data consistency and integrity, it also performs backup or restoration while the database corruptions occur.
Other operations like process the requests from clients, handle the read and write of the data and maintain the database and data relationship, there are manage by background processes of Oracle Database and relational engine of Microsoft SQL Server.
Chapter 2 - Database Integration
Database is the essential and also an important component of a system. For example, POS system, inventory system, HR management system and etc, as the example above almost all the system need database to store their information or data. So that evaluate the database from different application development platforms is very important. The integration with different platforms will affect the productivity or quality of the programmer or developer. For example, by using a database which the can be more easier integrate with the programmer development tool will affect the time spend for develop a system. The below are comparison of the integration with different application development tools or platforms.
2.1 Operating system Integration
The Oracle Database support most or the operating system in the market such as Unix, Linux, Windows-based platforms and etc. Microsoft SQL Server only works on the Windows-based platforms, which mean the system develop by using Microsoft SQL Server as their database, the system must run on window-based operating system, it is a huge investment of time and money to upgrade all the hardware and software system to Unix or Linux. Oracle database is fully compatible and portable on most of the hardware and operating systems platforms. (Sandra Cheevers, 2004)
2.2 Microsoft .NET Common Language Runtime (CLR) Integration
The following are some of the point that about Microsoft .NET Common Language Runtime (CLR) Integration which mention by (Ruebush, 2005).
CLR 1.0 vs. CLR 2.0
Microsoft SQL Server provide much more application programming interface (API) with the support of CLR version 2.0 compare to the Oracle Database only support with CLR version 1.1. With the feature, Microsoft SQL Server is allowed to integrate the thread and memory management with database server. Besides that, in the database it can make a server-side view of data.
In-Process and Out-of-Process Hosting
Microsoft SQL Server is using the in-process hosting which mean the Microsoft .NET CLR is execute inside the database server process space. So that, the database logic likes functions, stored procedures, user defined functions and triggers can manage code do not need to pay more on the inter-process communication. By the memory management and threading integration between Microsoft SQL Server and Microsoft .NET CLR, it allow the developer to modulate applications. Oracle Database is externally hosting the Microsoft .NET CLR which is called as out-of-process hosting, by using two threading and memory management models where both have their own models and it will be cause the inefficiencies occur.
2.3 Visual Studio Integration
Below discuss about Visual Studio Integration between Microsoft SQL Server and Oracle Database which mention by (Ruebush, 2005).
Microsoft SQL Server
With the SQL Server OLEDB provider which helps integrate between Microsoft SQL Server and Visual Studio, it allows developer communicate with the database by using the Server Explorer. The developer use the Server Explorer to performs some operations. For example, function and triggers, view data in tables, create stored procedures, and create database diagrams.
Visual Studio has provides a tool called Query Designer, which is a tool to help in manage data and create queries in the database. By using the diagram feature developer can see the entity relationship diagrams of the database server.
Through the integration with Visual Studio, the developer is allows to program ADO.NET graphically and have high performance of data access. To connect to the Microsoft SQL Server can be done by using the wizards to guide the user drag and drop the artifacts (SqlConnection, SqlCommand, SqlDataAdapter) onto the design surface.
SQL Server Projects
With the SQL Server Project templates user can manage the database easily. After create the SQL Server Project, there have some templates to add, for example like aggregate, trigger, user-defined function and stored procedure to create different user objects. Then the template will generate the starter code and together with the attributes and references necessary for user object. User has the fully debugging capabilities such as watch variable, break points and stepping to code. Therefore, user can step through between different languages which mean user can step from C# to T-SQL to Visual Basic .NET.
With the Oracle Explorer developer also allows to interact oracle database with Visual Studio. The developer also can view the database objects like tables, stored procedures, triggers, and views. Besides that, by using Table designer it allows the user to create table structure and view entity relationship diagrams.
Oracle Database does not have any project feature supported. So that, it cannot automatically deploy the database objects and cannot manage all the different database object by using Visual Studio.
Debugging Stored Procedures
As mentioned by Ruebush (2005), Oracle integration with Visual Studio did not have the function to debug stored procedures but it can be done by using difference tool such as JDeveloper or using trace files to debug PL/SQL stored procedures.
2.3 Service Oriented Architecture (SOA) Application Development
There are many applications distributed based on the SOA. Both of the databases provided some features to support the development of SOA-based applications. The following are the comparison between the features (Refer to Table 2.1). (Ruebush, 2005)
MS SQL Server 2005
Oracle Database 10g
Native XML type
XML update functions
Yes (path and value indexes)
No (text and functional indexes)
Integration with Visual Studio
Database as Web Service producer
Database as Web Service consumer
Asynchronous Message Queuing
SQL Server Service Broker
Oracle Advanced Queuing
Queues stored in database
Transactional integration with database
Table 1.1 Comparisons on SOA Application Development (Ruebush, 2005)
2.4 Chapter Summary
This chapter discuss about some integration of the database with different platforms such as operating system, Microsoft .Net CLR, Visual Studio and SOA Application development. From the research above, it has shown that both of the databases are integrated by using some similar features. Oracle Database is that more advantage on integration with different operating system, but SQL Server only can integrate with Microsoft-based operating system. On the other hand, Microsoft SQL Server has taking more advantages compare to the Oracle Database where Microsoft SQL Server supports CLR 2.0 which has the capability to more application programming interface and the Microsoft SQL Server in-process hosting improve the efficiency of the systems will be better than the Oracle Database out-of-process hosting.
With Visual Studio integration between Oracle Database or Microsoft SQL Server, both of them provide the server explorer for communicate between the developers and the database. The developers can create the triggers, stored procedures and view data tables. SQL Server Projects can provide the templates to user to create trigger, stored procedure and function but the Oracle Database did not provide any similar project features like SQL Server Projects.
The native XML type is supported by both of the databases, before the XML documents storing to the database will need to validate first and the XML documents are queried by using XQuery. Besides that, both of the databases can perform as the Web service providers and consumers.
Chapter 3 - Backup and Recovery
Database must with a high availability, so that database must always provide an integrity, consistency and also safety for user's data. Thus, the backup and recovery methods in database are very important for a system to ensure the database performing the operations in a safety environment, even there are some data corruption occur the backup or recovery methods also can help to restore the database. The following are the backup and recovery methods owned by databases.
3.1 Oracle Database
Recovery Manager (RMAN)
Oracle Database including a tool called Recovery Manager (RMAN) is a kind of client application that help performs backup and recovery operations. The tool was consisting with RMAN executable functions, target database and recovery catalog, the data information will be stored in a control files inside the target database. The control files include the information of data files that describe the size, name and location of that particular data files and the archive log files. The information will be enclosing from the data file created until the recovery. To manage all aspects of backup and recovery operations oracle provide a RMAN interface to enter commands to do the operation. (Oracle Database Library, 2008)
The client application that manages backup and recovery operations for a target database. The RMAN client uses Oracle Net to connect to a target database, so it can be located on any host that is connected to the target host through Oracle Net.
The control files, data files, and optional archived redo logs that RMAN is in charge of backing up or restoring. RMAN uses the target database control file to gather information about the database and to store information about its own operations. The actual work of the backup and recovery jobs is performed by server sessions on the target database.
RMAN periodically transfer metadata from the target database control file into the recovery catalog. The recovery catalog schema will store into a database called recovery catalog database.
Figure 1.1 Recovery Manager Environment (Oracle Library, 2008)
Figure 1.1 has shown that three hosts with the following types of databases: primary database, standby database, and recovery catalog database. The primary database host has an attached tape drive. The RMAN executable is shown on a separate machine with an associated Enterprise Manager console.
Flashback is using Flash Recovery Area instead of standard backup media to recover the database to a specific point in time. Flashback feature is difference with the RMAN feature because it normally used to recover the smaller data blocks for example row data and simple table, and RMAN normally is used to recover the larger data blocks, so that Flashback feature provide a fast recovery for small data corruption instead of using RMAN recovery the whole database. To perform this feature in database the Database administrator (DBA) must configure a Flash Recovery Area that consists of RMAN backups, Flashback database logs and redo achieve logs. (Otey & Otey, 2005)
3.2 Microsoft SQL Server
Otey & Otey (2005) mention that, Microsoft SQL Server had provides few types of database backup and recovery model. The database backup and recovery model show as the following table.
Simple Recovery Model
Lowest logging overhead
Data after the last backup cannot be recovered
Full Recovery Model
All data modifications logged
All data is recoverable to the point of failure, and also is the default recovery model.
Bulk-Logged Recovery Model
Log all transactions except bulk operations
Can recover to the end of last database
Full Database Backup
Complete copy of database
Offers a known point for restoration
Backup only the modified database pages
Minimize the number of transaction logs
Copy only the transaction logs
Apply after the differential backup
According to Otey & Otey, (2005), below are the different type of database backup & recovery function provided by Microsoft SQL Server.
Transactional Point-in-time Recovery
By using the transaction log backups, it allows users recover the database to any given point in time. Every transaction logs will stores a time stamp that denote when the transaction occurred. The database will be recover to the exact state of the time of it last transaction when restoration.
Database snapshots provide a space to create a read-only view of the database instead of creates a whole copy of the database. So that, it enable the restoration become easy and fast. The below is overview of database snapshots, refer to figure 1.2.
Figure 1.2 Database Snapshots (Otey & Otey, 2005)
As Figure 1.2 show that a database snapshot is different from a database copy. A database snapshot only use the space that is required to contain the changes that are made to the database information. When the database had made some changes, the snapshot will receives original page from the database as own copy. To recover from an unsuitable change to a database, the original page in the snapshot can use to do the restoration.
Log Shipping with a Delay
Log shipping is kind of method that send the Transaction logs from the current database server to another or more backup servers. When the event occur such as database failure or corrupted data, those transaction logs will be used to recover the data. Transaction logs backup will be delay on sending to the backup servers which is because it did not write the transaction logs to backup servers instantly, it only send within a time interval. For example, the transactions logs will be sent to backup servers every five minute, if there is any corruption occurs within five minute then it only can be used to recover the primary database to the state in five minutes before.
The Fast Recovery provides the ability that allows users to reconnect to a backup database while the transaction logs have been rolled forward.
File Group Restore
File Group Restore feature allows by select the filegroup in database and do the restoration only on the corrupted objects. It allows restoring a filegroup at a time, or even a page or group of pages at a time when the primary filegroup is ready.
Chapter 3 is discussing about the different of the methods that using by Oracle Database and Microsoft SQL Server to perform the backup and recovery. From the above we know that, both of the databases are providing their own method to perform recover the database to a specific point-in-time, which is recovery manager (RMAN) for Oracle Database and transactional point-in-time recovery for Microsoft SQL Server. With the flashback and database snapshots methods, it allows user quick restoration with the read-only view of database for small data corruption instead of restore of whole copy of the database which can reduce restoration time spend on restoration while small data corruption. On the other hand, RMAN also consist the recovery log feature which is similar with the Log shipping of Microsoft SQL Server. Microsoft SQL Server have provide some methods on backup and recovery, but Oracle Database also provide same function on backup and recovery with other architecture which is RMAN, RMAN combine most of the backup and recovery method into one function rather than Microsoft SQL Server divide into few method. So that Oracle is more facilitate to meet users requirements.
Chapter 4 - Solutions for Server Failure
There is various numbers of factors that might causes the server cannot be access by the users. For example of server failure factors are software or hardware failure and database server failure. The software or hardware failures can be prevents or improve via the enhancement on the software or hardware. There are few methods provide by each of the database to prevent the database server failure problem.
Below are some of the methods in Oracle Database to help in server failure which mention by (Otey & Otey, 2005).
4.1 Oracle Database
Real Application Clusters (RAC)
Oracle Database had provided a high-availability option which is The Real Application Clusters (RAC) provide prevention to user database against to the server failure. The Real Application Clusters (RAC) had consists of several nodes that are interconnected and provide services for clients, the nodes are able to works as a computing environment with the Oracle RAC software. To perform Real Application Clusters (RAC) it needed a specific hardware platform to support its operation due to support a lot of nodes at a same time and the maximum number of nodes is 64 nodes.
While the server failure occurred, the connection of the client will be suspended for a short period then the locks in the system are remastered and will resynchronize to the nodes of RAC. Oracle RAC had provided 2 ways of the connection failover which is Connection failover and also Transparent Application failover. With the Connection Failover, if there is a failure of connection occurs in the initial connection, then the application will automatically try to reconnect to another active node which inside the cluster with using the same virtual server name. For The Transparent Application Failover (TAF) if there is a communication failure occurs after a connection, that connection can failover to another active node, it requires more system overhead than the connection Failover because it stores the state of the current transaction.
Figure 1.3 Overview of Oracle RAC (Otey & Otey, 2005)
Figure 1.3 shown that an Oracle RAC architecture on the nodes are interconnected with each other.
Data Guard using the transaction logs that inside the production database to manage the copy of database that in standby server with the consistent. This method is similar with the Microsoft SQL Server Database Mirroring and it can manage up to 9 backup copies of production database. When the server failure occurred, the standby database inside of standby server can automatically switch into the production database. Below show that the Data Guard operates in three kind of different modes to pretect database from server failure:
In this mode, the data will be sent to the standby database from the primary database synchronously. In the primary database the transactions cannot be committed until the redo data is available in the standby database. So that, the processing in primary server will be stop while the redo data cannot be written into the standby server.
In this mode, the processing in the primary server will continues as fast as possible after the backup data is written to the standby server. The unavailability of the standby server will not affect the processing in primary server.
In this mode, the backup data is sent from primary database to standby database asynchronously. The transactions processing on primary database are continue and committed without waiting the acknowledgement receipt of backup data from the standby database.
Below are some of the methods using by Microsoft SQL Server to help in server failure which mention by (Otey & Otey, 2005).
Microsoft SQL Server
Windows Clustering Services is a kind of technology to help in protects or prevents server failure for the database, windows clustering service is working together with a physical server or nodes in a cluster, the node work together with other nodes to make a cluster. In a cluster if there is a node cannot function, and then the backup node will provide the same service as the unavailable node automatically to the user, the process called failover, implemented to maintain the transactional consistency. Hardware used and also level of database activity will affect the time taken to perform the failover process. With the N+1 configuration, it is enable a highly available application due to cost effective and flexible.
Figure 1.4 Eight-node Cluster Support (Otey & Otey, 2005)
Figure 1.4 has illustrates an eight-node cluster, there are seven nodes are active to provide service and one passive node is standby waiting to support or be a backup if any of the active nodes failure.
Database Mirroring is provides a database-level failover. Inside Database Mirroring there are three systems using to perform the database-level failover, which is witness primary server and secondary server. The primary server provides normal database services to the clients to running their daily operation, the secondary server as the mirrored database to performing receive and updated the transactions that had been processed in primary server. If there is any event or errors make for primary server failure, then secondary server will be available immediately to continue support clients within a few seconds. The witness is playing the role to determine which system will assume the role of primary server. The Database Mirroring can work with the hardware that supports SQL Server instead of require specific hardware.
Figure 1.5 Database Mirroring (Otey & Otey, 2005)
Figure 1.5 had shown that the architecture of the Database Mirroring, and how primary server, secondary server, witness working together.
Otey & Otey (2005) claimed that, Log Shipping is a low cost, powerful and high-availability method to help user to protect from the server failure. With Log Shipping method available to any hardware platform that can operate Microsoft SQL Server. All the data will store in primary database, Log Shipping will automatically store a whole backup from primary database to the standby server by sending the transaction logs from the primary server to the standby server. User also can configure the log shipping with a time delay for apply the transaction logs in the standby sever with this it can provide a protection for the user errors like application errors, accidental deletes, inaccurate data entries, and etc. Below show that the 3 components which include in Log Shipping.
Primary server consists of the production database. SQL Server Agent jobs make periodic transaction log backups of the production database to capture changes made to the production database.
The standby server contains an unrecovered copy of the primary database. SQL Server Agent jobs on the standby server periodically copy the transaction log backups from the primary server and restore them to the standby database.
This server monitors the status of the primary and standby servers.
Log shipping can work together with the Windows Clustering Services to protect against the server failure.
The Transactional Replication also contains 3 components:
Publisher - is the source that to replicate the data.
Subscriber - is to store the replicated data, it can be one or more Subscribers.
Distributor - data send from Publisher to Subscriber is handles by distributor.
Figure 1.6 Replication (Otey & Otey, 2005)
Figure 1.6 shows that Transactional Replication architecture, the database synchronization at Publisher and Subscriber can be done by using a snapshot of the database source. When the transactions in the Publisher are committed, the transaction will be sent to the Subscribers.
There are disadvantage in this method, although secondary server is always available and ready to used, but there is no automatically process for the secondary server to assume the primary server's role. It also requires a complete database restoration when return to the primary server role.
4.3 Chapter Summary
In this chapter, it is discuss about the methods of prevent server failure that using by each of the database which is Oracle Database and Microsoft SQL Server. Both of the databases are implemented different prevention or solutions for the server failure, for Oracle Database, it is using the Real Application Clusters (RAC) which has some similarity with N-Way Clustering on Microsoft SQL Server. The difference between both of them which is the N-Way Clustering use a passive node to replace or assume the active node services when failure occurs, and the nodes of the Real Application Clusters (RAC) are provide the services with interconnected to each other.
There are other methods like database mirroring and data guard, these 2 methods are responsible to make a full backup of the primary database and store to a secondary database and then the secondary server will provide the backup services when the server failure occurs. The transactional replication and log shipping using in Microsoft SQL Server, it will store a backup of the primary database by sent the transaction logs to secondary server, both of them contains a few similar components such as monitoring server and distributor, primary server and publisher, secondary server and subscriber. But 2 of the methods have their own limitation, for example like transactional replication there is no automatically process for the secondary server to assume the primary server's role and requires a complete database restoration when return to the primary server role. For Log Shipping limitation such as configure with time delay, the transactions logs will be sent to backup servers every five minute, if there is any corruption occurs within five minute then it only can be used to recover the primary database to the state in five minutes before. Although Microsoft provide more method on this but Oracle Database provide Real Application Clusters (RAC) and data guard method with same function compare to Microsoft SQL Server, with a fully function in 1 method is better than using different and also complex method to prevent or protect database from server failure is taking more advantages.
Chapter 5 - Critical Evaluation
The research is focus on the Microsoft SQL Server and also Oracle Database, and the research based on the integrity, reliability, availability, compatibility of the database, there are a few of issues that will be considered in order to select either one of the database to be use on the Final Year Project.
From the compatibility of the databases integrate with different operating system platforms, as the result show that the Microsoft SQL Server unable to perform out of the Windows-based operating system platform, contrarily Oracle Database is able to perform in different operating system platform. From the point of view of the market, there are a lot of companies not only using windows-based operating system, this will be costly if company planning to change operating system environment, although Microsoft SQL Server is low cost but it need to be using together with windows-based operating system and also visual studio to support, so that developer will costly on operating system and visual studio to help the developer to maintain the system. So that integrate with different operating system platform is important. For a long term investment on a system, Oracle Database takes more advantage and will not occur the problem above. Besides that, both of the database are integrated with the Microsoft .NET and Visual Studio which the popular development tool using by developer to develop the system, with the in-process hosting in SQL Server, it provide better performance and manageability for the developers. Besides that, both of them also provided similar features to the SOA Application Development.
It is important on the availability of the database, which is because databases provide a high-availability for the developer or users with the backup and recovery to help in solve few types of failures occur during the processes of the database. For examples of failures there are server failures, site failures, database corruptions and etc. Both of the database systems got different features or methods to provide the backup and recovery functions. With the solutions for the server failure are also improve the availability of databases to improve the confident of the user or developer while using the database. Oracle Database provide recover manager (RMAN) and flashback as the backup and recovery function, while server failure, Oracle Database prevention is real application cluster (RAC) and data guard, which is powerful feature to help in solve various problem that might occur. Although Microsoft SQL Server provide more methods but most of the methods Oracle Database can be perform as well and more methods will causes the complexity when using the database.
In a conclusion, it is required higher cost to create a higher availability and compatibility environment. The both of database system have the feature to provide high level of availability. However, from the compatibility of Oracle database is fully compatible and portable on most of the hardware and operating systems platform, although the cost will be higher a bit but Oracle Database is closer to the market requirement.
Chapter 6 - Conclusion
In a conclusion, choose and decide a database system is very important because success or failure of a system development might be directly affected by the database. So that, to develop a system the research on the databases is required. With a suitable database, it can be affect the time spend on development of the system and also can produce a better quality system to meet the business needs.
From the research on the Oracle Database and Microsoft SQL Server, it has shown that both of the databases have their own advantages and disadvantages. Different type of database system has their own architecture, own methods and own feature to implement the database system. For example, both of the database systems using difference methods to solve the problem of server failure, different methods to do their data backup and recovery, and the integration between platforms are difference. Therefore, it is important to know each database have what kind of feature and how they function or work. So that research on the different type of databases is usable for a developer.
The integration with the application development tool or platform is one of the important issues that to choose a database. Although Oracle Database taking some disadvantages to integrate with Visual Studio but Oracle Database also can be manage the database with efficient and easy way. With Oracle Database, in operating system integration it taking advantages with it to meet most of the user requirement.
On the other hand, the prevention for server failure, backup and recovery methods also playing an important role that will affect the selection of the database system, both of Oracle Database and Microsoft SQL Server having the great methods on this. Both databases are provide backup and recovery, for back up the database it can back up the whole complete copy of the database to secondary server and for recover it also provide recover to any point-in-time. Both databases had provided a high availability environment and each database also have different complexity and cost. Oracle Database provide the powerful feature, easy to manage, and more compatible with different hardware/software and also platform, with is more feasible in the market no matter right now or future, so that Oracle Database is more suitable for us to implement our Final Year Project system.