🚀 ニフティ’s Notion

【DB2024 #2】DB概要

データベースとは

  • 一言で表すと「データの集まり」
    • もう少し詳しく言うと、「 検索や蓄積が簡単にできるように構造化されたデータの集まり 」のこと。
身近に使われている場面
  • ECサイトの商品・注文管理
  • SNSでのユーザー・投稿管理
  • 電子カルテ
  • 戸籍
    • などなど…

なぜデータベースを使うのか

データベースの目的は、 データの整合性 を維持し、大量のデータの 追加、更新、削除、検索 を効率的に行うこと

データを整理し、構造化することで大量のデータを適切に扱うことが可能になる

DBとDBMSについて

DBMS(Data Base Management System)とは?
  • データベース管理システム(DBMS)は、 データベースにアクセスするためのソフトウェア
    • 単にデータの保管場所ではなく、管理者の役割を担うソフトウェア
  • データの追加、検索、更新、削除などを行うための インターフェースを提供する
    • データベースの構造や操作に関する知識がなくても、簡単にデータベースを活用できる

図書館で例えると…

  • データベース→書庫
  • データベース管理システム→司書さん

※「データベースを使おう」となったら、基本的にDBMSを使うのと同義

DBMSのACID特性について

ひとまとめの処理( トランザクション処理 )が持つべき4つの特性

1. Atomicity(原子性): トランザクション操作が全部成功するか、全て失敗するかのどちらかを保証されるという性質

image block
商品カタログのデータをもとに商品情報とその商品詳細を登録する時、片方だけが登録されてしまうことはない

COMMIT, ROLLBACK

2. Consistency(一貫性): あらかじめ指定したルールに沿った形で処理が行われるという性質で、トランザクションの前後でデータの整合性を保証される

image block
円単位のデータベースにドル単位のデータは登録されない

データ型, 一意制約, NOT NULL制約

3. Isolation(独立性): あるトランザクション処理で外部から参照できるのは実行の前後のデータだけであり、実行中のデータを見ることができないという性質で、同時に複数のトランザクションが行われても、それぞれが独立して他に影響がないように行われるように保証される

image block
預金に3万円を追加する処理中に6万円を追加する処理が走ったとき、後から実行した6万円を追加する処理の結果だけが預金に反映されるようなことは起こらない(起きたら悲しい…😭)

排他制御

4. Durability(耐久性): トランザクションが成功した後、保存されたデータが永続的なものであることを保証されるという性質

image block
預金残高が0円に変わってしまうようなことはない

バックアップ

主なDBMS製品について

1. Oracle Database :

商用のリレーショナルデータベース管理システムで、大規模なデータ処理を行うことができる

2 . Microsoft SQL Server :

Microsoftが開発したリレーショナルデータベース管理システムで、主にWindows環境で利用される

3. MySQL :

オープンソースのリレーショナルデータベース管理システムで、Webアプリケーションや小規模なデータ処理に広く利用される

4. PostgreSQL :

オープンソースのリレーショナルデータベース管理システムで、拡張性や信頼性が高いと評価されている

5. Amazon Aurora :

AWSが提供するクラウドベースのリレーショナルデータベースサービスです。MySQL及びPostgreSQLとの互換性を持ち、高いパフォーマンス、可用性・耐久性、スケーラビリティ、セキュリティ、そして簡易化された管理機能が特徴。

他にもいろいろ….

DBの種類
名前 特徴 代表DBMS
リレーショナル型 テーブル で情報を管理する
個々のテーブルが 他のテーブルとの関係性(リレーション) を持っている
もっともメジャーなDB
Oracle
MySQL
PostgreSQL
Microsoft SQL
NoSQL リレーショナル以外のDBを指す。後ほど詳しく解説 DynamoDB
Redis
MongoDB

次: 【DB2024 #3】RDBの設計