DocumentDB データのクエリおよび編集エクスペリエンスを改良

このポストは、6 月 11 日に投稿された Querying and Editing DocumentDB Data Just Got Better の翻訳です。 DocumentDB に関する以下の機能強化により、Azure プレビュー ポータルでのクエリ、ドキュメント、サーバー側プログラミングのエクスペリエンスと効率性が向上しました。 Query Explorer の改良 Document Explorer の改良 Script Explorer の追加   この記事では、これらの新機能と機能強化の詳細について説明します。 Query Explorer の改良 Query Explorer (英語) で複数のクエリの作成や貼り付けが可能になったほか、クエリを選択して強調表示し [Run query] をクリックすると任意のクエリのみ実行できるようになりました。同時に複数のクエリを実行することはできませんのでご注意ください。 また、構文の強調表示機能が拡張され、ARRAY_CONTAINS や CEILING、IS_BOOL などの DocumentDB の組み込み関数がサポートされるようになりました。DocumentDB の組み込み関数の詳細については、こちらのページを参照してください。 このほかにも、ファイルの内容を Query Explorer に読み込めるようになり、保存されているクエリをまとめて簡単に読み込むことができます。 Document Explorer の改良 Document Explorer (英語) でクエリから返される結果の数を指定できるようになりました…


DocumentDB へのデータのインポートがより高速、簡単に

このポストは、6 月 2 日に投稿された Importing Data to DocumentDB Just Got Faster and Easier の翻訳です。 Azure DocumentDB Data Migration Tool は、Azure の NoSQL ドキュメント データベースである DocumentDB にデータをインポートするためのオープン ソース ソリューションです。このツールの最新リリースでは、インポート中にデータを複数のコレクションにパーティション分割することにより、さまざまなソースから大規模なデータをさらに高速にインポートできるようになりました。 また、現在サポートされている CSV ファイルのインポートとインポート エラーのログ記録の機能がさらに強化されました。各データ ソース向けのコマンド ラインのサンプルなど、このツールの使用方法の詳細や新機能の概要については、私が執筆したこちらの記事 (英語) をお読みください。 パーティション分割のサポート DocumentDB Data Migration Tool で、複数の DocumentDB コレクションに対する読み取りと書き込みがサポートされるようになりました。複数のコレクションから読み取る場合は、正規表現を使用して 1 つまたは複数のコレクションを指定します。 インポート時に複数のコレクションにわたってデータをパーティション分割する場合は、既存の複数のコレクション (コレクションを新規作成する場合は、作成時にツールが使用する命名パターン*) と、パーティション キーとして使用するプロパティを指定します。 CSV 形式のサポートの強化 CSV ファイルをインポートする際に、CSV ファイル内の引用符で囲まれていない情報の型をツールが推定します…


DocumentDB の新しいインポート オプション

このポストは、5 月 5 日に投稿された New DocumentDB Import Options の翻訳です。 4 月 8 日に、さまざまなソースから DocumentDB にデータをインポートできるオープン ソース ソリューション、Azure DocumentDB Data Migration Tool がリリースされました。このツールでは主に次のソースからデータをインポートすることができます。 JSON ファイル MongoDB SQL Server CSV ファイル DocumentDB コレクション そして今回、さらに 2 つのインポート オプションがサポートされました。Azure Table Storage と、JSON/CSV/MongoDB の各エクスポート ファイルの URL です。 Azure Table Storage Azure Table Storage から DocumentDB へデータをインポートできるようになりました。接続文字列とテーブル名を指定するだけで、Azure Table のすべてのエントリをインポートできます。また、以下のオプションを利用して、インポート対象のデータを細かく指定することもできます。 [Filter] (フィルター)…


DocumentDB SDK でパーティション分割をサポート

このポストは、4 月 30 日に投稿された Announcing partitioning support in the DocumentDB SDK の翻訳です。 マイクロソフトは、.NET SDK に新しい機能を追加したことを発表しました。この機能によって、アプリケーション データのパーティション分割機能を Azure DocumentDB を使用して簡単に開発できるようになりました。 DocumentDB サービスのプレビュー期間中、私たちは開発者の皆様が個別の値やタイムスタンプの範囲のルックアップ テーブルを使用したり、オブジェクト ID を一貫してハッシュ化するなどさまざまな種類の類似のデータ アクセス層を実装してコレクション全体のデータをパーティション分割していたのを目にしました。これについて、皆様から「SDK でボイラープレートのパーティション分割タスクを実行するヘルパー クラスやヘルパー メソッドを追加すれば、大規模な DocumentDB アプリケーションの開発を簡略化できるのではないか」という明快なご指摘をいただきました。 そこで、SDK 内でパーティション分割をサポートするために、以下の機能を追加しました。 DocumentClient (英語) を使用して、各データベースに対して IPartitionResolver (英語)の作成と登録を行えるようにしました。これにより、ドキュメントをどのようにパーティション分割するかを定義します。IPartitionResolver を登録すると、作成、フィードの読み取り、クエリなどのドキュメント操作をデータベースに対して直接実行できます。ドキュメント操作は、適切なコレクションに自動的にルーティングされます。 よく使用される HashPartitionResolver (英語) と RangePartitionResolver (英語) の 2 種類のパーティション分割手法を標準でサポートすることにしました。これにより、このようなパーティション分割をデータ モデルやアクセス パターンに基づいて構成、拡張したり、自作の IPartitionResolver (英語) をゼロから構築して実装することができます。 パーティション分割のチュートリアルは、こちらのページ (英語) で詳細をご確認いただけます。ご利用を開始するには…


サーバーサイド JavaScript で Azure DocumentDB のアプリケーションのパフォーマンスを大幅に向上

このポストは、4 月 23 日に投稿された Boost Your Application’s Performance with Server-Side JavaScript in Azure DocumentDB の翻訳です。 JavaScript を最新の T-SQL として統合 Azure DocumentDB のデータベース エンジン内で JavaScript ロジックのトランザクションをネイティブに実行できることはご存知でしょうか? JavaScript を最新の T-SQL として使用すると、機能豊富で使い慣れたインターフェイスをビジネス ロジックに実装することができます。ロジックはストアド プロシージャ、トリガー、ユーザー定義関数 (UDF) の形で記述することができます。今回は DocumentDB がストアド プロシージャをどのように解釈するかについて説明します。 パフォーマンスの高いバッチ処理とシーケンス処理 ストアド プロシージャの大きなメリットは、複雑なバッチ処理やシーケンス処理を、データの格納場所に近いデータベース エンジン内で直接実行できることです。ストアド プロシージャでは、挿入、更新、削除などの処理をグループ化およびシーケンス化し、まとめて実行します。このため、バッチ処理やシーケンス処理でのネットワーク トラフィックの遅延コストを完全に削減できます。   一連のデータベース処理を実行する場合   ストアド プロシージャで一連の処理を実行する場合 また、ストアド プロシージャの登録時に暗黙的にバイト コード形式にプリコンパイルされるため、呼び出すたびにスクリプトをコンパイルする必要がないというメリットもあります。JSON は Javascript 言語形式のシステムに属し、DocumentDB のストレージの基本単位であるため、JSON ドキュメントをバッファー…


NoSQL データベース サービス「Azure DocumentDB」の一般提供を開始

このポストは、4 月 8 日に投稿された NoSQL database service Azure DocumentDB now Generally Available の翻訳です。 マイクロソフトはこのたび、Azure DocumentDB の一般提供を開始しました。DocumentDB は、アプリケーションでの JSON データの大規模なクエリや処理を可能にする、完全に管理された NoSQL ドキュメント データベース サービスです。一般提供の開始に伴い、DocumentDB は 3 種類の購入オプションから選択できるようになり、それぞれのオプションで予約済みのパフォーマンス、時間単位での課金制度、99.95% の可用性が提供されます。また今回、他のデータベース システムから DocumentDB に既存のデータを簡単に移行できる、オープン ソースの新しいデータ移行ツールもリリースしました。 DocumentDB は、モバイル ファースト、クラウド ファーストのアプリケーション開発に対するニーズが高まっていることを受けて開発されました。NoSQL データベースは多くの開発者の間で人気が高まりつつありますが、こうしたデータベースの運用と管理は、特に大規模な実装の場合、複雑で高コストになることがあります。DocumentDB は、完全に管理されたサービスとしてのデータベース (DBaaS: Database as a Service) の形で提供され、高可用性を備えるほか、インデックス化された JSON における SQL クエリや複数ドキュメントのトランザクション処理に対応しています。 昨年に DocumentDB のプレビュー版をリリースして以来、マイクロソフトはお客様が新しいアプリケーション エクスペリエンスを生み出せるよう、信頼性と拡張性に優れたサービスの実現に重きを置いてきました。デザインから印刷までを提供するソリューションの業界リーダーである SGS International (英語) は、DocumentDB…


DocumentDB の一般提供をまもなく開始

このポストは、3 月 5 日に投稿された DocumentDB moving to general availability の翻訳です。 マイクロソフトは、包括的に管理された NoSQL ドキュメント データベース サービスである Azure DocumentDB の一般提供をまもなく開始することを発表 (英語) しました。 現在プレビュー版として公開されており、4 月 8 日に一般提供が開始される予定です。DocumentDB では、煩わしいスキーマの制約やインフラストラクチャ管理の必要なしに、データを保存、クエリ、処理するための新しいアプリケーションを開発することができます。ユーザーのニーズが絶えず変化し、競争が激化する今日において、マイクロソフトはインフラストラクチャよりもアプリケーションを重視したデータベース サービスの提供を目指しています。マネージド サービスとして DocumentDB を利用することで、仮想マシンのプロビジョニング、管理、スケーリングといった高負担の作業が不要になり、データベース アカウントを数分で作成し、必要なリソースをプロビジョニングして、アプリケーションの規模に合ったデータベースのスケーリングを行うことが可能になります。 DocumentDB プレビュー版のリリース以来、お客様と緊密に連携し、このサービスに関する新しいアプリケーションや機能を公開してきました。MSN ではユーザー データの保存に DocumentDB を採用し、Web とモバイルの MSN ユーザーにサービスを提供しています。通信事業者の Telenor 社は DocumentDB の採用 (英語) により、新しい Office 365 プロモーション システムの市場投入までの時間を大幅に短縮しました。 「Azure DocumentDB は私たちの作業に無理なく適合し、スキーマの途中変更も非常に簡単でした。属性やクラスの追加や変更に関しても、バックエンドはまったく問題ありませんでした。」 Telenor 社、モビリティ アーキテクト、Andreas Helland…


Azure DocumentDB の提供地域をアジアと米国で拡大、アカウント単位の制限も緩和

このポストは、2 月 3 日に投稿された Azure DocumentDB – New Asia, US regions, and increased account limits の翻訳です。 マイクロソフトでは Azure DocumentDB の機能拡張に積極的に取り組んでおり、今回、下記の変更を実施しました。   提供地域の拡大: DocumentDB をご利用いただけるリージョンの数が 2 倍に増加しました。 アカウントとドキュメントの制限緩和: 1 アカウントあたりの能力単位数が増え、またドキュメントのサイズの上限もこれまでの 2 倍に引き上げられました。   新しい提供地域 新たに東アジア、東南アジア、および米国東部の各 Azure リージョンで DocumentDB をプロビジョニングできるようになりました (これまでは米国西部、北ヨーロッパ、西ヨーロッパでの提供でした)。今後も引き続き提供地域の拡大に努め、DocumentDB のデータの格納先の選択肢を広げ、柔軟性を高めてまいります。DocumentDB の利用を希望される Azure リージョンがありましたら、Microsoft Azure DocumentDB のフォーラム (英語) までお寄せください。   アカウントとドキュメントの制限緩和 今回、ドキュメントの最大サイズが再度引き上げられ、256 KB から 512 KB…


DocumentDB で SQL のパラメーター化が可能に

このポストは、1 月 14 日に投稿された Announcing SQL Parameterization in DocumentDB の翻訳です。 このたび、Azure DocumentDB の REST API と SDK において、パラメーター化された SQL クエリがサポートされました。この機能により、ユーザーはパラメーター化された SQL クエリを利用できるようになります。SQL をパラメーター化すると、処理の信頼性が向上すると共にユーザーによる入力が不要になるため、「SQL インジェクション」による意図しないデータ漏洩を予防することができます*。 では、.NET SDK を使用したサンプルを見ていきましょう。単純な SQL 文字列と LINQ 式のほかに、新しい SqlQuerySpec クラスを付け加えています。このクラスを使用してパラメーター化されたクエリを作成します。 次のサンプルは、ユーザー指定のパラメーターが 1 つ存在する、“Books” コレクションに対するクエリのサンプルです。パラメーターで著者名を指定しています。 IQueryable queryable = client.CreateDocumentQuery( collectionSelfLink, new SqlQuerySpec { QueryText = “SELECT * FROM books b WHERE (b.Author.Name =…