BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Google製のドキュメントデータベースであるFirestoreの発表

Google製のドキュメントデータベースであるFirestoreの発表

原文(投稿日:2017/10/04)へのリンク

Googleはモバイル、webとサーバアプリケーションのためのドキュメントデータベースであるCloud Firestoreを発表した。

昨年、モバイルとweb開発のためのデータベースであり、データに対するリアルタイム・オフラインアクセスと多くのGoogleサービスとの統合機能を提供するGoogle Firebaseについて記事を公開した。それに続いて、GoogleはCloud Firestoreと呼ばれる、モバイル・webとサーバアプリケーションのためのクラウド上のNoSQLデータベースを新規に提供した。このデータベースの主な機能は、柔軟なデータモデル、複雑なクエリ、リアルタイムデータ更新、オフラインアクセスのサポート、複数のリージョンを横断するスケーラビリティ、強い一貫性、バッチ操作、トランザクションのサポート、そしてCloud Functionsを含む他のGoogleエコシステムとの統合である。RESTとRPC APIに加えて、FirestoreはAndroid, iOS(SwiftとObjective-C)、JavaScript(これにはNode.jsを含む)、Java、PythonとGoのSDKが利用可能となる。

FireStoreによりGoogleはFirebaseの欠点に対処したいと考えているようであり、Firebaseは現在リアルタイムデータベースとも呼ばれている。これらのソリューション間の主な差異は以下である。

  • データモデル。リアルタイムデータベースが1つのJSONファイルにデータを保持するのに対し、Firestoreはコレクション内の整理されたドキュメントの概念を導入している。
  • オフライン。リアルタイムデータベースがモバイルのみをサポートしているのに対し、Firestoreはwebアプリケーションのためのオフラインサポートを追加している。
  • クエリ処理。より良いデータモデルの恩恵により、Firestoreはさらに複雑で高速なクエリをサポートしている。
  • データベースに対する操作。Firestoreはアトミックなバッチ内で複数の操作を結合することができ、トランザクションは完了するまで繰り返される。
  • ゾーン。リアルタイムデータベースは単一のリージョン内の特定のゾーンに限定されるが、Firestoreは複数のリージョンを横断することができる。
  • スケーラビリティ。リアルタイムデータベースは10万接続と1K writes/秒に制限される。また、データベースをシャーディングすることで更なるパフォーマンスを得ることができる。Firestoreは必要とされるときに自動的に限界を超えてスケールする。
  • セキュリティ。Firestoreは比較的シンプルなデータアクセスコントロール機能を持っている。

データモデルに関連して、Firestoreはコレクション内の整理されたドキュメントの中にデータを保持する。各ドキュメントはキーと値のペアを含み、関連づけられたサブコレクションを持つこともできる。標準型であるboolean、integer、float、byte、string、位置情報、日時、nullに加え、Firestoreは配列とmapをサポートし、後者はネストしたオブジェクトの形式である。このデータベースはスキーマレスなのである。

AngulaFireは、アニメーション、フォーム、ルータを含むAngularアプリケーションに統合可能なオブザーバブルなストリームを用いてFirestoreをサポートすると発表した。Firestoreは現在β中であり、使用にあたってはいくつかの制限がある。また、価格はリアルタイムデータベースのものとは異なる。

 
 

Rate this Article

Adoption Stage
Style
 
 

この記事に星をつける

おすすめ度
スタイル

BT