データベース・サービスだ。DBはそのAPIの一つという位置づけになった。GraphのデータモデルにAPIを付けてブランディングも新たにお披露目したよという話だ。まとめると、下図のような感じになってる。分散データベース基盤に、データモデルが乗っていて、それぞれAPIを提供するといった感じだ。APIはGAのままだ。DBになっても基本的な実装は同じだからだろう。Session、B8047[3]と、T6058[4]では、もう少し詳細に触れられている。APIの下りだ(動画だと35:50あたり[5])。Table)を実装した。SDK[6]をダウンロードして試せる。DBの特性が得られる。重要なのは、これに続く部分だ。以外の場合でも選択肢にできるように取り組んでいる。Storageとのコスト差がどんどん大きくなっていく。DBだけでなく、なんからの外部データストアとの連繫を検討する必要がある。Tableと呼ぼう)からの移行を考えた時に重要な検討課題だろう。それがうまく解決できるなら、かなり有り難い。DBも発表共に公開されたBlogもなかなか面白い。DBの歴史が書いてあった。DocumentDBの形でこのテクノロジの第1世代を利用できるようにした。世界中で展開するサービスの下りをみて連想したのは、AzurePortal。「最近ポータルが速くなってきてるのはエンドポイントを日本に持ってきたからかな、でもUSのリソースも普通に見れて操作できるしどうなっているのだろう」と思っていたが。DBのようなグローバルディストリビューションの仕組みがあれば実装イメージが湧いてくる。実際のところはどうなっているかはわからないが。DBの一貫性の設計、実装にTLA+[9]のCosmosでの活用の話をしていたのが興味深かった。[9]「正しく動く分散システムを作るのはなかなか難しい、そんな中で形式手法が有効だ。DBは設計、実装で、TLA+が複数の一貫性のサポートやSLAの提供に貢献した」的なことを言っている(超訳過ぎるので原文参照)。Methodsを使って、重要な分散システムのアルゴリズム設計を行っている[10]と話題になったが、MSが分散システムの設計に使っている公言したのは初めてな気がする。利用者サイドからの一貫性の検証は難しいので設計、実装の取り組みがわかるのは有り難い。DBのデータベースエンジンの中身についても少し書いてあった。(ARS)と呼ばれる構造となっている。atom、record、sequenceの配列である。languages)からコアデータモデルへのネイティブアクセスをサポートする。フルマネージドな、グローバル分散型データベースシステムのすべての利点を得ることができる。ARSは、プリミティブ型を単純に並べただけの構造なのでJSONをそのまま保存するよりは効率は良いだろうし、別のデータモデルを実装し易いだろう。コアデータ・モデルを扱うデータベースとしての基本的な部分、整合性、リプリケーション、バックアップなどは共通の仕組みが使えるというわけだ。Tableをちょっと動かしてみた感想を書いて終わりにする。API[11]というサンプルコードがある。繋いで簡単な速度を測るようなコードだ。