マイクロソフトの次期SQL Server、インメモリDBとストアドプロシージャのネイティブコンパイラ搭載へ

2012年11月13日

マイクロソフトの次期SQL Serverで搭載される新機能、コードネーム「Hekaton」には、インメモリデータベースエンジンや、ストアドプロシージャをネイティブコードにコンパイルすることで高速実行を実現するコンパイラなどが搭載されていると、マイクロソフトのSQL Server Blogにポストされたエントリ「Breakthrough performance with in-memory technologies」で説明されています。

Breakthrough performance with in-memory technologies - SQL Server Team Blog - Site Home - TechNet Blogs

今年リリースされたSQL Server 2012では、コード名xVelocityと呼ばれるカラムストアインデックス機能が搭載され、高速なデータ分析を実現しました。

次バージョンのSQL Serverに搭載される新機能、コードネームHekatonではトランザクション処理とビジネスロジックの高速化に焦点が当てられており、そのためにインメモリデータベースエンジンとストアドプロシージャのコンパイラなどが搭載されるとのことです。

インメモリデータベースに最適化されたエンジン

マイクロソフトの説明をかみ砕いて説明してみましょう。

HekatonのインメモリデータベースエンジンはSQL Serverのデータベースエンジンに統合されており、インメモリ処理を行うかどうかをテーブルごとに設定できるようになっています。

現在のデータベースエンジンも、データの一部をメモリバッファ上において高速な処理を実現していますが、このメモリ上のデータはあくまでもハードディスクにあるデータを一時的にメモリに置いてあるという位置づけです。このため、メモリ上のデータに対する操作は洗練されていないのに対し、Hekatonのインメモリデータベースエンジンはメモリ上のデータアクセスに最適化されているため、圧倒的に高速なトランザクション処理を行います。

もちろん通常のデータベース処理とHekatonの処理は混在可能で、トランザクション処理も完璧に行われます。

Hekatonでメモリ上に置くテーブルは次のオプションで定義されます。

create table Order.hekaton
(
    :
) with (MEMORY_OPTIMIZED = ON, DURABILITY = SCHEMA_AND_DATA)

ストアドプロシージャからネイティブコード生成

Hekatonには、ストアドプロシージャからネイティブコードを生成するコンパイラも備わっています。従来のストアドプロシージャはインタプリタで解釈されるのに対し、ネイティブコードのおかげでストアドプロシージャ内のビジネスロジックを非常に高速に実行できます。

ネイティブコードの生成は、ストアドプロシージャの宣言時に以下のように行います。

create procedure order_proc_hekaton @order_number integer
WITH NATIVE_COMPILATION, SCHEMABINDING, EXECUTE AS OWNER

Hekatonを搭載した次期SQL Serverは、すでに一部の顧客に対してプライベートテクノロジープレビューとして提供されているそうです。

あわせて読みたい

RDB データベース Microsoft SQL Server




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本