Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Microsoft Access wikipedia , lookup
Database model wikipedia , lookup
Clusterpoint wikipedia , lookup
Tandem Computers wikipedia , lookup
Relational model wikipedia , lookup
Microsoft Jet Database Engine wikipedia , lookup
Team Foundation Server wikipedia , lookup
Object-relational impedance mismatch wikipedia , lookup
SQL Server 2000 Enterprise Edition (64-bit): Advantages of a 64-Bit Environment March 2004 Abstract: Microsoft SQL Server 2000 Enterprise Edition (64-bit) offers dramatic improvements in memory availability and parallel processing performance compared with SQL Server software running in a 32-bit environment. This paper describes the capabilities of the 64-bit solution, highlights differences from the 32-bit environment, and discusses some of the applications and usage scenarios that can benefit from running on a SQL Server platform optimized for a 64-bit environment. The paper is intended to help the reader identify potential applications for Microsoft SQL Server 2000 (64-bit) and set appropriate expectations for deployment and performance. The information contained in this document represents the current view of Microsoft Corporation on the issues discussed as of the date of publication. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information presented after the date of publication. This white paper is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, AS TO THE INFORMATION IN THIS DOCUMENT. Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Microsoft Corporation. Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property. 2004 Microsoft Corporation. All rights reserved. Microsoft and MSDN are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. The names of actual companies and products mentioned herein may be the trademarks of their respective owners ii Table of Contents Introduction ..................................................................................................... 1 Audience ........................................................................................................ 1 Overview: Database Performance and Scalability ............................................ 1 SQL Server 2000 (64-bit) ................................................................................. 2 Requirements ................................................................................................. 2 SQL Server 2000 (64-bit) Components .............................................................. 3 Advantages of the 64-bit Architecture ................................................................ 3 Comparing SQL Server 2000 (32-bit) with AWE and 64-bit .............................. 4 AWE: An Overview .......................................................................................... 4 Limitations of AWE .......................................................................................... 5 Other Differences in SQL Server 2000 (64-bit)................................................. 6 Considerations for Choosing SQL Server 2000 (64-bit) .................................... 7 Relational Database Performance Factors ........................................................... 8 Analysis Services Considerations ....................................................................... 9 Server Consolidation Considerations ................................................................ 10 Alternatives to 64-bit Architecture ................................................................... 10 Limitations of SQL Server 2000 (64-bit) ........................................................... 11 SQL Server 2000 (64-bit) Deployment Considerations ................................... 11 Integration ................................................................................................... 11 Migration ..................................................................................................... 12 Compatibility Issues ...................................................................................... 12 Summary ........................................................................................................ 13 Appendix A: Case Studies ............................................................................... 14 Information Resources, Inc. (IRI) .................................................................... 14 JetBlue Airways............................................................................................. 15 Liberty Medical ............................................................................................. 16 123MultiMedia .............................................................................................. 16 Appendix B: Sources for Additional Information ............................................ 17 iii Introduction Microsoft SQL Server 2000 Enterprise Edition (64-bit) offers dramatic improvements in memory availability and parallel processing performance compared with SQL Server software running in a 32-bit environment. This paper describes the capabilities of the 64-bit solution, highlights differences from the 32-bit environment, and discusses some of the applications and usage scenarios that can benefit from running on a SQL Server platform optimized for a 64-bit environment. The paper is intended to help the reader identify potential applications for Microsoft SQL Server 2000 (64-bit) and set appropriate expectations for deployment and performance. Audience This paper is intended for a technical audience of IT professionals, database administrators and system architects interested in the performance and scalability offered by Microsoft SQL Server 2000 Enterprise Edition (64-bit). This document assumes that you have an understanding of databases in general and Microsoft SQL Server 2000 in particular. Overview: Database Performance and Scalability To make timely and informed business decisions in dynamic and competitive environments, organizations must store and analyze massive amounts of business data. Always a critical part of the IT infrastructure, databases are at the heart of a number of converging trends in IT: Applications and data are growing in complexity and size. Applications running on 32-bit platforms may be reaching the limits of the platform, specifically regarding the number of processors and addressable memory. High-end DBMS capabilities have become a business necessity as organizations gather and analyze data from numerous databases, and serve that data to growing numbers of business users. Organizations are consolidating servers to simplify critical data center operations. Consolidation can reduce management complexity and cost while reducing physical space requirements in the data center. In response to these trends, Microsoft has developed a 64-bit version of its powerful SQL Server 2000 database, optimized for the 64-bit Intel Itanium 2 processor. 1 By leveraging the tremendous scalability and memory addressability of the 64-bit architecture, SQL Server 2000 (64-bit) can host increasingly large and complex database and analysis applications, and support server consolidation on large-scale SMP systems with many processors. Applications can benefit from massive in-memory caching of data as well as larger data structures for procedure cache, sort space, lock memory and connection memory. By eliminating platform and processing bottlenecks, the 64-bit platform offers a new level of scalability for business applications at an affordable cost. SQL Server 2000 (64-bit) SQL Server 2000 (64-bit) is optimized to run on servers using Intel Itanium 2 processors and Microsoft Windows Server 2003, offering exceptional performance and scalability. SQL Server 2000 (64-bit) is based on the successful 32-bit version of SQL Server 2000, providing an easy migration path for existing applications and capitalizing in existing tools and expertise. The primary differences between the 64-bit and 32-bit versions of SQL Server 2000 are derived from the benefits of the underlying 64-bit architecture. These include: Larger direct-addressable memory space; SQL Server 2000 (64-bit) is not bound by the memory limits of 32-bit systems, so more memory is available for performing complex queries or supporting essential database operations. Enhanced parallelism, providing better linear scalability and support for up to 64 processors. Improved BUS architecture, accelerating performance by moving more data between cache and processors. By take advantage of these architectural advantages, SQL Server 2000 (64-bit) can handle large and complex query workloads, consolidate many database applications, and otherwise scale to meet the increasing processing and performance demands of today's IT environment. Requirements SQL Server 2000 (64-bit) is currently supported on IA64 servers from a number of hardware vendors including HP, Unisys, IBM, Dell and NEC, in 4-way to 64-way configurations. SQL Server 2000 (64-bit) does not have a separate hardware compatibility list (HCL). Use hardware that is otherwise certified for use with the Microsoft Windows Server 2003 64-bit operating system and that meets the following minimum requirements: 2 Hardware Minimum requirements Computer Intel Itanium 2 processors with 64-bit CPU Memory (RAM) Enterprise Edition: 1 GB Additional memory may be required, depending on configuration and operating system requirements. Hard disk space SQL Server database components: 190 to 320 MB Analysis Services: 230 MB Books Online only: 40 MB Actual requirements will vary based on your system configuration and the applications and features you choose to install Pointing device Microsoft Mouse or compatible CD-ROM drive Required Table 1 Hardware Requirements SQL Server 2000 (64-bit) requires a 64-bit version of the Windows Server 2003 operating system. SQL Server 2000 (64-bit) Components The components of SQL Server 2000 Enterprise Edition (64-bit) include: 64-bit database server 64-bit server agent 64-bit analysis server (OLAP and data mining) These 64-bit components are code-compatible with the 32-bit version of SQL Server 2000, making it easy to integrate a 64-bit server with other SQL Server 2000 database servers. Advantages of the 64-bit Architecture The enhanced scalability and performance of SQL Server 2000 (64-bit) is made possible by a number of architectural features of the Itanium 64 bit architecture. The key architectural benefits are discussed briefly as follows. Memory addressability 32-bit systems can generally address only a 4G address space. (Exceptions available with Address Windowing Extensions, or AWE, on 32-bit platforms are described in a following section.) Windows Server 2003 running on the Intel Itanium 64-bit architecture supports up to 1,024 Terabytes of physical memory and 512 Gigabytes of addressable memory. 3 Enhanced parallel processing support The Intel Itanium chips include a number of features that enhance parallel processing performance. The Itanium 2 features a wider system bus, more registers and Explicitly Parallel Instruction Computing (EPIC) technology, which enables a processor to execute multiple (up to 6) instructions simultaneously. Larger numbers of processors Improvements in parallel processing enable the 64-bit architecture to support larger numbers of processors (up to 64). With a larger number of processors, SQL Server can support more processes, applications, and users in a single system. Server platforms offering more than 32 CPUs are available exclusively on 64-bit architecture. The highest TPC-C benchmark figures for SQL Server have been achieved on 64-bit systems leveraging both large amounts of memory and the superior scaling of 64-bit processors in a 64-bit architecture. Enhanced bus architecture The bus architecture on current 64-bit chipsets is faster and wider than earlier generations. More data is passed to the cache and processor; this is somewhat analogous to the improvement broadband connections offer over dial-up connections. For a more detailed discussion of the Itanium architecture, see http://www.intel.com/ebusiness/pdf/prod/itanium/wp022404.pdf. Comparing SQL Server 2000 (32-bit) with AWE and 64-bit Microsoft SQL Server 2000 Enterprise Edition (32-bit) uses the Microsoft Windows 2000 Address Windowing Extensions (AWE) API to support very large amounts of physical memory. For some applications, using AWE may be a viable alternative to upgrading to the 64-bit platform. AWE: An Overview Standard 32-bit systems can map at most 4 GB of memory, limiting the addressable memory space for Windows 2000 systems to 4GB. With 2GB reserved for the operating system, only 2GB of memory remains for the application (in this case, SQL Server 2000). You can increase this amount to 3 GB by setting a 3GB switch in a Windows boot.ini file. AWE is a set of memory management extensions to the Microsoft Win32 API that allows applications to address memory beyond the 4GB limitation. Using AWE, applications can acquire physical memory as nonpaged memory, and then dynamically map views of the nonpaged memory to the 32-bit address space. AWE enables memory-intensive applications, such as large database systems, to address large amounts of information. More information on AWE can be found on the MSDN page on the Microsoft Web site. 4 Using the AWE extension enables a SQL Server Enterprise Edition instance to address significantly more memory than standard implementations: Up to 32 GB of physical memory on Windows Server 2003, Enterprise Edition using AWE Up to 64 GB of memory using Windows Server 2003, Datacenter Edition using AWE Although using AWE imposes some overhead and adds initialization time, it remains an important strategy for many memory-intensive database applications. Limitations of AWE Using SQL Server 2000 (32-bit) with AWE has some limitations. The additional memory addressability is available only to the relational database engine, not to other engines such as Analysis Services. The benefits are limited to those operations that can directly access database pages stored in the expanded buffer cache — operations such as building indexes on large tables, or simple queries from cache. AWE does not enhance other memory-intensive operations using the stored procedure cache or log cache. Although its benefits are significant, the potential performance enhancements from AWE do not apply to the following operations or components: Analysis Services Procedure Cache for compiled plans Cursors ODBC parameter caching Sort area Index creation, including full-text indexing Hash memory Per-connection memory Lock memory In contrast, SQL Server 2000 (64-bit) makes extended memory available to all database processes and operations. Using this 64-bit version on Itanium 2 hardware, a SQL Server instance can address up to 512 GB, the current maximum memory supported by Windows Server 2003. (There is a theoretical addressable limit of 18 Exabytes.) This memory is available to all components of SQL Server, and to all operations within the database engine. As a result, SQL Server 2000 (64-bit) enhances performance of a wide range of memory-intensive database applications. 5 Other Differences in SQL Server 2000 (64-bit) Although memory management is the most significant difference between the 64-bit and 32-bit versions of SQL Server 2000, there are other differences that you should consider when choosing which architecture to deploy. SMP processor support Previously, with the 32-bit version of SQL Server, symmetric multiprocessing (SMP) support was limited to 32 processors. With SQL Server 2000 (64-bit) Enterprise Edition this limit has been raised to 64 processors with Windows Server 2003 Datacenter edition. Availability High availability is critical for many high-end applications. SQL Server 2000 (64-bit) on Windows Server 2003 supports an 8-node failover cluster. This is an increase from the 4-node cluster supported by Windows 2000 Datacenter Server Installation enhancements The 64-bit version of SQL Server is installed using the Windows Installer Service, enabling the "Add or Remove Programs" option in the Control Panel. The setup process displays a tree of features to be installed, which can be deselected as needed. Meta data repository The 64-bit version of Analysis Services uses SQL Server instead of Jet (.MDB) for its meta data repository. The repository databases are created within SQL Server when Analysis Services is installed. Replication The Replication features of SQL Server 2000 (64-bit) are nearly identical to the 32bit version, with the following features being supported: Snapshot Replication Transactional Replication Merge Replication Immediately updating subscribers Queued updating subscribers However, there are a few special cases: As the Microsoft Jet engine is not supported, Microsoft Jet push subscriptions for merge replication are not supported. Unless the subscriber provides a 64-bit ODBC or OLE DB driver, transactional or snapshot push subscriptions for ODBC or OLE DB subscribers are not supported. Because of the unavailability of 64-bit Data Transformation Services (DTS), transformable push subscriptions are not supported. In addition, the 64-bit versions of Windows Server 2003, Enterprise Edition and Windows Server 2003, Datacenter Edition do not include certain features that are included in the 32-bit versions of those operating systems. 6 These features are not included because of underlying differences between the 32-bit and 64-bit architectures or because the features are not appropriate in the environments where the 64-bit versions of Windows Server 2003, Enterprise Edition and Windows Server 2003, Datacenter Edition are deployed. For a complete list of differences, see "Differences Between 64-bit and 32-bit Releases (64-bit)"1 in SQL Server 2000 (64-bit) Books Online and "Features unavailable on 64-bit versions of the Windows Server 2003 family"2. Considerations for Choosing SQL Server 2000 (64-bit) Although it offers significant scalability and performance for many applications, not every application will benefit from the 64-bit version of SQL server. This section is designed to help you determine if and when it is appropriate to either use existing SQL Server instances or develop new applications using the 64-bit architecture. The improved memory and parallel processing capabilities of SQL Server 2000 (64bit) are compelling in a number of different usage scenarios, including: Improving performance for memory-constrained relational applications. Creating or accelerating large OLAP systems with rapid response time requirements. Consolidating multiple Windows-based databases and applications to fewer, larger systems. By hosting multiple databases on a single 64-bit system, you simplify management, improve storage utilization, and generally improve operational efficiency. "Scaling up" current applications experiencing significant growth; migrating existing database servers that are meeting platform limitations doesn't affect the other tiers of multitiered applications. Replacing UNIX systems/applications. The 64-bit platform offers a powerful alternative to UNIX systems for high-end database servers. The following sections list some of the factors you should consider when evaluating specific applications for the 64-bit platform. 1 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sql64/in_introduction64_7xo2.asp 2 http://www.microsoft.com/technet/treeview/default.asp?url=/technet/prodtechnol/windowsserver2003/prod docs/entserver/unsupported64BitFeatures.asp 7 Relational Database Performance Factors Memory-intensive SQL Server relational workloads are good candidates for 64-bit SQL Server. Many SQL Server resources are restricted to 3 GB limit using the 32-bit environment, including Sort space Hash tables used in joins and aggregates Index creation, including full-text indexing Per-connection memory Procedure cache for compiled plans Systems starved of real memory will exhibit degraded performance because of waits for resources and delays as the processors compile plans that have been evicted from cache. They may also experience excess disk activity to write objects such as hash tables that cannot fit into the available memory to disk. For example, moving to SQL Server 2000 (64-bit) would immediately improve the performance of applications experiencing the following memory-related performance problems: Recompilation of stored procedures because of eviction from memory. The 64-bit environment provides a large plan cache for high volume transaction applications with large numbers of stored procedures. This reduces the need to compile stored procedures that have been evicted from memory, reducing CPU utilization and reducing query latency. Resource semaphore waits associated with queries waiting for memory grants. Multiple queries utilizing large-scale hash joins — especially those executing against a data warehouse and spanning large datasets — can be affected by resource semaphore waits. Other operations that can benefit from extended memory include: Index creation, including Full Text indexing (restricted to 3GB workspace in 32-bit) Complex queries that use sorting or large hash joins or hash aggregates. Memoryintensive hash joins are very efficient, but when memory is under pressure, they may be removed from cache in favor of memory-conserving, but slower, alternative query plans. Large numbers of active stored procedures, where benefits can be achieved through improved cache capacity. The 64-bit architecture can substantially reduce overall CPU utilization and latency by eliminating the need to evict procedures from cache and compile repeatedly. Server side cursors, which can more readily be kept in memory. Many I/O-intensive applications can potentially benefit by loading a bigger working dataset into memory, which is possible in the 64-bit environment. Although applications requiring more memory than the 64GB limit supported by AWE are rare, certain applications or workloads can benefit from the speed of extracting the database pages from extremely large cache memory instead of the disk subsystem. 8 Analysis Services Considerations Analysis Services requires that all dimensions for all cubes are held in memory simultaneously. Because Analysis Services is unable to take advantage of the memory extensions of AWE, its memory is limited to 3 GB in a 32-bit environment, even if more memory is actually available. The additional memory available to 64-bit environments gives Analysis Services the capability to support very large dimensions or numerous large dimensions. Consider the 64-bit environment if your OLAP application requires: Very large dimensions; SQL Server 2000 (64-bit) has demonstrated support for dimensions with more than 50 million members. Large numbers of sizeable dimensions. Large memory use of process buffers. Very large cubes; significant performance benefits for very large cubes can be achieved through the use of the file-system cache, reducing the need for physical disk access for base cube or aggregate data during queries. This can benefit Analysis Services deployments that have extensive fact partitions and large numbers of aggregates, even if the dimensions themselves fit into the memory limits of the 32-bit environment. Fast cube processing requirements; memory availability reduces the need for writing to temporary files on the disk subsystem. Large numbers of concurrent users. Before adopting a 64-bit environment for data analysis, you need to ensure that the following components are available: You will need 64-bit OLE DB providers for all data sources used to populate a database in the 64-bit environment. SQL Server 2000 (64-bit) includes an OLE DB provider for accessing SQL Server. If you are using other data sources from other database vendors, you should verify the availability of a suitable OLE DB must be verified. Alternatively, you can configure a 32-bit server, utilizing DTS, to pump data from other OLE DB sources to the 64-bit SQL target. Analysis Services User-defined functions (UDF) or other components written in Microsoft Visual Basic 6 are not supported in the 64-bit environment. You need to verify if these components exist and if necessary rewrite them using C++ and compile them using the 64-bit SDK. 9 Server Consolidation Considerations Large scale SMP server architectures based on the Itanium 2 chipset have more linear scalability than 32-bit systems above 8-way and especially above 16-way configurations. Server platforms offering more than 32 CPUs are available exclusively on 64-bit architecture. The highest TPC-C benchmark figures for SQL Server have been achieved on 64-bit systems leveraging both large amounts of memory and the superior scaling of 64-bit processors in a 64-bit architecture. The additional processor and memory headroom available within the 64-bit environment enable significant scale-up and server consolidation opportunities. A large number of consolidated databases can fit into a single SQL instance that has sufficient memory to support the data structures (connections, locks, hash, and so on) needed for multiple coexisting applications. You should seriously consider SQL Server 2000 (64-bit) for CPU-intensive workloads for which scalability needs can be addressed by adding additional processors. The 64-bit version is particularly valuable for SQL Server instances using 16 or more processors. Alternatives to 64-bit Architecture Although a 64-bit system can offer significant performance increases, it is unrealistic to assume that it will automatically double the performance of a 32-bit system. There may in fact be situations in which upgrading to 64-bit will not offer the best performance improvement for an application. For example, It may be better to add more CPUs It may be better to use faster CPUs For many SQL Server workloads, the 2-3 GB of virtual address space available with a 32-bit platform is sufficient. If a workload performs well with 2-3GB of memory (or with AWE) and does not require scaling up beyond 8 CPUs, the benefits of fast CPUs available in 32-bit architecture may outweigh the advantages of moving to a 64-bit platform. Many operations within SQL Server can benefit more from the fast CPU speeds currently available on the P4 Xeon architectures (which now have clock speeds exceeding 3 GHz), than from the memory and scalability benefits of the 64-bit environment (currently available at 1.5 GHz). Examples include single-threaded query response times on systems that are not busy or aggregations, hash joins, string comparisons and other common operations that have adequate memory on 32-bit systems and reside comfortably on 4-way or 8-way servers. These applications may be better served by using the fastest 32-bit chipsets. You should be aware of the CPU speed tradeoff in such circumstances. You should also consider the implications of using very large amounts of memory on the 64-bit platform. Very large memory could take a long time to shutdown because of a system checkpoint with a lot of data to flush. As a result, you may choose to perform system checkpoints at small intervals, perhaps one minute. This can be achieved through the recovery interval server configuration option. 10 Limitations of SQL Server 2000 (64-bit) When deciding on a 64-bit platform and SQL Server 2000 (64-bit), you should also consider potential limitations of the platform. As of this writing (early 2004): The 64-bit platform is still a relatively new architecture SQL Server tools are unavailable on 64-bit, such as: Enterprise Manager Query Analyzer SQL Profiler Best practice is to run these from 32-bit SQL clients. There is no support for the execution of Data Transformation Services (DTS) packages DTS packages can be saved on a 64-bit instance but not executed. Best practice is that the 32-bit server hosting DTS should have a high speed connection (Gigabit Ethernet) to the 64-bit server that is the source or target of the transformations in the DTS packages, as well as other data sources. There are no Microsoft-provided Oracle or DB2 drivers and third party database vendor support is limited for drivers on 64-bit windows. This limits the capability to define linked-server connections from 64-bit instances to non-Microsoft databases. Microsoft Operations Manager (MOM) is not currently supported on the 64-bit platform, and there is limited availability of third party systems management tools. Best practice is to capture the performance counters and events generate by Windows and 64-bit SQL Server over the network to a 32-bit instance and use the tools that support such a configuration. Device drivers for I/O, SANs and other components in your environment may not yet be released for a 64-bit platform. The .Net framework for 64-bit is not yet available. SQL Server 2000 (64-bit) Deployment Considerations Because SQL Server 2000 64-bit shares the same code base and on-disk format file structure as the 32-bit version, there are a vast number of similarities, which eases the process of migration, and of integrating 32-bit and 64-bit architectures in the same infrastructure. Integration An enterprise data center can consist of a mix of 32-bit and 64-bit systems and applications. Organizations can continue to use and purchase 32-bit servers, and connect to a 64-bit server database backend to gain 64-bit platform benefits, or have a data farm with a mix of both. No client code changes are required to enable servicing data requests from a 32-bit or 64-bit environment. Applications that access 32-bit can connect to and access 64-bit without changing the application code, as T-SQL code for both versions is fully compatible. 11 Migration The migration of data from SQL Server 7.0 and SQL Server 2000 32-bit versions to SQL Server 2000 64-bit is a straightforward task, as both share the same on-disk format and data-types. The mechanisms available are detach/attach or backup/restore. Detach/Attach System provided stored procedures are available to detach (sp_detach_db) the database from the 32-bit version, then attach (sp_attach_db) to the 64-bit instance. Backup/Restore The same process for a standard backup and restore can be used to migrate data to the 64-bit platform, by simply restoring 32-bit backup files to the 64-bit platform. It is also possible to migrate data back to the 32-bit version for SQL 2000 databases. However, downgrading to SQL Server 7.0 from SQL Server 2000 (64-bit) is not supported. Extended Stored Procedures need to be recompiled. Extended stored procedures are dynamic-link libraries (DLLs) that SQL Server can load and execute dynamically. Extended stored procedures run directly in the address space of SQL Server and are programmed using the SQL Server Open Data Services API Compatibility Issues SQL Server 2000 (64-bit) corresponds functionally to SQL Server 2000 (32-bit) SP3, enabling easy integration in existing infrastructure while providing support for the extended 64-bit hardware. The product offers complete compatibility with the SQL Server 2000 (32-bit) database files and transaction logs. Many of SQL Server's tools and client components are not yet available in a 64-bit version as of this writing. These include: DTS Query Analyzer Analysis Manager SQL Profiler Enterprise Manager Until they are available for SQL Server 2000 (64bit), you must run these components and perform many database management and administration tasks remotely using 32bit clients or servers. There are a number of enhancements and component changes with the 64-bit versions of SQL Server and Windows Server 2003. Components such as Microsoft Data Access Components (MDAC), Distributed Transaction Coordinator (DTC) and Microsoft Management Console (MMC) that used to be part of SQL Server setup are now installed as core components as part of the Windows Server 2003 setup, allowing SQL Server 2000 (64-bit) to take advantage of these operating system resources. 12 Summary SQL Server 2000 (64-bit) addresses the need to provide a highly scalable database platform for memory intensive, performance-critical applications. The 64-bit version provides massively scalable performance for large, complex queries through: Large memory addressing Nearly unlimited virtual memory Support for up to 64 processors in SMP systems Enhanced parallelism While many SQL Server workloads perform well in the 32-bit environment, the additional memory and processors available to the 64-bit environment are valuable in a number of situations, including: Scale-up scenarios requiring 16-way or larger SMP servers Workloads with large-scale sorting, hash joins, and query memory, such as complex relational data warehouse queries Analysis Services applications with very large dimensions or large volumes of data that can take advantage of filesystem cache Other applications that may be memory-constrained in the 32-bit environment SQL Server 2000 (64-bit) is optimized for the Intel Itanium 2 processor, and takes advantage of advanced memory addressing capabilities for essential resources such as buffer pools, caches, and sort heaps, reducing the need to perform multiple I/O operations to bring data in and out of memory from disk. This greater processing capacity without the penalties of I/O latency provides a mechanism to achieve new levels of application scalability. SQL Server 2000 (64-bit) achieves these gains in performance and scalability while maintaining integration with existing products and applications and offering a simple migration path. Organizations can use 32-bit application servers connecting to 64-bit database servers, phasing in the 64-bit technology as required. SQL Server 2000 (64bit) can integrate easily into a database server cluster with other 32-bit databases. SQL Server 2000 (64-bit) is able to directly address the maximum memory supported by Microsoft Windows Server 2003 (currently 512 GB). Using Itanium 2 servers with large amounts of memory, SQL Server 2000 (64-bit) is able to load and process multigigabyte databases in only a fraction of the time required in a 32-bit environment. 13 Appendix A: Case Studies This section summarizes four recent case studies using SQL Server 2000 (64-bit). You can find other case studies online at http://www.microsoft.com/sql/64bit/productinfo/casestudies.asp. Information Resources, Inc. (IRI) Information Resources, Inc. (IRI) provides market research to the consumer packaged goods and healthcare industries. IRI wanted to provide customers with better query performance for its online analytical processing (OLAP) service. The company also wanted to reduce costs and improve scalability and stability. IRI is upgrading from a 32-bit Microsoft SQL Server 2000 Analysis Services environment to a 64-bit environment. IRI is using SQL Server 2000 Enterprise Edition (64-bit) and the 64-bit version of Microsoft Windows Server 2003, Enterprise Edition, to improve the scalability, performance, and stability of its online analytical processing (OLAP) service. A single four-processor 64-bit server running SQL Server 2000 Analysis Services delivers four times the capacity of a two-processor 32-bit server in terms of concurrent users, and 10 times the capacity in terms of the number of customer databases that can be supported on one server. This enables IRI to eliminate unnecessary layers in its environment, which reduces complexity and lowers infrastructure and administrative costs. IRI's customers also benefit from a vast improvement in query speeds. Benefits Far faster query times Ten times as many customer databases per server Four times as many concurrent users per server Stability issues eliminated Reduced administrative effort Better price-performance According to the CIO of IRI, Marshall Gibbs: "The 64-bit SQL Server environment eliminates many of the technical limitations that have kept us from rolling out Analysis Services on a larger scale. We're now in a position to eliminate a large degree of complexity, which will lead to greater benefits for our customers." Improved end-user query performance was a primary goal for IRI. The following table shows that for IRI's processing, query performance in the 64-bit environment is roughly 3 to 5 times faster than in the 32-bit environment when data is retrieved from the storage area network (SAN), and roughly 60 to 360 times faster when cached in RAM. One reason for such large performance gains is the increased amount of RAM that is supported in the 64-bit environment. Also, IRI's 64-bit SQL Server Analysis Services solution uses a multidimensional OLAP (MOLAP) design instead of the ROLAP architecture used in IRI's 32-bit environment — a change that would not have been feasible without the scalability and performance improvements provided by the 64-bit versions of Windows Server 2003 and SQL Server. 14 Query Average Query Speed (seconds) 32-bit Average Query Speed (seconds) 64-bit 10 concurrent users, cached (large query) 59 <1 10 concurrent users, noncached (large query) 111 34 50 concurrent users, cached (large query) 358 <1 50 concurrent users, noncached (large query) 405 60 Table 2 IRI — Differences in query times for 32-bit and 64-bit environments. To simplify its infrastructure and administrative workload, IRI needs to support more customer databases and more simultaneous users on each server. The 64-bit environment delivers large improvements in both those areas. In the 32-bit environment, the 3-GB RAM maximum limited the capacity of each server to an average of 50 client databases, forcing system administrators to continually rebalance the distribution of databases across the tier of six servers. In the 64-bit environment, the single four-processor server can handle more than 500 databases while leaving adequate memory for processing user queries. The following table outlines the differences between the 32-bit and 64-bit environments. Benchmark 32-bit 64-bit Number of databases per server 50 500 Number of concurrent users per server 50 200 Table 3 IRI — Databases and concurrent users for 32-bit and 64-bit JetBlue Airways JetBlue Airways is scaling its database systems to accommodate the company's rapid business growth by using the 64-bit versions of Microsoft Windows Server 2003 and SQL Server 2000 (64-bit). The company has migrated its frequent flyer application from two 32-bit servers to a single 64-bit server — a two-day effort that has eliminated performance problems and ensures the processing headroom required to accommodate a growth rate of 3,000 new frequent flyer members per day. Now that the company has validated the scalability and price-performance benefits provided by the 64-bit Windows platform, JetBlue will use it to host several enterprise applications, including a comprehensive data warehouse/OLAP solution and the company's mission-critical reservation system. Jeff Cohen, CIO for JetBlue, commented: "The 64-bit Windows Server 2003 and SQL Server environment makes Microsoft a true enterprise-class contender in the database arena. The platform enables us to run mission-critical applications with the confidence that we'll get the scalability and uptime that we need. The majority of our databases will be moved to the 64-bit environment." 15 Benefits include: Superior scalability, which provides new business options Better price-performance Reduced infrastructure complexity Lower administrative costs Takes advantage of existing tools and skill sets Mission-critical reliability Liberty Medical Liberty Medical Supply provides diabetes and respiratory supplies and medications to 500,000 U.S. Medicare recipients. The company needed to prepare its database environment for continued rapid growth. Liberty Medical Supply is deploying the 64-bit versions of Microsoft Windows Server 2003 Datacenter Edition and SQL Server 2000 on an Itanium 2–based 64-bit server. The 64-bit system has delivered a substantial performance gains (159 percent improvement over a similarly configured 32-bit server) — more than enough processing power to support increased sales growth and new business initiatives for the next several years. By scaling up to SQL Server 2000 (64-bit) running on the new 64-bit version of Windows, Liberty Medical Supply will realize superior price-performance and the benefits of server consolidation: decreased administrative workload, increased reliability, and better performance for end-user applications Liberty Medical will achieve the following benefits: Room for business growth Fewer servers to manage Superior price-performance High reliability Improved reporting speed The Senior Vice President and CIO of Liberty Medical has cited the primary benefit of moving to the 64-bit environment as enabling the organization to be "in a much stronger position to meet the company's growth needs. And should we require additional processing power in the future, we can immediately meet this need by simply plugging in more processors and memory to our existing servers, which requires far less effort than configuring and deploying additional servers." 123MultiMedia 123Multimedia has been creating and distributing content for premium services such as chat, telephone services and ring tones since 1987. Its services are delivered through a variety of channels. In such a high-tech industry, innovation and speed to market are crucial. The company's 32-bit platform meets its current needs, but it needs the scalability and performance enhancements of 64-bit computing to cope with future demands. 123Multimedia is testing Microsoft Windows Server 2003 Enterprise Edition running Microsoft SQL Server 2000 (64- bit) on an HP Integrity rx5670. 16 The benefits include: Handling five times more traffic than the 32-bit platform Lower costs through application consolidation and reduced training needs Solid product roadmap secures investment for the future Richer information on service performance Appendix B: Sources for Additional Information There are many additional sources of information about SQL Server 2000 (64-bit), as well as the Itanium 2 platform and Windows Server 2003. SQL Server Web site: http://www.microsoft.com/sql SQL Server 64-bit Web site: http://www.microsoft.com/sql/64bit. This site includes additional information on: Product Features and Usage Licensing System Requirements Customer Case Studies Technical Resources (includes link to Books Online) Partner Software Offerings SQL Server 2000 (64-bit) Technical Resources: http://www.microsoft.com/sql/64bit/techinfo/default.asp. This page includes a link to Books Online, as well as a paper titled "SQL Server 2000 (64-bit) Analysis Services: Why Migrate, and What to Expect" SQL Server Developer Center: http://msdn.microsoft.com/sqlserver SQL Server Magazine: http://www.sqlmag.com Newsgroups: news://news.microsoft.com microsoft.public.sqlserver.programming microsoft.public.sqlserver.datawarehouse Microsoft Official Curriculum courses on SQL Server. For current course information, see http://www.microsoft.com/trainingandservices. Hardware-specific sites: http://www.intel.com/ebusiness/pdf/prod/itanium/wp022404.pdf http://h71028.www7.hp.com/enterprise/cache/8179-0-0-0-121.aspx http://www.hp.com/products1/servers/integrity/index.html Windows Server 2003 (64-bit) Web site: http://www.microsoft.com/windowsserver2003/64bit/default.mspx 17