In-Memory OLTP engine and
other new features might justify an upgrade
Microsoft's new release of SQL Server 2014 comes pretty
close on the heels of the last SQL Server 2012 release. For many organizations,
this could be a hurdle to adoption, because upgrading core pieces of an IT
infrastructure can be both costly and resource-intensive. However, SQL Server
2014 has several compelling new features that can definitely justify an
upgrade. Without a doubt, the most notable new feature is the new In-Memory
OLTP engine, which promises some big performance improvements for OLTP
applications. The past couple of SQL Server releases have had a strong focus on
business intelligence (BI), which makes the new In-Memory OLTP engine an
especially welcome addition for relational database professionals. Let's dig in
and have a closer look at the new In-Memory OLTP engine and the other new
features in SQL Server 2014.
New In-Memory OLTP Engine
By far the most important new feature in SQL Server 2014 is
the In-Memory OLTP engine (formerly code-named Hekaton). By moving select
tables and stored procedures into memory, you can drastically reduce I/O and
improve performance of your OLTP applications. Microsoft states that some
applications can expect up to a 20x performance improvement. Edgenet, an early
adopter, saw a 7x performance increase in its online and retail supply
application.
The In-Memory OLTP engine is designed for high concurrency
and uses a new optimistic concurrency control mechanism to eliminate locking
delays. The In-Memory OLTP tables are copied into memory and made durable by
transaction log writes to disk. An all-new lock-free engine processes the
transactions for memory-resident tables. Stored procedure performance is
improved by compiling the stored procedures into native code DLLs. Standard
T-SQL stored procedures are interpreted, which adds overhead to the execution
process. Compiling the stored procedures to native Win64 code makes them
directly executable, thereby maximizing their performance and minimizing
execution time.
To help you evaluate how the In-Memory OLTP engine will
improve your database performance, Microsoft includes the new Analysis,
Migrate, and Report (AMR) tool. Like its name suggests, the AMR tool analyzes
your database and helps you identify the tables and stored procedures that
would benefit from moving them into memory. It lists the expected performance
improvements as well as any incompatibilities that need to be addressed. In
addition, the AMR tool can help you perform the actual migration of tables to
the new memory-optimized format. (For more information about the AMR tool, see
"SQL Server 2014's Analysis, Migrate, and Report Tool.")
The In-Memory OLTP engine works with commodity server
hardware, but it has a number of limitations. For instance, not all of the data
types are supported. Some of the data types that aren't supported for
memory-optimized tables include geography, hierarchyid, image, text, ntext,
varchar(max), and xml. In addition, several database features can't be used
with the new In-Memory OLTP capability. Database mirroring, snapshots, computed
columns, triggers, clustered indexes, identity columns, FILESTREAM storage, and
FOREIGN KEY, CHECK, and UNIQUE constraints aren't supported.
The In-Memory OLTP engine is supported on Windows Server
2012 R2, Windows Server 2012, and Windows Server 2008 R2 SP2. In addition, you
need to be using the SQL Server 2014 Enterprise, Developer, or Evaluation
edition. Notably, In-Memory OLTP won't be supported on the SQL Server 2014
Standard edition. For more information, check out "Rev Up Application
Performance with the In-Memory OLTP Engine."
Enhanced Windows Server 2012 Integration
SQL Server 2014 provides improved integration with Windows
Server 2012 R2 and Windows Server 2012. SQL Server 2014 will have the ability
to scale up to 640 logical processors and 4TB of memory in a physical
environment. It can scale up to 64 virtual processors and 1TB of memory when
running on a virtual machine (VM).
SQL Server 2014 also provides a new solid state disk (SSD)
integration capability that enables you to use SSD storage to expand SQL Server
2014's buffer pool. The new buffer pool enhancements can help increase
performance in systems that have maxed out their memory capability by using
high-speed nonvolatile RAM (NVRAM) in the SSD drives as an extension to SQL
Server 2014's standard buffer pool. The new buffer pool extensions can provide
the best performance gains for read-heavy OLTP workloads.
SQL Server 2014's Resource Governor provides a new
capability to manage application storage I/O utilization. First introduced with
SQL Server 2008, the Resource Governor originally enabled you to limit the
amount of CPU and memory that a given workload can consume. SQL Server 2014
extends the reach of the Resources Governor so that you can now manage storage
I/O usage as well. The SQL Server 2014 Resource Governor can limit the physical
I/Os issued for user threads in a given resource pool, allowing you to have
more predictable application performance.
SQL Server 2014 also integrates with several new and
improved features in Windows Server 2012 R2 and Windows Server 2012. For
example, SQL Server 2014 supports the OSs' new Storage Spaces feature. With
Storage Spaces, you can create pools of tiered storage to improve application
availability and performance. In addition, SQL Server 2014 can take advantage
of the OSs' Server Message Block (SMB) 3.0 enhancements to achieve
high-performance database storage on Windows Server 2012 R2 and Windows Server
2012 file shares. Many enhancements were made to SMB 3.0, with the most notable
being SMB Transparent Failover and SMB Direct. The new SMB Transparent Failover
feature provides highly reliable SMB storage that's fully supported for
applications like SQL Server and Hyper-V. With the new SMB Direct feature, you
can leverage the NIC's Remote Direct Memory Access (RDMA) feature to provide
access speeds for SMB file shares nearing the access speed for local resources.
Enhancements to AlwaysOn Availability Groups
SQL Server 2014's AlwaysOn Availability Groups has been
enhanced with support for additional secondary replicas and Windows Azure
integration. First introduced with SQL Server 2012, AlwaysOn Availability
Groups boosted SQL Server availability by providing the ability to protect
multiple databases with up to four secondary replicas. In SQL Server 2014,
Microsoft has enhanced AlwaysOn integration by expanding the maximum number of
secondary replicas from four to eight. Readable secondary replicas are now
available for read-only workloads, even when the primary replica is
unavailable. SQL Server 2014 also provides Windows Azure AlwaysOn integration.
This new integration feature enables you to create asynchronous availability
group replicas in Windows Azure for disaster recovery. In the event of a local
database outage, you can run your SQL Server databases from Windows Azure VMs.
The new Windows Azure AlwaysOn availability options are fully integrated into
SQL Server Management Studio (SSMS).
Enhancements to Backups
Database backups in SQL Server now support built-in database
encryption. Previous releases all required a third-party product to encrypt
database backups. The backup encryption process uses either a certificate or an
asymmetric key to encrypt the data. The supported backup encryption algorithms
are Advanced Encryption Standard (AES) 128, AES 192, AES 256, and Triple DES
(3DES).
SQL Server 2014 also provides new Windows Azure integration
to SQL Server's backup capabilities. You can specify a Windows Azure URL as the
target for your SQL Server 2014 database backups. This new Windows Azure backup
feature is fully integrated into SSMS.
Updateable Columnstore Indexes
Columnstore indexes are another of Microsoft's high
performance in-memory technologies. Microsoft introduced the columnstore index
in SQL Server 2012 to provide significantly improved performance for data
warehousing types of queries. Microsoft states that for some types of queries,
columnstore indexes can provide up to 10x performance improvements. However, in
the original implementation of the columnstore indexes, the underlying table
had to be read-only. SQL Server 2014 eliminates this restriction. The new
updateable columnstore index enables updates to be performed to the underlying
table without first needing to drop the columnstore index. A SQL Server 2014
columnstore index must use all of the columns in the table, and it can't be
combined with other indexes.
SQL Server Data Tools for Business Intelligence
Previously known as Business Intelligence Development Studio
(BIDS) and SQL Server Data Tools (SSDT), the new SQL Server Data Tools for BI
(SSDT BI) is used to create SQL Server Analysis Services (SSAS) models, SQL
Server Reporting Services (SSRS) reports, and SQL Server Integration Services
(SSIS) packages. SSDT BI is based on Microsoft Visual Studio 2012 and supports
SSAS and SSRS for SQL Server 2014 and earlier, but SSIS projects are limited to
SQL Server 2014. In the pre-release version of SQL Server 2014 Community
Technology Preview 2 (CTP2), SQL Server Setup doesn't install SSDT BI. Instead,
you must download it separately from the Microsoft Download Center.
Power BI for Office 365 Integration
Power BI for Office 365 is Microsoft's cloud-based BI
solution that leverages familiar Office 365 and Excel tools. Power BI for
Office 365 provides business insights through data visualization and navigation
capabilities. Power BI for Office 365 includes:
Power Pivot (formerly PowerPivot). This Excel 2010 and Excel
2013 ProPlus add-in enables Excel to perform data analysis on large volumes of
data.
Power View. This Excel 2013 ProPlus add-in provides a
Silverlight-based data visualization and navigation tool. Microsoft has
extended Power View so that you can now use it with multidimensional models
(OLAP cubes). Power View multidimensional models also support queries using
Data Analysis Expressions (DAX). Power View's data visualization capabilities
have also been enhanced. Power View now supports a number of data
visualizations, including tables, matrixes, bubble charts, and geographical
maps. To learn more about Power View's new multidimensional support, go to
MSDN's Power View for Multidimensional Models web page.
Power Query (formerly code-named Data Explorer). This Excel
2013 add-in lets you discover and integrate data into Excel. It supports SQL
Server data sources as well as external sources such as Windows Azure, text
files, XML files, Open Data Protocol (OData) feeds, web pages, Hadoop data
sets, and public data sets (e.g., Open Government data from data.gov).
Power Map (formerly code-named GeoFlow). This Excel 2013
ProPlus add-in provides 3D mapping visualizations.
As you can see, several of the Power BI for Office 365
components require Excel 2013, which must be acquired separately. You can learn
more about Microsoft's Power BI for Office 365 tools at Microsoft's Power BI
for Office 365 website.
Unchanged Subsystems and Discontinued Features
Like you might expect after such a short release cycle, not
every subsystem has been updated. There are no major changes to SQL Server
2014's replication, SSIS, or SSRS.
There are several older and outdated capabilities that
Microsoft is dropping from the SQL Server 2014 release. To see a list of the
features and functionality that Microsoft is dropping from SQL Server 2014,
check out MSDN's Deprecated Database Engine Features in SQL Server 2014 and
Discontinued Database Engine Functionality in SQL Server 2014 web pages.
Time to Upgrade?
Upgrading to a new release is usually a difficult decision
for most organizations. However, SQL Server 2014's new In-Memory OLTP engine,
with its promise of significantly improved application performance, offers a
very compelling reason to upgrade for customers using SQL Server to support
OLTP applications. One great way to find out the type of performance
improvement that you might get out of SQL Server 2014's In-Memory OLTP
capability is to download and install the SQL Server 2014 Evolution Edition and
use the AMR tool to analyze your production workload. The AMR tool supports
collecting data on SQL Server 2008 and later instances. This will give you a
good idea of the type of performance improvements that you might expect to get
using the new In-Memory OLTP engine as well as the changes that you might need
to make to implement it. SQL Server 2014's In-Memory OLTP support promises to
boost your database application performance to the next level.
No comments:
Post a Comment