劇的にパフォーマンスは向上するのか?SQL Server 2014 のインメモリ OLTP(Hekaton) を Windows Azure 仮想マシンで試してみよう

SQL Server 2014 にはインメモリ OLTP機能(コードネーム:Hekaton)が搭載されています。Windows Azure 仮想マシンはストレージまわりがボトルネックになりがちなので、これによりOLTPワークロードのパフォーマンスが劇的に改善される可能性があります。ちなみに Windows Azure 仮想マシンのギャラリーではSQL Server 2014 構成済みイメージが選択できるので、即座に環境構築してインメモリ OLTPの検証が出来るので便利です。 現時点(2013/12/09)でWindows Azure にはSQL Server 2014は評価版が提供されています。      とはいえ、インメモリ OLTP はどんな特性を持つシステムでもドンとこい!というわけではありません。諸々制限もあります。そこで、いくつかの推奨シナリオと構成をここで記載しておくので参考にしてください。 そもそも「SQL Server 2014のインメモリOLTPって・・・・?」という方は、最初にざっとでいいので自習書を読んでおくことを推奨します。 SQL Server 2014 自習書 http://www.microsoft.com/ja-jp/sqlserver/2014/technology/self-learning.aspx      推奨シナリオ ・開発、テスト環境として Windows Azure 仮想マシンを使えばSQL Server 2014 の評価検証環境をサクッと構築できます。検証目的で自分のPCを汚す必要もありません。また分単位課金なので一時的に利用する開発、テスト環境としてはもってこいです。どうしてもお金が気になる方は無料評価版をうまく活用してください。 Windows Azure 無料評価版 http://www.windowsazure.com/ja-jp/pricing/free-trial/ ・処理がReadメイン インメモリOLTでは、メモリに保持されたデータのアクセスに最適化したアルゴリズムが採用されています。とくにオンラインの商品カタログのようなReadメインのシステムでは、本領を発揮して劇的にパフォーマンスが向上する可能性があります。 インメモリ OLTP (インメモリ最適化) http://msdn.microsoft.com/ja-jp/library/dn133186(v=sql.120).aspx ・ログI/Oがボトルネックにならないシステム 通常のSQL Serverではデータの更新時(Insert/Update/Delete)にロックやラッチで待ち(Wait)が発生してパフォーマンスが低下することがありました。インメモリOLTPではロックを利用しないマルチバージョンの楽観的同時実行制御を採用しているため、Waitが発生してパフォーマンスが低下することがほとんどありません。このためログ…

0

巷で話題の Xamarin が Windows Azure モバイルサービスに

モバイルサービスのプラットフォームの選択項目として正式に追加されました。    ちなみに、約一年前にXamarin とのパートナーシップ提携に関するお知らせをしまいたが、それがここにきて実を結んだ感じでしょうか。これでクライアントサイドではC# を使ったマルチデバイス向けネイティブアプリ開発が一段と楽になりますし、サーバーサイドはモバイルサービスを活用することで楽が出来ることになります。 個人的にはiOSのアプリとか新しく覚えて開発する気力が湧きませんでしたが、C#が使えるならやってみようかと。   ところで、Xamarinとは ・オープンソースの.NET Framework 実装であるmonoをベースとし、C#を利用して、iOS、 Android、 Mac、Windowsクロスプラットフォーム対応の開発ができるプラットフォーム ・ネイティブコードを生成するので、アプリは高速に動作 ・iOS、 Android、Windowsのアプリ開発をVisual Studioで一本化 ※ iOSのアプリビルドには、Mac OSが必須 ・Visual Studioのテスト機能、Team Foundation Server/Team Foundation Service を活用したALM、DevOps ・既存の.NET Frameworkのライブラリを再利用 ・Xamarin Component Store によるコンポーネント購入や販売 例: Windows Azure Mobile Services 用コンポーネント   Azure Mobile Services + Xamarin のビデオ http://components.xamarin.com/view/azure-mobile-services   チュートリアル http://www.windowsazure.com/en-us/develop/mobile/tutorials/get-started-xamarin-ios/?fb=ja-jp   Xamarinの入手 http://xamarin.com/download   国内代理店…

0

Microsoft Conference 2013 で登壇します。

今年も Microsoft Conference (MSC)の季節がやってきました。 といっても私、実はMSCで初めて登壇するんですよね。他イベントとは勝手が違っていろいろと手間取りましたが、先ほど無事コンテンツのレビューを終えました。セッションではWindows Azure のDB開発の話をします。SQL Server の概要をご存知の方を対象に、Windows Azure 仮想マシン上のSQL Server や Windows Azure SQL データベースの開発ネタになりますので、ご興味ある方は是非ご参加くださいませ!   クラウドで失敗しないためのデータベース開発基礎 ~Windows Azure SQL データベース(旧名 SQL Azure)とSQL Server on Windows Azure 仮想マシン (IaaS)~ Windows Azure はクラウド サービスや SQL データベースといった PaaS としての機能を中心に提供してきましたが、今年 4 月より「Windows Azure 仮想マシン (IaaS) 」の正式提供を開始したことで SQL Server をそのまま Windows Azure で動かすことが出来るようになりました。本セッションでは 「SQL データベース」と 「Windows Azure…

0

Windows Azure 仮想マシンのギャラリーに SQL Server 2014 CTP2 が登場

  タイトルのとおりです。使えるようになりました。 SQL Server 2014 は自習書も公開されてます。 http://www.microsoft.com/ja-jp/sqlserver/2014/technology/self-learning.aspx   Windows Azure 無料評価版もあるし遊んでみてください。 http://www.windowsazure.com/ja-jp/pricing/free-trial/      

0

9月12日(木) 19:00 ~ 21:00 (マイクロソフト品川オフィス) Windows Azure 概要セミナーやりました。

来週になりますが9月12日(木) 19:00 ~ 21:00 (マイクロソフト品川オフィス) Windows Azure 概要セミナーを開催しました。 スライド共有します。       【イベント概要】 Windows Azure は、マイクロソフトがご提供する「必要なときに必要なだけ」従量課金でお使いいただける PaaS/IaaS 型クラウド サービスです。開発、テスト環境から本番稼働環境まで、パブリック クラウド、またはオンプレミス (社内設置) の環境をクラウド上に拡張したハイブリッド クラウドとして、お使いいただけます。お客様の利用形態に合わせてさまざまなサービスをご提供している Windows Azure の概要、および毎月公開されているサービスを含めた最新情報をセミナー形式でお届けいたします。   9月のセミナーに関してはこちらへー。 Windows Azure のセミナー、ハンズオン情報(2013年9月) http://blogs.msdn.com/b/toiwade/archive/2013/08/28/windows-azure-2013-9.aspx

0

Windows Azure で MySQL を使うための選択肢 – VM、Worker Role、ClearDB

Windows Azure には SQL データベースと呼ばれる SQL Server のクラウド版が存在するため、SQL Server ベースのアプリであれば比較的容易に移行できます。とはいえ、世の中の全アプリが SQL Server を使っているわけではなく、特にクラウド向きな Web のサービスでは LAMP、つまりデータベースに MySQL が採用されているケースが多いですよね。 Windows Azure では仮想マシン(IaaS)上で MySQL を使うという手が考えられます。単純に仮想マシンの Windows Server や Linux 環境に MySQL をインストールしても良いですし、VM DEPOTには LAMP スタックのイメージが標準で提供されているので、手っ取り早く環境を作るときには便利です。他にも Worker Role を使って構築することも出来ますが、主に仮想マシンが正式リリースする前に用いられていた代替手段です。   とはいえ、MySQL のダウンタイムを最小限するため High Available 構成を Windows Azure仮想マシンで組むことは(無理ではありませんが)なかなか骨が折れる作業です。これは Windows Azure の制限(”ホストOSのアップデートが不定期で発生”、”Floating IP 未サポート”、”共有ディスクは利用できない”など)に起因します。 そこで、ClearDB という 3rd Party の Windows…

0

Windows Azure 仮想マシン上のWindows Server 2012の日本語化は標準手順で OK

Windows Azure 仮想マシンで標準テンプレートとして提供されているイメージは全て英語版です。 以前はなおきさんBLOBにあるように、しちめんどくさい手順でWindows Server 2012 を日本語化していましたが、通常の手順で出来るようなっていますね。 ここで説明することでもないですが検索面倒な人向けに手順を書いときます。   Conrol Panelから「Add Languages」で日本語を選択。   すると[download and Install language pack]を実行できるようになります。   辛抱強く待ちます。10分くらい??   日本語をプライマリー言語に設定してログオフ/ログオンすれば、あら、UIが日本語に。 、

0

Windows Azure SQL データベース の Premium (占有型) をトライ

Windows Azure 黎明期より提供されているマルチテナント型の SQL データベース(旧SQL Azure)。これはこれで多くの特長(自動的に3台でミラーしてフェールオーバー、安価・・・・など)があるのですが、マルチテナント型故の制限(例えばDBサイズや、同時リクエスト数、パフォーマンスの安定性など)があるためシステム要件によってはマッチしない可能性があります。 詳細:Resource Management in Windows Azure SQL Database http://msdn.microsoft.com/ja-jp/library/windowsazure/dn338083.aspx マルチテナント型 SQL データーべス     現在(2013/08/14)プレビュー公開されている SQL データベース Premium(占有型)を使うと、マルチテナント故の制限を回避することができます。 SQL データーべス Premium(占有型)   当然ながら価格はマルチテナント型より高めに設定されています。 SQL データベースの料金詳細 http://www.windowsazure.com/ja-jp/pricing/details/sql-database/#service-premium   サイトからSQL データベース Premium(占有型)のプレビュー機能のEAPに申し込むことが出来ます。ご興味あればどうぞ。 http://www.windowsazure.com/ja-jp/services/preview/   申し込みが完了した後、管理ポータルからSQL データベースのサーバーを選択すると”プレミアムデータベースの要求”が出来るようになります。    暫くするとメールが届きます。(私の場合は3日かかりました)   データベースのスケールタブからプレミアムデータベースが選択できるようになります。   管理ポータルには占有されていること表示されます。 操作感は既存のSQL データベースと同じです。 パフォーマンスのテストなどの用途で利用してみてくださいね。   詳細はこちら Managing a Premium Database http://msdn.microsoft.com/library/windowsazure/dn369872.aspx…

0

【吉報】 Windows Azure 仮想マシン(VM)で SQL Server AlwaysOn を正式サポート

オンプレと比較した場合、Windows Azure に限らずクラウドのプラットフォームというのはシステム障害やメンテナンスを前提とした冗長構成が結構重要だと思います。Webサーバーで冗長構成を組むのは比較的容易だと思いますが、DB サーバーはなかなか厄介ですよね。 SQL Server 2012 以降では AlwaysOn という高可用を実現するための機能が提供されています。これは プライマリ 1、セカンダリ 4 の最大5台構成で冗長化可能です。補足ですが次バージョンのSQL Server 2014 ではセカンダリ8の最大9台構成も可能になる予定です。 下図のように AlwaysOnにはリスナーという機能が存在します。これは接続先の切り替えやRead処理の負荷分散など便利な機能を提供します。 この度のアップデートで AlwaysOnのリスナーがWindows Azure 正式サポートとなりました ちょっと検証してみようかなぁと思ったら、素敵なムッシュさんが既にブログにPOSTされてますね。流石です。 Availability Group Listener in Windows Azure の設定 http://engineermemo.wordpress.com/2013/08/13/availability-group-listener-in-windows-azure-%e3%81%ae%e8%a8%ad%e5%ae%9a/   このあたりもご参考まで。 Windows Azure 仮想マシン内の SQL Server の高可用性と災害復旧 http://msdn.microsoft.com/ja-jp/library/windowsazure/jj870962.aspx     SQL Server 2014 についてはこの辺りを参考にしてください。 AlwaysOn in SQL Server 2014 CTP1(英語) http://blogs.technet.com/b/dataplatforminsider/archive/2013/06/27/alwayson-in-sql-server-2014-ctp1.aspx  …

0