Cosmos DB

EntityFramework Core 2.2 + Cosmos DB ~ ファーストステップ

1. はじめに 2018年10月(?)あたりからPreview版とはいえ、EntityFramework CoreからCosmos DBにアクセスするプロバイダが提供されていたという事で試してみました。 データの保存と読み込みを行うだけの超基本となるファーストステップの記事になります。…

Azure FunctionsでCosmos DBを入力バインドする

以前「Azure FunctionsからCosmos DBに出力バインドする」という記事を書きましたので、それと対になる形で入力バインドについても簡単にまとめておこうと思います。 ryuichi111std.hatenablog.com 今回 実装することは以下の通りです。 HttpTriggerを持つAz…

【Cosmos DB】有効期限(TTL)で自動削除されるデータを作る

1 概要 Cosmos DBでは「有効期限付きデータ(ドキュメント)」というものを作ることができます。 ログ情報とかユーザーセッション情報とかのデータを ドンドコドンドコ 投入して、一定期間経過したデータは自動で削除するようなケースで利用可能です。 「よ…

Azure FunctionsからCosmos DBに出力バインドする(2)~.csコンパイル編

1. はじめに 前回のエントリーに引き続きの投稿になります。 Azure Functions 出力バインドを利用し Cosmos DB にデータ出力を行います。 前回はAzureポータルのみでFunctionsの作成を行いました。 また、ソースコードの実装は .csx(C#スクリプト) をポー…

Azure FunctionsからCosmos DBに出力バインドする(1)~.csx編

Azure Functionsには、その実行に関して「トリガー」「バインド」という概念が存在します。 「トリガー」 ファンクションの実行のきっかけとなるもの。「1つのファンクション」に「1つのトリガー」が定義されます。 「バインド」 そのファンクションで処理す…

Azure Cosmos DB入門(8)

本コンテンツは「Azure Cosmos DB入門」の(8)です ryuichi111std.hatenablog.com 8 Cosmos DBをもっと知りたい 8.1 一貫性レベル(Consistency Level) CAP定理 多くの分散型NoSQLのアプローチ 8.1.1 Cosmos DBの提供する一貫性レベル(Consistency Level)…

Azure Cosmos DB入門(7)

本コンテンツは「Azure Cosmos DB入門」の(7)です ryuichi111std.hatenablog.com 7 Cosmos DBプログラミング ~ Table編 7.1 はじめに 7.1.1 Cosmos DB(Table) と Azure Table Storage 7.1.2 アクセス用クラスライブラリ 7.2 Cosmos DB(Table) 7.2.1 デー…

Azure Cosmos DB入門(6)

本コンテンツは「Azure Cosmos DB入門」の(6)です ryuichi111std.hatenablog.com 6 Cosmos DBプログラミング ~ Gremlin編 6.1 はじめに 6.1.1 グラフ データモデルとは 6.1.2 Gremlinとは 6.2 準備 6.2.1 Cosmos DB(Gremlin)データベースアカウントの作…

Azure Cosmos DB入門(5)

本コンテンツは「Azure Cosmos DB入門」の(5)です ryuichi111std.hatenablog.com 5 Cosmos DBプログラミング ~ MongoDB編 5.1 はじめに 5.1.1 Cosmos DB(MongoDBデータモデル)とMongoDB 5.2 準備 5.2.1 Cosmos DB(MongoDB)データベースアカウントの作成…

Azure Cosmos DB入門(4)

本コンテンツは「Azure Cosmos DB入門」の(4)です。 ryuichi111std.hatenablog.com 4 Cosmos DBプログラミング ~ DocumentDB編(後編) 4.1 サーバーサイド(データベースサイド)ロジック 4.2 トランザクション 4.2.1 Cosmos DBでのトランザクション 4.…

Azure Cosmos DB入門(3)

本コンテンツは「Azure Cosmos DB入門」の(3)です ryuichi111std.hatenablog.com 3 Cosmos DBプログラミング ~ DocumentDB編(前編) 3.1 まず、はじめに 3.1.1 DocumentDBとSQL 3.1.2 REST API(DocumentDB API) と クラスライブラリ 3.2 準備 3.2.1 Cos…

Azure Cosmos DB入門(2)

本コンテンツは「Azure Cosmos DB入門」の(2)です。 ryuichi111std.hatenablog.com 2 Cosmos DBの主要概念 前回の「Azure CosmosDB入門(1)」では、Cosmos DBの「特徴」と「Hello Cosmos DB」と題した簡単なサンプルについて説明しました。 早く具体的な…

Azure Cosmos DB入門(1)

本コンテンツは「Azure Cosmos DB入門」の(1)です。 ryuichi111std.hatenablog.com 1 Cosmos DBとは Cosmos DBはAzureで提供されるデータベースサービスの1つです。データベースの種類としては、いわゆる「NoSQL」データベースとなります。 公式ドキュメ…

Azure Cosmos DB入門(目次)

「Azure Cosmos DB入門」目次 DocumentDB が Azure Cosmos DB としてリニューアルされたので、改めてこのサービスの全体像を整理したコンテンツ(ブログ)を「Cosmos DB入門」として書こうと思います。 目次は以下の通り。順次コンテンツを追加していく予定…

DocumentDBライブラリの「1クエリ」は「1HTTPリクエスト」ではない

豆知識的なメモ ブログです。 私自身、DocumentDBを学ぶ上で「あー、そうなんだぁ。ライブラリがいい意味でも、そうでない意味でも、面倒見てくれてるんだなぁ」と思った点について書いておきます。 ※本記事では「FeedOptions.MaxItemCount」と「DocumentDB…

DocumentDB でページング処理を行う

「データを一覧してページング表示する」という要件は エンプラ系でも コンシューマー系でも 常にある要件です。 ということで、DocumentDBでデータのページング取得を行う方法を書いておこうと思います。 1. 前提 DocumentDBアカウントには、既に以下のデー…

DocumentDB のインデックス設定によるRUの変動について

DocumentDBのインデックスについて調べてのでブログに記しておこうと思います。 DocumentDBではデフォルト設定でも結構いい感じに動くようにインデックス設定が行われているのですが、カスタマイズ可能であり、これを最適化するとRUや(インデックス用)デー…

DocumentDBの(マスター)キーとauthorizationトークンについて

最近 DocumentDB について調べたり、使ったりしております。 DocumentDB は (たしか)2015年にGAしたと思うのですが、GAから日が経っているのに、想像したよりもネット上のブログなどでの資料が少ない気がしています(特に日本語)。 一方 本家のドキュメン…

DocumentDBのgeospatial機能で地理的検索(位置情報検索)を行う

結構以前からあったものだと思うのですが、Azure DocumentDBの「geospatial(地理空間検索)」機能を使ってみたいと思います。 緯度・経度情報をDocumentDBに保存しておき、以下のような操作を行うことが可能です。 2点間の距離の算出 1つの地理的領域が、…