【SQL】 SQL Server Compact 4.0 に関するリリース情報

SQL Server Compact 4.0 に関する情報が今ちょっと少ない状況なので、開発チームのブログをここで翻訳しておきます。
私の方で少し情報を付加しているのでそこは蛍光ペンを塗っておきます。
また、そこまで専門的なエリアでもないので表現間違いなどがありましたら、ご指摘いただけるとありがたいです。

※原文:Microsoft SQL Server Compact 4.0 is available for download
https://blogs.msdn.com/b/sqlservercompact/archive/2011/01/12/microsoft-sql-server-compact-4-0-is-available-for-download.aspx


SQL Server Compact 開発チームから次のバージョンの Microsoft SQL Server Compact 4.0 がリリースされたことをお知らせします。WebMatrixWeb Platform Installer 3.0 あるいはダウンロード センターから入手可能です。

SQL Server Compact 4.0 は昨年いっぱいをかけて設計・開発・テスト・チューニングされてきましたが、Microsoft MVP の方々や開発者コミュニティによって精力的に確認をいただいてきました。開発者コミュニティからのフィードバックのおかげで SQL Server Compact 4.0 リリースの製品クオリティを向上することができました。参画いただいた開発者コミュニティの皆さんに SQL Server Compact 開発チームからお礼申し上げます。

SQL Server Compact 4.0 を利用する上でのバリュー ポイントとして提案するのは ASP.NET Web アプリケーションにおけるデータ ストアに利用できることです。少しお時間をいただき、SQL Server Compact 4.0 が適さないシナリオを確認ください。そのようなシナリオの場合には、 SQL Server Compact 3.5 SP2 が正しい選択になります。

SQL Server Compact 4.0 を使用する理由:

  1. ASP.NET Web アプリケーションおよぶ Web サイトのデータベース:
    Compact 4.0 はASP.NET Webアプリケーション向けに最適化およびチューンされており、現場の試験を通過しています。目指したのは Compact 4.0 が Web サイトの立ち上げ時に利用するシナリオで、データベースのサイズが 4GB くらいまでスケール アップして処理できることです。 
    1. Microsoft WebMatrix の既定のデータベース:
      Compact 4.0 は Microsoft WebMatrix の既定のデータベースです。Microsoft WebMatrix は Web スタック全体を扱える製品で、ASP.NET・IIS Express・エディター・SQL Server Compact のようなテクノロジーをカプセル化したものです。これらは ASP.NET Web サイトを開発、テスト あるいは 展開を行うために必要で、サード パーティのホスティング サービスに発行が可能です。
    2. 無償のオープンソース Web アプリケーションを使用した迅速な Web サイト開発:
      mojoPortal, Orchard, Umbraco などのような人気のオープンソース Web アプリケーションは Compact 4.0 に対応しており、Web サイトを迅速に開発、テスト、展開が可能です。
    3. 部分信頼と仮想メモリー:
      Compact 4.0 は ASP.NET Web アプリケーションの主な展開シナリオである部分信頼で動作します。Compact 4.0 が使用する仮想メモリーはデータベースに対して 256 接続を許可することができるように最適化されています。
    4. SQL Server へのワン クリック移行:
      次第に Web アプリケーションの要件がエンタープライズ規模のデータベースの域まで成長した時に、スキーマとデータは WebMatrix 画面内の移行ボタンでワンクリックで Compact から SQL Server の他のエディションに移行できます。 これにより、XML 形式の web.config ファイルがプロジェクトに追加され、SQL Server への接続文字列が書き込まれます。移行が完了したあとは、Web サイトのプロジェクトはそのままシームレスに SQL Server を利用できます。
      ※Compact 4.0 のデータファイルはそのままバックアップとして残ります。
    5. ASP.NET Web アプリケーションで使用することをブロックするフラグを撤廃:
      ASP.NET Web アプリケーションに Compact を使用するには、これまでのバージョンの Compact では SQLServerCompactEditionUnderWebHosting というフラグをオンにする必要がありましたがなくなりました。
  2. 基盤部分の強化点 (インストール、展開、信頼性、暗号化アルゴリズム) :
    Compact 4.0 の基盤は問題少なくインストールでき、容易に展開可能で、データのセキュリティを守りながら信頼性高く動作できるように強化されています。  
    1. 安定したインストール体験と小さなダウンロード サイズ:
      x86 と x64 プラットフォーム用に別々の MSI 星ファイルが用意されています。x64 版の MSI は WOW モードとネイティブ モードの両方に Compact のコンポーネントをインストールします。具体的には %Program Files (x86)%\Microsoft SQL Server Compact Edition\v4.0 および %Program Files%\Microsoft SQL Server Compact Edition\v4.0 の2か所になります。x86 版の MSI は x64 プラットフォームでインストールできなくしてあります。同様に、x64 版の MSI は x86 プラットフォームのみにインストール可能です。これによって安定したインストール体験になり、将来的に x86 版のたとえば サービス パックのインストーラーが x64 環境の GAC 登録されたアセンブリーの情報を新しいものに書き換えることを防げます。この問題は Compact 3.5 SP2 のリリースで報告され、サポート技術情報 974247 で詳細に説明されています。これらのインストール パッケージに関する改善を行った上で、Compact のダウンロード サイズは 2.5 MB に抑えることができました。
      星 MSI:マイクロソフト インストーラー向けのファイル形式で、.msi の拡張子を持ちます。
    2. 容易なプライベート配布:
      x86 と x64 Compact のアセンブリーや DLL は一つのフォルダーに集めてあります。具体的には %Program Files%\Microsoft SQL Server Compact Edition\v4.0\Private にあります。フォルダーの内容はアプリケーション ディレクトリにコピーすることができ、Compact を再配布することが可能です。x86 版および x64 版の MSI は両方とも x86 用および x64 用の アセンブリーや DLL を Private フォルダーに配置しますので x64 版の dll を入手するために x86 環境で x64 版の dll を個別に入手する必要はありません。SQL Server Compact のネイティブ DLL が正しく動作するためには Microsoft Visual C++ 2008 Runtime Libraries (x86 and x64) SP1 が依存関係で必要な点が注意点です。Visual C++ 2008 ランタイムのアセンブリーも Private フォルダーに入っています。したがって、Private フォルダーに入っているすべての DLL およびフォルダーを配布することで正しく Compact が動作するように再配布が可能です。
    3. より高い信頼性:
      ASP.NET Web アプリケーションはデスクトップ アプリケーションと比較するとワークロードの種類が異なります。星 Compact は立ち上げ時の Web サイトで利用できるようにテストされており、これにより以前のバージョンよりも信頼性が向上しています。
      星デスクトップ アプリケーションのユーザーは多くの場合一人ですが、Web アプリケーションは大勢の人にアクセスされる前提があり、同時実行性を考慮した基盤である必要があります。
    4. 高度にセキュア:
      Compact 4.0 は SHA2 アルゴリズムを使用してデータをセキュアに取扱い、高度なセキュリティを提供します。Compact 4.0 は FIPS にも対応しており、FIPS コンプライアンスが要求されるアプリケーションでも使用可能です。
  3. ADO.NET Entity Framework, API および T-SQL 記法における強化:
    Compact 4.0 は Entity Framework, API および T-SQL においても下記の強化が行われています。
    1. ADO.NET Entity Framework 4 (.NET FX 4) Code First とサーバー生成キー:
      Compact 4.0 は ADO.NET Entity Framework の code-first programming model 星 に対応しています。さらに、サーバーが生成するキーを持つ列(identity, rowguid など)も Compact 4.0 で ADO.NET Entity Framework 4.0 と使用する場合にサポートされます。これは .NET Framework 4 とともにリリースされた ADO.NET Entity Framework です。code-first とサーバー生成のキーを持つ列への対応は ADO.NET Entity Framework への対応を強化し、多くの開発者コミュニティからの要望にお応えしたものです。
      星日本語では https://blogs.msdn.com/b/daisukei/archive/2010/09/22/ado-net-entity-framework-code-first.aspx が参考になりますので参照ください。
    2. OFFSET と FETCH における T-SQL 記述:
      Compact 4.0 は OFFSET と FETCH における T-SQL 記述に対応しており、これにより、データベース ファイルに対してページング クエリーを実行可能です。
    3. API の強化:
      Compact 4.0 は二つの新しい API を追加します。一つめは System.Data.SqlServerCe.SqlCeConnection.GetSchema() で、Compact データベース ファイルからスキーマを取得するのに使用できます。この API はまた、 System.Data.Common.DbConnection.GetSchema に対応するためにも使用されます。 二つめは、 System.Data.SqlServerCe.SqlCeConnectionStringBuilder() で、Compact 4.0 用の正しい接続文字列をプログラムで生成するあるいは、パースしたり、再生成することに開発者は利用できます。この API はまた、System.Data.Common.DbConnectionStringBuilder に対応するために使用されます。
  4. Visual Studio 2010 での容易なアプリケーション開発:
    Visual Studio 2010 は機能豊富なデザイナーや容易なデバッグ機能を提供し、Compact 4.0 を使用した ASP.NET Web アプリケーションの開発作業を容易にします。SQL Server Compact 4.0 を使用した開発に必要なコンポーネントについては Visual Studio 2010 SP1 Beta のヘルプページ を参照ください。

SQL Server Compact 4.0 が向かないシナリオ:

SQL Server Compact 4.0 は ASP.NET Web アプリケーションで利用するという新しいシナリオに焦点をあてて開発されました。開発工期と開発リソースの状況により、下記のシナリオでの利用は SQL Server Compact 4.0 では想定していません。 これらのシナリオについては SQL Server Compact 3.5 SP2 が正しい選択になります。

  1. SQL Server とのデータ レプリケーション:
    Compact 4.0 は Sync Framework を利用したデータ レプリケーション、マージ レプリケーション、リモート データ アクセス(RDA)をサポートしていません。
  2. LINQ to SQL:
    Compact 4.0 では LINQ to SQL は使用できません。
    1. .NET Framework 4 とともにリリースされた ADO.NET Entity Framework は Compact 4.0 に対応しており、Code First やサーバー生成のキーなどの新機能が追加されています。
  3. Windows Mobile, Windows Phone および Windows CE デバイス:
    Compact 4.0 の Windows Mobile, Windows Phone あるいは Windows CE デバイス用のリリースは存在しません。
  4. Visual Studio 2010 SP1 Beta の VB あるいは C# の Windows プロジェクトにおけるデザイナー:
    Windows プロジェクト中の下記のウィザードは Compact 4.0 とともには動作しません。開発者は手動で ADO.NET provider for Compact 4.0 (System.Data.SqlServerCe) へのリファレンスを追加し、Windows プロジェクトにおいても Compact 4.0 向けに開発することは可能です。
    1. データセットを構成するための データソース構成ウィザード
    2. Sync Framework を使用して SQL Server とデータやスキーマを同期するための データ構成ウィザード
    3. Compact データベースからエンティティを生成するためのエンティティ モデル ウィザード

既知の問題:

SQL Server Compact 4.0 Books Online および更新された Readme は Microsoft Download Center 星 から 2011年1月の第三週から入手可能になります。Books Online および Readme は SQL Server Compact 4.0 を使用して開発する際に必要な情報、より詳細な既知の問題の一覧、サポートされるプラットフォームの情報を提供します。 Microsoft WebMatrix に関する追加情報については以下のリンクを参照ください。
星 これを翻訳している時点で英語版のみの提供です。

星 これらの追加情報についてはこのブログおよび、以下でエバンジェリスト数人で今 日本語の準備をしています。以下を参照ください。

WebPI の歩き方 by 武田正樹
Days with Microsoft Web Platform
monoe's blog


一番情報が詳しい投稿を翻訳しておきました。他の投稿も参考になると思うので原文の方のブログもぜひ参照ください。 ウインク