データベース初心者でも分かる RDBMSの基本~JPOUG Oracle Database入学式レポート

RDBMSはリレーショナルデータベースを作る・使うためのソフトウェアであり、現在多くのITシステムで使用されています。そのRDBMSで大きなシェアを獲得しているのがOracle Databaseです。先日、Japan Oracle User Groupの主催による『Oracle Databaseを用いて学ぶ RDBMS』をテーマとした勉強会が、21cafeで開催されました。

20160620_0

データベースの知識ゼロでも分かるリレーショナルデータベース(RDB)のお話

■Oracle Databaseを用いて学ぶ RDBMSの基本

発表者:渡部亮太氏(株式会社コーソル)

■なぜOracle Databaseを使ってRDBMSを学ぶのか

RDBMSとはリレーショナルデータベースを作る・使うためのソフトウェアであり、以下のような特徴があります。

・データの整合性を維持しやすい。
・簡単にデータを参照・更新できるSQLという専門用語がある。
・信頼性のある更新処理を実現するトランザクション機能がある。
・障害発生時でも格納したデータが容易に失われない。
・セキュリティ・チューニングなど多くの周辺機能がある。

Oracle DatebaseでRDBMSを学ぶことはITエンジニアにとってメリットがあるとする背景として以下のような状況があります。

・最近のITシステムではRDBMSを使ってデータ管理することが一般的である。
・それにより、ITエンジニアにとってはRDBMSを理解することの重要度が上がっている。
・さらに、Oracle Databaseは世界および国内で50%近いシェアを持つRDBMS製品。

■データモデルでデータの整合性を維持する

RDBMSでは、「テーブル形式」のデータの構造を作る必要があり、データ構造には下記の要素があります。

・テーブル名
・列名(テーブルのデータ構造)
・行(格納されたデータそのもの)
・主キー(行データを特定するための特殊な列)

テーブル作成時に、各列に対するデータ型の指定と制約の制定によって、入力できる値を制限します。RDBMSには、このように指定されたデータ構造に反するデータは格納できないように制約を設定できる為、そのためデータの整合性を維持しやすいのです。

■シンプルでパワフルなデータアクセス専門言語SQL

RDBに格納されたデータはSQLを用いてデータ検索・更新ができます。SQL文は、データの検索と更新を行う「DML」と、表、インデックス、ビューなどの作成、変更、削除などを行う「DDL」、権限設定・トランザクション制御などを行う「DCL」の3つに分類することができます。

DMLには以下の4つが含まれ、勉強会の中ではそれぞれの実行例についてもお話されました。
・select:データの検索
・insert:データの追加
・update:データの更新
・delete:データの削除

■トランザクションと堅牢なデータ保護

トランザクション処理とは、関連する複数の処理を不可分な一つの処理単位として扱うことで、その処理単位をトランザクションと呼びます。渡部氏いわく、トランザクションとは「信頼性のある更新処理」です。これはACID特性と呼ばれる4つの特性を持ちます。

▼ACID特性
・Atomicity(原子性)
・Consistency(一貫性または整合性)
・Isolation(分離性または隔離性)
・Durability(持続性または永続性、耐久性)

この勉強会では、AtomicityとDurabilityを取り上げて説明していました。Atomicity(原子性)とは、一連の処理が完全に実行されるか全くされないかのいずれかであるということを意味します。(ALL or NOTHING)

Atomicityがないと、中途半端な状態が発生する可能性があり、エラーが発生したら何が成功して何が失敗したかをチェックして、その状態に応じた処理を人間がおこなわなくてはいけません。しかし、Atomicityが実現すると、こうした状況を避け、エラーが発生すれば再実行すればよいと、シンプルにエラー処理を行うことができます。

このようにACID特性により、エラー処理をシンプルにすることができたり、更新前後で整合性を維持することができたりします。

■RDBMSがデータベースを障害直前の状態に復旧できる仕組み

ビジネスにおいて大変重要な資産であるデータを守るための仕組みがOracle Datebeseには用意されています。

サーバーダウン・Oracleダウンが発生した場合には、異常終了した形になり、次回起動時自動的にクラッシュリカバリが実行され、整合性が回復します。ディスク破損の場合には、バックアップファイルを戻すことで失われたファイルを復旧させます。そして、さらにリカバリ処理を実行して障害発生直前の状態にするのです。

また、本番環境では原則的にアーカイブログモードで運用します。データを更新すると、データファイルだけでなく、オンラインREDOログファイルが更新されます。オンラインREDOログファイルには、データベースへのすべての更新処理が記録され、障害復旧時に重要な役割を果たしますが、運用を継続すると将来的にデータが上書きされ、データが失われてしまいます。しかし、アーカイブログモードだと、アーカイブREDOログファイルが出力されるため、すべての更新処理記録を保管することができます。

20160620_3

約2時間にわたる勉強会の中で渡部氏は、スライドで公開している以上のボリュームでお話くださいました。各項目毎に、復習問題の出題や質疑応答の時間もあり、データベース初心者にとっては大変収穫の多い時間となりました。

Japan Oracle User Groupとは

オラクル製品を扱う技術者が、それぞれに持つ孤独。複雑化するシステムを把握し、そして紐解き、限られた時間で最適解を導き出すという困難に、孤独に向き合う技術者たちの問題を少しでも解決したい。みんなが集まれば、何か新しいことができるんじゃないだろうか。そんな思いを持つ者達が、この日本で集まり、世界のオラクル・ユーザー・グループの一員として活動します。

▼コミュニティ情報



イベントや懇親会の告知を行っています。是非、チェックしてみてください!

公式ページ:http://www.jpoug.org/
Facebookグループ:https://www.facebook.com/jpougfan
DoorKeeperページ:https://jpoug.doorkeeper.jp/

▼これまでのJapan Oracle User Groupのレポート
Oracle運用のノウハウが満載!JPOUG Tech Talk Night #6イベントレポート

21cafeでは今後も随時イベント情報を更新していきます。勉強会などのイベント情報はこちらをチェック!


最新情報はFacebook/Twitterをフォロー!


関連する記事

facebook

案件情報や最新記事をお届けします。
ぜひチェックしてみてください。