はじめに
業務でCosmosDBを用いることになったのですが、
その際に参考にさせていただいたCosmosDBに関する記事などのまとめです。
公式ドキュメントも結構実例を踏まえて丁寧に説明してくれているのですが、
他の方の記事は、公式ドキュメントの言葉をかいつまんで説明してくださっているので、
腹落ちしやすい方も多いと思っています。(自分もその一人です。。。)
参考になれば幸いです。
CosmosDB全体
CosmosDBに携わった方は、お世話になった方も多いと思います。
ryuichi111stdさんの上記記事は、CosmosDBの概要から始まり、
SDKを用いたサンプル、サーバサイド側(ストアドなど)についての説明も記載して説明してくださっています。
公式ドキュメントの説明が難しく感じたり、とりあえず概要〜始めて見たいという方におすすめかなと思います。
Azure Cosmos DB Emulator
- (公式ドキュメント)ローカルの開発とテストでの Azure Cosmos DB Emulator の使用
- ryuichi111stdの技術日記 - Azure DocumentDB Emulatorを使ってみた。で、.NET Coreから操作した話。
Windows上で動作するCosmosDBのエミュレータです。
msi+Docker版も用意されていますが、あくまでDocker For Windows上でのみ動作します。
会社用のAzureのアカウントやAzureの1ヶ月無料アカウント(¥22500まで)があれば、
実際にAzure上でCosmosDBを使えば良いのですが、
そうでない方はエミュレータを用いると開発のスタートが切りやすいです。
んで、そのために参考した記事が上記2記事になります。
公式ドキュメントでは要件の確認とmsi等のダウンロード、
ryuichi111stdの記事を元に実際にエミュレータを動かしてみるてな感じで進めると躓くことがないかと思います。
サーバサイド(ストアド・UDF・トリガー)の構文
- ryuichi111stdの技術日記 - Azure Cosmos DB入門(4)
- (公式ドキュメント)サーバー側プログラミング
- (公式ドキュメント)SQLクエリ
- (公式ドキュメント)サーバSDKのドキュメント
CosmosDBにもストアドやUDF(ファンクション)の定義ができ、JavaScriptで記述します。
その際、サーバサイドのSDKを利用してCosmosDBに対してのクエリ発行が行えます。
ryuichi111stdさんの記事で実例を踏まえて概要を理解し、
公式ドキュメントを読んで腹落ちさせるながらがベターかなと思います。
あと、サーバーサイド側を実装する際、
(公式ドキュメント)サーバSDKのドキュメントは必ず読んでおくことをオススメします。
。
(関数の仕様や意味、デフォルト値などが記載されているため)
クライアント側(.net)のパフォーマンス改善
CosmosDBをクライアント側(.net)で操作する際のパフォーマンスをあげるための方法が記述されています。
手早く改善させるなら、しばやんさんの記事の方法(DocumentClient辺りの扱い修正)、
本格的に改善するなら公式ドキュメントを参照することをおすすめします。
おわり
本記事投稿時はまだCosmosDB使用中であるため、
他にも参考させていただいた記事があれば紹介したいと思っています。
他にも参考になる記事等ありましたら、コメントいただけると助かります!