前書き
初投稿!エンジニア界のインスタグラムと聞き、始めてみました。
実務経験も半年になり、ようやくQiitaで記事を投稿してエンジニアの仲間入りをしようと目論んでおります。
今までは情報を得るために使用していましたが、アウトプットも兼ねて現在実務で使用しているFirebaseの曖昧な理解を明確にします。(間違っていたら指摘して下さい)
向いてる人
- FirebaseのDBをよく分からず使っている人
- かわいい駆け出しエンジニアの記事を見守りたい人
FirebaseのDBについて
FirebaseにはFirestoreとRealtime Databaseの二つが提供されており、それぞれ要件に応じて使う必要があります。今回は中でもその使い方の違いに言及します。
使い方は公式ドキュメントを載せておくのでみて下さい。
Firestore Admin SDK
FirestoreはRPC (Remoto Procedure Call)ベースのAPIを提供しているそうです。簡単に言うとprojectIdを基にFirestoreのエンドポイントを呼び出しているそうです。なのでadmin.initializeApp()にprojectIdを書くだけで自動的にデータベース接続をしてくれます。
Realtime Database Admin SDK
URLベースを基にアクセスします。いわゆるRest APIです。またFirestoreとは異なり複数のデータベースインスタンスを作成してデータを分割することが可能です。
まとめ
- FiresotreはRPC
- Realtime DatabaseはREST
これらの違いは「RPCとRESTの違い」がわかりやすいです。