2024.12.19
システムの穴を運用でカバーしようとしてミス多発… バグが大量発生、決算が合わない状態から業務効率化を実現するまで
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の拡張機能のいいところかなと思います。
以上です。ありがとうございました。
2024.12.20
日本の約10倍がん患者が殺到し、病院はキャパオーバー ジャパンハートが描く医療の未来と、カンボジアに新病院を作る理由
2024.12.19
12万通りの「資格の組み合わせ」の中で厳選された60の項目 532の資格を持つ林雄次氏の新刊『資格のかけ算』の見所
2024.12.16
32歳で成績最下位から1年でトップ営業になれた理由 売るテクニックよりも大事な「あり方」
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
PR | 2024.12.20
モンスター化したExcelが、ある日突然崩壊 昭和のガス工事会社を生まれ変わらせた、起死回生のノーコード活用術
2024.12.12
会議で発言しやすくなる「心理的安全性」を高めるには ファシリテーションがうまい人の3つの条件
2024.12.18
「社長以外みんな儲かる給与設計」にした理由 経営者たちが語る、優秀な人材集め・会社を発展させるためのヒント
2024.12.17
面接で「後輩を指導できなさそう」と思われる人の伝え方 歳を重ねるほど重視される経験の「ノウハウ化」
2024.12.13
ファシリテーターは「しゃべらないほうがいい」理由 入山章栄氏が語る、心理的安全性の高い場を作るポイント
2024.12.10
メールのラリー回数でわかる「評価されない人」の特徴 職場での評価を下げる行動5選
Climbers Startup JAPAN EXPO 2024 - 秋 -
2024.11.20 - 2024.11.21
『主体的なキャリア形成』を考える~資格のかけ算について〜
2024.12.07 - 2024.12.07
Startup CTO of the year 2024
2024.11.19 - 2024.11.19
社員の力を引き出す経営戦略〜ひとり一人が自ら成長する組織づくり〜
2024.11.20 - 2024.11.20
「確率思考」で未来を見通す 事業を成功に導く意思決定 ~エビデンス・ベースド・マーケティング思考の調査分析で事業に有効な予測手法とは~
2024.11.05 - 2024.11.05