Thursday, 16 July 2009

Oracle and OS

Oracle Database Architecture.
-----------------------------

Choosing the correct database architecture (hardware platform, operating system) is critical to the success of any new Oracle database application. Architecture decisions were simple when the mainframe was the only architecture available. But architecture selection is not as clear-cut now that Microsoft Windows platforms, UNIX and LINUX are viable database environments. Oracle is more than happy to offer their flagship database on a wide-variety of hardware and operating system combinations. As a result, IT shops have more hardware and software choices available to them than ever before. The key to success is choosing the right ones.

A correctly chosen architecture will result in an application that performs to expectations, scales easily to meet increased user demands, and is easily administered. Incorrect architecture decisions may result in poor performance, limited functionality, complex administration and tuning, lack of scalability, poor vendor support, poor reliability and availability and a high total cost of ownership.

Architecture decisions should not be made in a vacuum or based on personal preference. It is important for all large IT shops to create a part-time architecture selection team consisting of members drawn from the following areas: LAN/WAN communications, O/S support, operations, architectures and database administration. This team should be responsible for determining the best architecture for a particular application.

Extensive up-front analysis is critical during the architecture selection process, so let’s continue our discussion on Oracle database architectures by comparing three of the more popular Oracle database platforms: Oracle on Windows, Oracle on LINUX and Oracle on Unix. We’ll conclude with a database architecture comparison chart that compares the Windows, LINUX and Unix architectures.

Oracle on Microsoft Windows Platforms.
--------------------------------------
Microsoft Window’s success as a server operating systems began when Microsoft released SQL Server 4.2 for the Windows NT operating system in 1994. Microsoft SQL Server 4.2 was a full-function relational database server with an attractive price tag. The traditional database competitors (Oracle, Informix, Sybase, IBM) realized that in order to compete in the departmental arena, they must begin to market a scaled down (and cheaper) version of their enterprise UNIX databases. Some of the workgroup database server products were simply the vendor's flagship enterprise database repackaged and re-priced to appeal to a different group of customers.

Database vendor competition is fierce in this environment. Microsoft’s attempt to dominate this architecture tier with SQLServer is forcing all vendors to adjust pricing and accelerate the release of new products as well as enhancements to existing products. This high level of competition between vendors allows consumers to take advantage of a high level of functionality at a reasonable cost.

The Windows server operating systems are known for their low-cost and ease-of-use. The Windows operating system is more easily administered than UNIX and Linux. Windows servers use the same type of interface as their Windows client operating systems counterparts. Administrators are able to perform a large percentage of their administrative duties through a familiar point-and-click GUI interface. Windows operating system manuals use familiar PC terminology when discussing concepts of general administration. Some flavors of UNIX have GUI administrative tools, but the majority of administrative duties are still performed via command line interface using rather cryptic operating system commands (grep, awk, ps -ef, cat).

Database vendors realize that Windows servers oftentimes exist outside of the traditional information processing support framework. As a result, general ease of use is not a competitive advantage but a competitive requirement. Windows database products can be characterized by their easy installation, ease of use, limited tuning options, and good documentation. All vendors offer strong visual administration and monitoring tools that do not require the administration skill and intimate knowledge of the database required by their UNIX and LINUX counterparts.

The fastest Windows database title moves from vendor to vendor due to strong vendor competition and fast paced advancements in hardware and operating systems. Microsoft and Intel hardware vendor’s clustering technologies allow technicians to connect multiple hardware platforms together and make them appear to end-users as a single-image environment. Clustering provides Windows environments with both scale-up (scalability within the hardware chassis by adding hardware components) and scale-out (scalability by adding additional hardware chassis) capabilities.

Although not as easily measured as performance, reliability must be considered when evaluating database architectures. In the beginning, the majority of consumers rarely considered Windows NT to be a viable alternative in this arena. Consumers’ faith in Windows reliability is growing as the Windows operating system family matures and new functionality is added by Microsoft, hardware vendors, and third-party software solutions providers. Oracle offers highly available solutions for Windows environments with its Oracle Data Guard, Oracle Fail Safe and Oracle RAC for Windows product sets.

Oracle on LINUX Platforms.
--------------------------
Running Oracle on LINUX/Intel platforms is rapidly gaining in popularity. The Oracle Corporation is fostering LINUX’s credibility as a mission-critical operating system by being the first vendor to market both an enterprise relational database and an enterprise application server for the operating system.

Oracle, Dell and Red Hat have formed a partnership to to enhance the LINUX/Intel environment in the areas of performance, reliability, clustering, and manageability. The three partners are collaborating to develop and market enterprise-ready LINUX solutions based on Dell PowerEdge Servers, Dell/EMC and PowerVault storage systems, Oracle9i Database Release 2 with Real Application Clusters, and Red Hat LINUX Advanced Server.

Oracle also provides direct support for the Red Hat LINUX Advanced Server operating system. Oracle customers who use the Red Hat LINUX Advanced Server operating system will be able to call Oracle support for both LINUX and Oracle issues.

LINUX combines the ease of use and cost-effectiveness of Intel hardware platforms with the performance, reliability and availability of enterprise-class UNIX servers. If the application requires more processing power, CPUs, memory and disk can be purchased without making a major impact on the business unit’s operating budget. LINUX is designed to be user-friendly and easy to install. LINUX can be installed on a home PC as well as a network server for a fraction of the cost of competing software packages.

Compared to their Windows and UNIX counterparts, the majority of LINUX vendors have only recently begun to expend resources on providing highly available architectures to consumers desiring fault tolerant systems for mission-critical applications. The reasons for this lack of focus are:

The LINUX operating system is relatively new and has only become recently popular with corporate consumers. Historically, large corporations have not considered LINUX as a viable corporate operating system. One can only assume that most corporations felt that anything that was free wasn’t a viable product. Only when Red Hat and other competing vendors began to formalize and “corporatize” their LINUX offerings did corporate consumers begin to consider LINUX as an alternative to Windows and UNIX.

Consumer perception (or misconception) that the UNIX operating systems are inherently more reliable than their LINUX counterparts resulting in a lack of consumer demand for highly available LINUX servers.

Market analysis showing that product cost and not high availability being the primary reason consumers choose LINUX environments.

The cost of highly available LINUX servers approaching the bottom tier prices of enterprise Unix environments that have many fault tolerant features inherent to their architectures.

LINUX hardware server platforms not being perceived by some consumers as highly available when compared to competing UNIX hardware offerings from Sun, HP, IBM, etc.

Will LINUX continue to gain in popularity? The answer is absolutely! LINUX growth will continue to be fed by the rapidly improving price/performance ratio of Intel server hardware and the increasing acceptance of LINUX as an enterprise-ready operating system by both corporate consumers and third-party application vendors.

Oracle on Unix Platforms.
-------------------------
Unlike LINUX, which has only recently become popular, UNIX platforms have been the perennial favorites of shops desiring to build non-mainframe applications. UNIX platforms were the only alternative to mainframes before Microsoft Windows and LINUX evolved into viable alternatives.

Sun, HP, Data General and Sequent were competing for the corporate consumer’s dollar years before the client/server revolution popularized non-mainframe architectures. As a result, there are a large number of third party tools and applications available for UNIX architectures. In addition, competition between hardware and database vendors in this environment is fierce, resulting in rapid advances in technology and features.

UNIX databases lead all other architectures in database software options and add-ons available to consumers. Hardware vendor (HP, SUN, IBM, etc.) competition in this tier is fierce. Because of this competition, hardware vendors are required to release new hardware and O/S features on a regular basis to survive, making this tier the most technically advanced of the three. Performance and reliability are the key advantages of this environment, while cost and complex administration are the drawbacks.

Traditional UNIX vendors (with Sun leading the way) realize that to compete against Windows and LINUX they must make their operating systems easier to use. Most UNIX operating systems now provide GUI administrative tools, but the majority of administrative duties are still performed via command line interface using rather cryptic operating system commands (grep, awk, ps -ef, cat).

Although alike in many ways, each UNIX operating system has its own variations of system commands, administrative processes and procedures. This complicates application development, operating system support, and database administration for shops that run different versions of the UNIX operating system. Operating system administrators are unable to make a seamless transition from one environment to another and administrators must be trained in each operating system to effectively administer it.

Performance is a key selling point for vendors in this environment and as a result, enterprise UNIX hardware, operating systems and database software are all designed for high performance. High-end enterprise servers have the capability of supporting hundreds of gigabytes of disk and can certainly support many hundreds of users. Until recently, the majority TPC-C and TPC-D benchmark records were held by hardware platforms running some flavor of the UNIX operating system. Windows and Linux are now beginning to challenge UNIX’s position as performance leader, recently capturing several TPC-C and TPC-D benchmarks.

All enterprise UNIX vendors must stress reliability to be competitive in the enterprise marketplace. In addition, many offer additional products that take advantage of UNIX clustering services. UNIX has almost thirty years of continuous development, making it the most mature of all operating systems with a proven track record of reliability.


Venturing into the Great Unknown – New Database Architectures.
--------------------------------------------------------------
If a new database architecture is selected (one that has never been used before) an additional set of concerns must be addressed:

Venturing into new architectures will increase development time and training costs. Can the additional time and higher application development costs be justified?

If the desired architecture requires support from the development area, can application personnel effectively administer the new architecture?

Is the additional functionality or cost reduction the new architecture provides worth any additional risk to the application? This is often described as the comfort ratio.

What is the business unit’s, application area’s and the IT department’s vision of the future?

No comments: