データベース
DB:データベースを簡単に説明すると、WEBサービスで使用しているデータを保存しておくサーバーのことです。
データにはどんなものがあるのか
インスタグラムを例にデータにはどのような種類があるかざっと並べます。
- ユーザー名やEmailアドレスなどのログイン情報
- ユーザーのフォローとフォロワー情報
- 動画や写真などの投稿情報
- 投稿された動画、写真い対するいいねとコメントの回数
ユーザー名やコメントなどのテキスト情報、フォロー/フォロワー数の数値情報、写真/動画などのコンテンツなどです。
サービスの機能が多くなればなるほどこのデータの種類が増えるので非常に複雑になります。
スマホゲームになるとこのデータの種類は100を超えるのでデータベースの設計がすごく大変になります。
データベースの種類
では次にデーテベースの種類についてです。
データベースを大きく2つに分けるとRDB:リレーショナルデーテベースとNoSQLと呼ばれる種類に分けることができます。
RDBとNoSQLには非常に多くの種類があり、それぞれ用途が分かれます。
RDBとNoSQLの違いですが、データの持ち方が全然違います。RDBにはテーブルと言われるデータの集まりがあり、テーブル間で関係のあるデータを紐付ける使い方が基本となります、。
NoSQLにもテーブルというものがありますが、テーブル間でデータを紐付けるということをしません。NoSQLでは基本的にテーブル内でデータが完結します。
RDB:リレーショナルデータベース
RDBとは、「テーブル」といわれる表形式の構造でデータを管理するデータベースです。
RDBにはMySQLやOracle、PostgreSQLなどがあり多くのサービスで使われます。
RDBはデータを恒久的に保存する必要がある場合や、データの整合性が重要な場合に使用します。その他にもデータ検索に強いといった特徴やテーブル同士に繋がり(リレーショナル)をもたせることができます。
- MySQL
- Oracle
- PostgreSQL
- Redshift
- BigQuery
KVS:キーバリューストア
リレーショナルデータベースと異なり、テーブル間につながりを持ちません。KVSの特徴としてデータ取得が早、キャッシュとしてつかわれることが多いです。
- MongoDB
- Cassandra
- DynamoDB
- Redsis
- Memcached
まだまだ書きたいですがここに書ききれなくなるのでこれくらいにしておきます。
これらのデータベースはそれぞれに特徴がありサービスの性質によって使い分けなければいけません。
なので一言でデータベースと言っても学ぶべきことはものすごく多く、それぞれのデータベースを実業務で使えるようになるにはかなりの学習時間を必要とします。
まとめ
一言にデータベースといっても非常に多くの種類があることがわかったかと思います。
この分野にはデータベーススペシャリストという資格もあるほど高度な知識を必要とします。なので、地道に学習してデータベースの力を最大限扱えるようになっていきましょう。
プログラミングを学び始めた人は下の記事もぜひ読んでみてください。
髙妻智一
最新記事 by 髙妻智一 (全て見る)
- Polkadot(Substrate)のアドレスとトランザクションについて - 2023-03-09
- 【無料公開】「Goで始めるBitcoin」3章 Bitcoinノードとの通信 技術書典8 - 2020-03-08
- エンジニアがゼロから技術ブログを書くための方法をまとめました - 2019-05-25
コメントを残す