
2025.02.26
10年前とここまで違う 落とし穴だらけの“ERP to ERP”基幹システム刷新が抱えるリスクと実情
VSCode拡張機能で始めるAzure Cosmos DB(全1記事)
リンクをコピー
記事をブックマーク
まっぴぃ氏:「Visual Studio Code拡張機能で始めるCosmos DB」ということでLTします。よろしくお願いします。
まず始めに、今日お話しする内容は今日4月7日時点の情報になっています。私が確認できている内容に基づいてはいますが、資料に誤植とか誤りとかがあるかもしれないので、そのときはご了承ください。これはいつものやつなんですけど、資料に記載されている内容は私が所属する組織を代表するものではないので、そちらの点もご了承ください。
自己紹介です。ハンドルネームまっぴぃでやっています。今日はちょっと会社名は出せませんが、日本人の99パーセントが知っていると言われている青いRの会社の中の人で、基本的に情シスをやっております。
コミュニティはJSSUGという、SQL ServerのユーザーコミュニティとかでSQL ServerとかAzureとか、あとは最近だとSynapse Analyticsとかいろいろ出ているところあたりのコミュニティの中の人をやっていたりします。
私はPerfumeが大好きで、今日のこの後ろのバーチャル背景もPerfumeなんですけど、TwitterでもPerfumeのツイートをたまにしています。ふだんはMicrosoftの製品で、基本的にSQL ServerとかSharePointとか、最近はAzureのWeb Appsとかいろいろ触っていまして、そちらをメインにお仕事しています。
Twitter、よかったらフォローしてください。
今日のアジェンダです。まず「はじめに」ついてと、実際に今日の本題であるAzure Cosmos DBの拡張機能についてと、あとは私が最近実際に使ってみて感じたことがあるのでそちらの紹介ができればなと思っています。
はじめに、拡張機能の話を始める前に、なぜ私がこのCosmos DBの拡張機能の話をしようかと思ったかなんですが、その理由はですね……しまったな。このスライドの猫かわいいですよね、すみません。
無償枠が新しく出たからです。先月、米国時間で2020年の3月6日に、こちらでアップデートがありましてAzure Cosmos DBの無償枠というのが新しく出ました。
400RUと書いてあるのがリクエストユニットと言うんですけど、これについては後ほど紹介します。
あとは容量は5ギガバイトまでの利用が毎月無料になりました。これまでは時間制限で無料のCosmos DBの環境だったり、エミュレータを使っていたりして、実際にAzureに環境を作るとけっこうお金が掛かってったんですけど、この無償枠が出たおかげでかなりCosmos DBの開発がやりやすくなりました。
Cosmos DBの環境構築とかについては、この間ちょうどQiitaに記事を書いたのでこちらの記事を見ていただければなと思います。ちょっと目次ページを作っていないので恐縮なんですけど、環境構築とか実際にNode.jsのCRUD Webアプリケーションを作る記事とか、あとは実際のNode.jsのクライアントの中身をちょっと見たりとか、記事を書いているので興味がある方は見てみてください。
Cosmos DBについてですが、Microsoftが提供するNoSQL、DocumentDBと呼ばれているものでして、グローバルに展開が可能になっています。レプリケートが可能になっています。
先ほどのリクエストユニットなんですけど、1秒間あたりの要求ユニットが定義されていて、こちらのRUとストレージ容量の2つの枠で課金がされます。なので他の、例えばAzureのリソースみたいに稼働している間はずっとコンピューティング料金が掛かるものとは、ちょっと課金の体系が違うものになっています
Cosmos DBのAPIについても、Coreと呼ばれるSQLベースでアクセスできるDocumentDBから、CassandraとかAzure TableとかGremlinというグラフデータベースなどの、いろいろAPIが提供されています。
Cosmos DBの拡張機能では、実際にいろいろできます。簡単にデータベースを作成したり、コレクションと呼ばれるテーブルに近いものを作成したり、またデータのCRUDをやったりとか、その他いろいろできます。
これはデータベースとかコレクションを作成しているところなんですけど、Azureの拡張機能を入れるとCosmos DBの欄ができて、そこを右クリックするとこんなかたちで作る画面が出てきます。
あとはDocumentDBの場合は、ドキュメントの新規作成とか参照とか更新とか削除というのもGUIでできるようになっています。
MongoDBについてはクエリが打てます。これはGIF画像で載せていますが、MongoDBを使ったことがある人であれば何のことはないんですけど、こんなかたちでIntelligenceも出てきてexecuteすると右側にデータが出てきます。
実際に拡張機能のGitHubのリポジトリに行くと同じGIF動画が上がっているので、そこの動画から取ってきています。
あとはグラフデータベースのGremlinですが、こちらも普通に使うことができます。VS Codeがテキストエディタと思っていた私としては意外すぎるけど、こんな感じでグラフデータベースの画像も出てきます。
こんなふうにできるというのと、こちらはAzure Cosmos DB Emulatorという先ほどチラッと話したんですけど、エミュレータにもつなげます。エミュレータはWindowsやWindowsコンテナ上で動くので、使うにはWindowsがいるんですけど、VS Codeの拡張機能からエミュレータに接続して先ほどと同じような使い方もできます。
ここまでが拡張機能の紹介になります。実際に私はこれでQiitaの記事を書いたり、いろいろ開発をやっているんですけど、その感じたところ。便利なところもあれば改善してほしいなと思うところもあったので、そちらを紹介したいと思います。
便利なところの1個目は、開発のハブになるのは本当にいいところだなと思っています。最近オンラインとかでテレビ会議がよくあると思いますが、私はTeamsを使っています。Teamsの中でいろいろサイトを見たりいろいろなことができるよというので、けっこうMicrosoftさんはTeamsをハブとしていろいろやろうとしているようですけど、VS Codeも同じ感じで開発のハブにできるなと感じています。
先ほどお見せした通り、拡張機能を使えばCosmos DBにつないでDBの中でどんな値があるかを見たりできますし、右側でコードを書いたりも普通にできるのがいいなと思っています。
2点目は、JSONインポートの機能が提供されていて、JSONを予め作っておいてそれをDBにチョンッと突っ込むというやり方ができるんですね。これがすぐに一括でインポートできるので、本当にNoSQL的に僕は楽だなと思っている機能です。
ただちょっと残念なところがあって、コアと呼ばれるSQLベースでDocumentDBを触れるのがAzure Cosmos DBのCoreなんですけど、ちょっとクエリは打てないですね。実際に今出しているのはAzureのData Explorerで、ここだとクエリは打てるんですけど、まだVS Code上だとクエリが打てないので、少しつらいなというところがあったりします。
あとDBは、拡張機能上1,000リクエストユニットからしか作れないという制限があります。無償枠が先ほどお話した通り、400リクエストユニットからという設定が必要なので、1,000だと拡張機能で作ると無償の対象外になってしまうんですね。
GitHubのissuesにも「400から作ってよ」みたいなissueが上がっているんですけど、これが受け入れられてないようで、ちょっと改善してほしいなと思っていたので、すごい雑だったんですけど今週プルリクを1個上げてみました。かなり雑なので、たぶん却下されるような気がするんですけど、こんな感じで拡張機能がちょっと不便だなと思ったら、普通にプルリクを上げれるのもいいところかなと思っています。
まとめです。Cosmos DBの関連の開発がVS Codeでかなり便利になりました。拡張機能はすごくいいですねということです。SQLのCoreだったりMongoDB、Gremlinとか拡張機能が1個で全然対応していて、不便な点があればPRできるというのがAzure Cosmos DBの拡張機能のいいところかなと思います。
以上です。ありがとうございました。
2025.03.25
減点を恐れてモチベ低下、果ては離職も… あらゆる“会社の害虫”を大繁殖させる「ラスボス」の正体
2025.03.21
マネージャーの「自分でやったほうが早い」という行動で失うもの 効率・スピード重視の職場に足りていない考え方
2025.03.24
最悪の場合、組織を死に至らせる“会社の害虫”とは 誤った意思決定や品質不祥事を招く要因
2025.03.25
ムダな仕事がなくならない“マッチョな職場”を変えるには 近年の過度な「KPI主義」が組織に与えた影響
2025.03.24
気づけばモラル崩壊……人材育成に無頓着な企業の末路 業績アップや採用にもつながる“人への投資”の重要性
2025.03.19
組織をダメにする“害虫”の正体は間違った思い込み AIやDXなど手段のみにこだわるダメ上司の見極め方
2025.03.21
査定時期に上司から1年前の失敗を指摘される理不尽 変えられない過去を議論する「成果主義」の弊害
2025.01.07
1月から始めたい「日記」を書く習慣 ビジネスパーソンにおすすめな3つの理由
2025.03.24
AIの進化が行き着く先は「イノベーター」へ ChatGPT開発者サム・アルトマン氏 × 孫正義氏が語る、人工知能変革期の未来
2025.03.21
孫正義氏、現在のAI活況は「インターネット創世記を思い出させる」 OpenAIのサム・アルトマン氏と対談
2025.03.25
減点を恐れてモチベ低下、果ては離職も… あらゆる“会社の害虫”を大繁殖させる「ラスボス」の正体
2025.03.21
マネージャーの「自分でやったほうが早い」という行動で失うもの 効率・スピード重視の職場に足りていない考え方
2025.03.24
最悪の場合、組織を死に至らせる“会社の害虫”とは 誤った意思決定や品質不祥事を招く要因
2025.03.25
ムダな仕事がなくならない“マッチョな職場”を変えるには 近年の過度な「KPI主義」が組織に与えた影響
2025.03.24
気づけばモラル崩壊……人材育成に無頓着な企業の末路 業績アップや採用にもつながる“人への投資”の重要性
2025.03.19
組織をダメにする“害虫”の正体は間違った思い込み AIやDXなど手段のみにこだわるダメ上司の見極め方
2025.03.21
査定時期に上司から1年前の失敗を指摘される理不尽 変えられない過去を議論する「成果主義」の弊害
2025.01.07
1月から始めたい「日記」を書く習慣 ビジネスパーソンにおすすめな3つの理由
2025.03.24
AIの進化が行き着く先は「イノベーター」へ ChatGPT開発者サム・アルトマン氏 × 孫正義氏が語る、人工知能変革期の未来
2025.03.21
孫正義氏、現在のAI活況は「インターネット創世記を思い出させる」 OpenAIのサム・アルトマン氏と対談