データベースは「見えない場所」で動いている
ここまで学んだ仕組みは、実際の会社ではどこにあって、誰が触っているのでしょうか。この章では、みなと文具のような会社でPostgreSQLがどう使われているかを、人と場所の観点から見ていきます。
まず押さえたいのは、ほとんどの社員はPostgreSQLを直接触らないということです。販売管理システムや会計システムの画面を操作すると、その裏側でシステムがSQLを組み立ててサーバーに送り、結果を画面に表示しています。利用者から見れば、データベースは完全に裏方です。
誰が、どう関わるのか
| 立場 | PostgreSQLとの関わり |
|---|---|
| 開発者 | テーブルを設計し、業務システムが送るSQLを書く。第4章・第5章の内容が日常業務 |
| DB管理者(DBA) | サーバーの設定、ユーザーと権限の管理、バックアップ、性能の監視。第6章の仕組みを「運用」する人 |
| 一般の社員 | 業務システムの画面を通して、知らないうちに読み書きしている |
| 経理・経営層 | 帳票やBIツールで集計結果を見る。CSVに出して会計ソフトに取り込むこともある |
| 監査人 | 「誰がデータを変更できるか」「変更の記録は残るか」「バックアップは戻せるか」を確認する |
どこで動いているのか:自社サーバーとクラウド
PostgreSQLが動くコンピューターの置き場所は、大きく2つあります。
自社で持つ(オンプレミス)
会社のサーバー室やデータセンターに自前の機械を置き、そこにPostgreSQLを入れて動かす方法。機械の購入・保守・故障対応・バックアップまで、すべて自社(またはシステム会社)の責任で行います。
クラウドで借りる(マネージドサービス)
Amazon(Amazon RDS / Aurora)、Google(Cloud SQL)、Microsoft(Azure Database for PostgreSQL)などのクラウド事業者が、「PostgreSQLを運用込みで貸す」サービスを提供しています。機械の管理、ソフトの更新、バックアップの取得などを事業者側が担い、利用者は使った分だけ月額で支払います。
第2章で「ソフトは無料だが、動かす場所と運用の手間はかかる」と説明しました。クラウドのマネージドサービスは、まさにその「場所と手間」をお金で買うものです。近年の新しいシステムはこちらが主流になっています。
クラウドのデータベース費用は、使った時間や容量で変動する「従量課金」です。月々の請求が何に対して発生しているか(稼働時間・保存容量・バックアップ容量・通信量など)を把握しておくと、費用の妥当性を判断しやすくなります。
権限:誰に何を許すか
第3章で、つなぐときに「ユーザー名とパスワード」が必要だと説明しました。PostgreSQLでは、ユーザー(正確にはロールと呼びます)ごとに「どのテーブルを読めるか」「書き換えられるか」を細かく決められます。
-- 帳票ツール用のロールを作り、読み取りだけを許す
CREATE ROLE report_user LOGIN PASSWORD '********';
GRANT SELECT ON customers, invoices TO report_user; -- SELECTだけ。UPDATEやDELETEは不可
現場で守られている基本的な考え方は次の3つです。
- 最小権限:必要な操作だけを許す。帳票を見るだけの人に書き換えの権限は与えない。
- 本番データを直接いじらない:データの修正は業務システムの画面か、手順の決まった作業として行う。管理者が本番に直接SQLを打つのは最後の手段で、記録を残す。
- 記録を残す:誰がいつ何を変えたかのログを取り、後から追えるようにする。
これらは、経理の業務でいう「職務分掌」や「承認の記録」と同じ発想です。データベースの権限設計は、内部統制の一部だと言ってよいでしょう。
この章のまとめ
- ほとんどの社員はPostgreSQLを直接触らず、業務システムや帳票ツールを通して間接的に使っている。直接触るのはシステム部門。
- 動かす場所は、自社サーバー(オンプレミス)か、クラウドの運用込みサービス(マネージドサービス)。近年はクラウドが主流。
- ロールごとに権限を細かく決められる。最小権限・本番を直接いじらない・記録を残す、が現場の基本。
確認クイズ
Q1クラウドの「PostgreSQLマネージドサービス」で支払っているお金は、主に何の代金ですか。
Q2帳票ツールが使うロールに与える権限として、現場の基本に沿っているものはどれですか。
Q3営業担当者が販売管理システムの画面で受注を登録したとき、PostgreSQLとの関係はどうなっていますか。