Cloud Firestoreのセットアップ
The Odin Project(Using BaaS for Your Back End)でFirebaseを使ってみようというレッスンがあったので、ドキュメントに従いながらCloud Firestoreをセットアップする。
サインインして、新しいProjectを登録する

お試しなのでGoogle Analyticsはoff(必要になれば後から設定可能)

あっというまにProjectの作成が完了(左上にApp名が表示されている)

Cloud Firestoreを選択し、Create databaseボタンをクリック

test modeを選択

Locationを選択(場所によって料金も違うらしい)

Start Collectionにデータを入れていくことでデータベースが出来上がるが
まずはAppとの連携を設定する

Project Overviewのメニューで、</> のアイコンをクリック

Appの名前を入力してRegister appをクリック

npmでfirebaseをインストールして、赤枠のコードをコピーする

アプリの方に貼り付ける

ここまでは割とスイスイ。
ここからデータベースに情報を追加したり、呼び出したり、更新したり、削除したりできるようにコードを書いていくことになるが、その前によく分からない単語などが出てきたので調べておく。
NoSQL データベース
「Cloud Firestore は NoSQL データベースです」とあるが、そもそもSQLが何か分からない。
SQL・・・ リレーショナルデータベース(RDB)を操作する際に使われる言語
RDB・・・ 複数のデータベース(以下DB)に共通するキーが存在していて、互いに関連しているのでDB-A、DB-Bから欲しい項目を抜き出して、一つのテーブルにまとめることが簡単にできるタイプのデータベース(代表例がMySQLやPostgreSQLなど)
NoSQL・・・Not only SQLの意味。(紛らわしくない?”SQLじゃない”って意味かと思ったら”SQLだけじゃない”って意味だった)SQLは言語だけど、NoSQLは、RDB以外のタイプのデータベース管理システムを指す総称ということで、対になるのはRDBの方だった。(NoSQLデータベースの代表例がBigTable、Amazon DynamoDB、MongoDBなど)
NoSQLとRDBそれぞれのメリット・デメリット
NoSQL(非リレーショナル)データベースとRDB(リレーショナル)データベースについて、それぞれの長所と短所をまとめる。(自分で使ったことないけど!)
こう見ると作ろうとしているアプリはRDBでもいい気がするけど、Cloud Firestoreが無料で使えるのでこのまま進める。
NoSQLデータベース | RDB |
主なメリット: ・データ量が大きくても比較的に処理が早い ・JSONドキュメントなど、決まった構造を持たないデータの取り扱いが得意 | 主なメリット: ・データの整合性が高い。 ・強力なクエリ機能を備えているのでデータの取得と分析が得意 |
主なデメリット: ・クエリ機能が弱い。複雑な結合などは設定しにくい。 | 主なデメリット: ・大規模なデータ処理や高負荷の読み取り・書き込みを処理するのに時間がかかりがち ・非構造化データのサポートに限界があり、効率が悪い |
自己DoS
Cloud Firestoreは無料枠で利用するつもりだが限度を超えるとサービスが停止するという。膨大なデータを取り込もうというわけではないので基本的には無料枠内で全く問題ないのだが、“自己DOS”という言葉を目にして、これは絶対やってしまいそうだと思った。
DoS(ドス)・・・サイバー攻撃の形(Denial of Service)。ウェブサービスに大量のリクエストや巨大なデータを送りつけるなどしてサービスを利用不能にする攻撃。
自己DoS・・・開発している際に無限ループなどを作ってしまい自分でDoSしてしまうこと。
今日はここまで。次回、Visual Studio Codeに戻ってデータベースとのデータ受け渡しの設定をする。
星空が恋しい季節です。
カモノハシは夜中〜明け方早くが一番活発な時間帯。
動物園も薄暗い展示が多いです。
