Ymotoのブログ

主にプログラミング学習記録

PostgreSQLの基本

今日はPostgreSQLの基本について勉強したのでまとめます。

参考: https://lets.postgresql.jp/documents/tutorial/postgresql-abc/1-1

PostgreSQL入門1(1)

データベース

大量のデータをコンピュータシステム上で扱えるように集めたもの

データベース管理システム

データベースを効率よく読み書きするためのソフトウェア。DBMS(DataBase Management System)とよぶことも

アプリケーション

データベース管理システムが実際にデータを収集したり、読み書きを行うためには、どのようなデータをどのような形でデータベースに入れるかを決めていなければいけない。これを決める用途のことをアプリケーションとよぶ。データベースはその用途が具体的に決まらないと作れない。

まとめ

データベースは具体的な用途が決まらないと作れない。データベース管理システムはアプリケーションを構成する種々のアプリケーションプログラムになりかわってデータベースを作ったり、データの読み書きをしてくれるソフトウェア。データベース管理システムを動かしてデータベースを使うには、アプリケーションプログラムを作らないといけない。

PostgreSQL入門2(2)

データベース管理システムがデータベースを守る

データベースに入れるデータは非常に重要なものが多い。データベース管理システムにはサーバがクラッシュしても、ハードウェアが故障してもバックアップと変更履歴を使ってデータベースを復元する手段がある。また、データベースは何人もの人が同時にデータベースを使うので、複数のアプリケーションプログラムが同時にデータベースにデータを読み書きすることができるようにデータベース管理システムは読み書きの整理をしている。

PostgreSQL入門2

PostgreSQLとは

フリーなオープンソースリレーショナルデータベース管理システム

※ フリー:利用するにあたってお金を払う必要がない
オープンソース: ソフトウェアは実行手順を人間が書いて作っている。この書かれたプログラムのもとを「ソースコード」といい、これを「コンパイラ」というプログラムでしょりしてコンピュータで動かせるようにする。オープンソースとはこのソースコードを公開していることをいう。

維持管理

PostgreSQLは80万行ものプログラムで書かれているので公開後に不具合や脆弱性がみつかったりする。これらの問題点を発見されるたびに修正していく作業をソフトウェアの維持管理という。
PostgreSQLでは「メジャーバージョン」というほぼ毎年新しい機能を追加したり、性能を改善した版を公開している。 維持管理は最新のメジャーバージョンだけでなく、過去のメジャーバージョンに対しても行われる。その結果同じPostgreSQLでもことなるプログラムが出回るので「バージョン番号」で区別する。

 バージョン番号の意味

8.3.5
8.3がメジャーバージョンを示し、5が維持管理をした「マイナーバージョン」を示す。メジャーバージョンが公開された後、5回の修正が行われたことがわかる。

PostgreSQLの入手方法

3つある。
1. Linuxディストリビューション。ほとんどのディストリビューションPostgreSQLが含まれている 2. PostgreSQLコミュニティ 3. サードパーティ

PostgreSQL入門3

リレーショナルデータベース

リレーショナルデータベースとは表であらわすデータ(Excelみたいなやつ)。リレーションとは表を数字的に扱ったときの名前。

Excelの表とデータベースの表の違い

  1. データベースの表は連結したり分割したりできない
  2. 行の順序に意味がない。
  3. 行はフィールドの値だけで区別されるので同じ値のフィールドでできている行を区別することはできない。
  4. データベースとのやり取りはSQLと呼ばれる一種のプログラム言語を使っておこなう

※フィールド: 特定の行の特定のカラムのことをいう

データベース管理システムはデータを確実に保存する。

Excelの最大行数は65,000行なのに対し、データベースの表の行数には制限はない。このような大量のデータを失わないための方法がデータベース管理システムにはある。

  1. クラッシュリカバリ
  2. アーカイブリカバリ

クラッシュリカバリ

データベース管理システムは、サーバの電源断やサーバプロセスの停止なのが発生したとき、変更の確定したデータが破壊されたり失われたりしないよう、データベースの変更記録(ログ)を常に保存し続けている。なんらかの異常が発生したとき、このログをつかってデータベースを最新の状態に復旧することをクラッシュリカバリという。クラッシュリカバリは異常発生後、最初にデータベース管理システムが起動したとき自動で行われる。

アーカイブリカバリ

データベースを格納していたディスクが壊れてアクセスできなくなるなどの異常が発生したとき、あらかじめ保存しておいたデータベースのバックアップとログをを使ってデータベースを復元することをアーカイブリカバリという。