Azure Cosmos DB入門(目次)

「Azure Cosmos DB入門」目次

DocumentDB が Azure Cosmos DB としてリニューアルされたので、改めてこのサービスの全体像を整理したコンテンツ(ブログ)を「Cosmos DB入門」として書こうと思います。
目次は以下の通り。順次コンテンツを追加していく予定です。
※ 2017/07/09に(1)~(8)のコンテンツが揃いました。今後もCosmos DBのトピックをブログに継続してエントリーしていきます。

  • Azure CosmosDB入門(1)
    • 1 Cosmos DBとは
      • 1.1 特徴
        • 1.1.1 グローバル分散可能
        • 1.1.2 柔軟なスケーリングが可能
        • 1.1.3 超高速な応答速度
        • 1.1.4 マルチデータモデル
        • 1.1.5 多様な一貫性モデル
        • 1.1.6 高いレベルのSLA
        • 1.1.7 Cosmos DBは自分たちが普通に使うものか?
      • 1.2 Hello Cosmos DB
        • 1.2.1 AzureポータルでCosmos DBを作成
        • 1.2.2 Azureポータルでデータを操作
        • 1.2.3 プログラムでデータを操作
  • Azure CosmosDB入門(2)
    • 2 Cosmos DBの主要概念
      • 2.1 データモデルとアクセスAPI
        • 2.1.1 atom-record-sequence(ARS)
        • 2.1.2 AzureポータルでCosmos DBを作成する
      • 2.2 各種データモデル
        • 2.2.1 「ドキュメント」モデル
        • 2.2.2 「グラフ」 モデル(2017/5現在Preview版)
        • 2.2.3 「テーブル」モデル(2017/5現在Preview版)
      • 2.3 パーティショニング
      • 2.4 RU(Request Unit)
        • 2.4.1 1RUとは?
        • 2.4.2 RUはコレクションに割り当てる
        • 2.4.3 RUという概念のすばらしさ
        • 2.4.4 予約RUの設定方法
        • 2.4.5 消費RUの確認方法
        • 2.4.6 RUの話は深い・・・(後半に続く)
  • Azure CosmosDB入門(3)
    • 3 Cosmos DBプログラミング ~ DocumentDB編(前編)
      • 3.1 まず、はじめに
      • 3.2 準備
      • 3.3 ドキュメントの作成・更新
      • 3.4 ドキュメントの検索
      • 3.5 ドキュメントの削除
      • 3.6 つづく・・・
      • 3.7 資料
  • Azure CosmosDB入門(4)
    • 4 Cosmos DBプログラミング ~ DocumentDB編(後編)
      • 4.1 サーバーサイド(データベースサイド)ロジック
      • 4.2 トランザクション
      • 4.3 ストアドプロシージャ
        • 4.3.1 Helloストアドプロシージャ
        • 4.3.2 期間指定で予約を削除するストアドプロシージャ
      • 4.4 トリガー
        • 4.4.1 プリ・トリガー(Pre-Trigger)
        • 4.4.2 ポスト・トリガー(Post-Trigger)
      • 4.5 ユーザー定義関数(UDF)
      • 4.6 資料
  • Azure CosmosDB入門(5)
    • 5 Cosmos DBプログラミング ~ MongoDB編
      • 5.1 はじめに
        • 5.1.1 Cosmos DB(MongoDBデータモデル)とMongoDB
      • 5.2 準備
        • 5.2.1 Cosmos DB(MongoDB)データベースアカウントの作成
        • 5.2.2 Visual Studio 2017プロジェクトの作成
      • 5.3 データベースとコレクションの作成
        • 5.3.1 Azureポータルで作成
        • 5.3.2 プログラムで作成
        • 5.3.3 mongoコマンドで作成
      • 5.4 ドキュメントの作成
        • 5.4.1 ドキュメントの一括投入 ~ Studio 3T for MongoDB(旧Mongo chef)
      • 5.5 ドキュメントの検索
        • 5.5.1 Mongoクエリー言語による検索
        • 5.5.2 LINQによる検索
      • 5.6 ドキュメントの更新
      • 5.7 ドキュメントの削除
      • 5.8 資料
      • 5.9 つづく・・・
  • Azure CosmosDB入門(6)
    • 6 Cosmos DBプログラミング ~ Gremlin編
      • 6.1 はじめに
        • 6.1.1 グラフ データモデルとは
        • 6.1.2 Gremlinとは
      • 6.2 準備
        • 6.2.1 Cosmos DB(Gremlin)データベースアカウントの作成
        • 6.2.2 Visual Studio 2017プロジェクトの作成
      • 6.3 データベースとコレクションの作成
        • 6.3.1 プログラムで作成
      • 6.4 グラフデータの操作
        • 6.4.1 Vertexの追加
        • 6.4.2 Edgeの追加
        • 6.4.3 Vertexの検索
        • 6.4.4 Edgeの検索
        • 6.4.5 Vertex~Edge~Vertexを辿る(1)
        • 6.4.6 Vertex~Edge~Vertexを辿る(2)
      • 6.5 まとめ
      • 6.6 資料
  • Azure CosmosDB入門(7)
    • 7 Cosmos DBプログラミング ~ Table編
      • 7.1 はじめに
        • Cosmos DB(Table) と Azure Table Storage
        • アクセス用クラスライブラリ
      • 7.2 Cosmos DB(Table)
        • 7.2.1 データベース構造
        • 7.2.2 Cosmos DB固有情報の設定
      • 7.3 準備
        • 7.3.1 Cosmos DB(Table)データベースアカウントの作成
        • 7.3.2 Visual Studio 2017プロジェクトの作成
      • 7.4 テーブルの作成
        • 7.4.1 Azureポータルでテーブルを作成
        • 7.4.2 コードでテーブルを作成
      • 7.5 テーブルの操作
        • 7.5.1 エンティティ型の定義
        • 7.5.2 エンティティの追加
        • 7.5.3 エンティティの一括追加
        • 7.5.4 エンティティの検索
        • 7.5.5 エンティティの更新
        • 7.5.6 エンティティの削除
      • 7.6 まとめ
      • 7.7 資料
  • Azure CosmosDB入門(8)
    • 8 Cosmos DBをもっと知りたい
      • 8.1 一貫性レベル(Consistency Level)
        • 8.1.1 Cosmos DBの提供する一貫性レベル(Consistency Level)
        • 8.1.2 既定の一貫性レベル
      • 8.2 RU(Request Unit)詳細
        • 8.2.1 RUの設定方法
        • 8.2.2 消費RUの確認方法
        • 8.2.3 RU/s超過時のレスポンスコード429
        • 8.2.4 リトライ動作の指定
        • 8.2.5 一貫性レベル(Consistency Level)による消費RUの違い
        • 8.2.6 RU/m (RU/分) の設定
      • 8.3 グローバルレプリケーション
      • 8.4 障害復旧およびフェールオーバー
        • 8.4.1 自動フェールオーバー
        • 8.4.2 手動フェールオーバー
      • 8.5 まとめ
        ※2017/07/09 目次更新

はじめに

先日 2017/5/10-12 に開催された Build 2017 において多数の新しい技術の発表がなされました。
その中の1つとして Azure Cosmos DB も発表されました。

Azure Cosmos DBは従来 DocumentDB として公開されていたサービスに置き換わるものです。厳密には「Cosmos DB が DocumentDB の機能を内包している」という関係性を持ちます。

Azure Cosmos DBは、2010年に「Project Florence」として開始されました。大規模アプリケーション開発の課題に対処するために、マイクロソフト社内向けに開発されていたサービスです。しかし、グローバルに分散されたアプリケーションの構築は、マイクロソフト以外の課題でもあるとの認識から2015年に「Azure DocumentDB」としてサービスリリースされました。
DocumentDBに多数の機能を追加し、そして2017/5/10に Azure Cosmos DB としてサービスリリースが行われました。

※これまでのDocumentDB情報

Cosmos DBは、従来のDocumentDBの知識やコードはそのまま利用可能です。大幅な機能追加によるリニューアルであり、従来のDocumentDBの機能や仕様がひっくり返されている部分はありません。
つまり、ネット上に公開されているDocumentDBの情報は(完全にマッチしないまでも)引き続きCosmos DBにおいて有効な情報です。