![見出し画像](https://assets.st-note.com/production/uploads/images/61353118/rectangle_large_type_2_d33eb0b15ca4e21df0ec1d688a17e050.png?width=1200)
【新技術】Firestoreとは? NoSQLデータベースって?
![01_トップ画像1](https://assets.st-note.com/production/uploads/images/61352156/picture_pc_caf3f176343e8403f96a63f8e491ea98.png?width=1200)
![01_トップ画像2](https://assets.st-note.com/production/uploads/images/61352168/picture_pc_5acec5a92414a86ec88177fd9774be8b.png?width=1200)
![01_トップ画像3](https://assets.st-note.com/production/uploads/images/61352187/picture_pc_45ad1b34222133c42f96195c7b836fd5.png?width=1200)
![01_トップ画像4](https://assets.st-note.com/production/uploads/images/64760640/picture_pc_b72896a7564a0b5bfcc255d0162060bd.png?width=1200)
※ この漫画はフィクションです。
実在の人物や団体などとは関係ありません。
こんにちは!
インテック金融事業企画部2年目のモモです。
私は去年の8月から、Flutter+Firebaseによるスマホアプリ📱開発を行っています。
以前はFlutterについての記事を投稿していましたが、今回から新章としてFirebase(主にFirestore)の記事を連載していきます!
↓こういった方向けです!👀
・Firebaseって流行っているけどなんだろう・・・?
・バックエンドを構築したいけど、楽な方法はないのかな?
とお考えの人。
主に初心者向けですが、最終的には少し実践的な内容もお話ししていきたいと思うので、お楽しみに✨
それでは、いきましょう〜〜〜!
Firestoreとは?
公式ドキュメント(https://firebase.google.com/docs/firestore?hl=ja)を見てみましょう。
Google の柔軟でスケーラブルな NoSQL クラウド データベースを使用して、クライアント側開発とサーバー側開発のデータを保存、同期します。 Cloud Firestore は、Firebase と Google Cloud からのモバイル、ウェブ、サーバー開発に対応した、柔軟でスケーラブルなデータベースです。
ざっくりというと、Firestore = NoSQLクラウドデータベースです!!
NoSQL? クラウドデータベース?
慣れない人にとっては、聞き慣れない単語かもしれませんね。
データベースとは?
まず、最初の最初から、データベースとは整理されたデータの集まりのことです。
この世には、以下のように色んな情報がごちゃごちゃとありますね。
![02_データベースとは](https://assets.st-note.com/production/uploads/images/64760769/picture_pc_834e9d7bf170ed8cb1aa1b43021b374a.png?width=1200)
これを整理すると・・・・
![03_データベースとは](https://assets.st-note.com/production/uploads/images/64760809/picture_pc_ff0c17de239cb1fb814a8474be5a87af.png?width=1200)
こういう形にまとめられます。
![04_データベースとは](https://assets.st-note.com/production/uploads/images/64760859/picture_pc_f7163b37678942b48dbfa3d0fce18dc3.png?width=1200)
整理の仕方は1つではなく、このような形にまとめることもできますね。
これ、前者も後者も、整理されたデータの集まり、つまり、データベースです。
整理の仕方が複数あるように、データベースの種類も複数あります。(例に挙げたもの以外にもたくさんあります!)
前者のような表形式のデーターベースを、RDB(リレーショナルデータベース)と言います。RDBを操作するための言語を、SQL(Structured Query Language)と言います。
それに対して、表形式ではないデーターベースのことを、NoSQL(Not only SQL)データベースと言います。
後者のような、key : valueでキーと一対一で値の情報を持たせるDBは、NoSQLデータベースのうちの、ドキュメント型データベースに該当し、今回紹介するFirestoreはドキュメント型データベースに該当します。
(NoSQLデータベースは、ドキュメント型データベース以外にも様々なデータベースの種類があります!例えば、ワイドカラム型、グラフ型など…)
では、Firestoreで以下の情報を扱うとどのような形になるのか?やってみましょう。
(詳しいアカウント登録方法、DBの設定方法は、また別の章で説明致します!今回はまず、Firestoreがどんな形なのかをみていただきたいです。)
![05_データベースとは](https://assets.st-note.com/production/uploads/images/65797125/picture_pc_5c645281ed0ab42e5c6e2a4ac812d5f3.png?width=1200)
これが、Firestoreで登録されたモモです!!
画像左上に、見慣れない「コレクション」、「ドキュメント」なる言葉がありますね。
![06_データベースとは](https://assets.st-note.com/production/uploads/images/61352524/picture_pc_2ac1b0379ed80598e7ca07089a520110.png?width=1200)
これは、Firestore特有の用語で、keyとvalueのセットの一単位をドキュメント、ドキュメントの集合体をコレクションと言います。
![07_データベースとは](https://assets.st-note.com/production/uploads/images/65797154/picture_pc_8644edc0b47183df2eeef817a7b7751f.png?width=1200)
また、ドキュメントの直下にコレクションを置くことができ、こちらをサブコレクションと言います。
今回のまとめです。
Firestore :NoSQLクラウドデータベース
データベース:整理されたデータの集まり
RDB :表形式のデータベース
NoSQL :表形式ではないデータベースの総称
いかがでしたか?
また、 最近リリースした案件・要員マッチングアプリi_sodaも、Firestoreを用いているので気になる方はぜひ見てみてください。↓
※ こちらのサービスは現在休止しております。(2023/11/1追記)
今回は、NoSQLデーターベース、Firestoreについての掴みだけを行いましたが、今後は、データーベースの情報の取得方法など、より実践的な内容をお話ししていこうと思います!!
お楽しみにっ!!!
※ 記載されている会社名、製品名は、各社の登録商標または商標です。