【ふくだ学習録】データベースエンジニア養成読本を読んで part1【1日目】


ふくだ学習録とは?

ふくだが学習したことの備忘録。
目に見える形で残すことによってやる気を出す個人的な作戦です。
他人に見せるように書いているわけではないので、すごく読みにくいです。

データベースエンジニア養成読本を読んで

データベースアドミニストレーターとは?

データベースの保守や運用等を行う管理者のことである。「データベース管理者」や「DBA」などとも呼ばれる。
データベースアドミニストレーターの業務は、データベースの物理的な設計や構築から、実際の運用や保守を行うというものである。

どういう時に、データベースソフトウェアが必要になるのか?

トランザクション処理が必要な時。

トランザクション処理とは?

トランザクション処理を簡単に説明すると、複数の処理を1セットとして捉えて、全ての処理の順序と実行を保証するもの。
例えば、A,B,Cという3つの処理をトランザクション処理したとすると、Aだけ実行されてB,Cは実行されないなどは発生しない(発生させない)。もしそうなった場合は、Aが発生する前の状態に戻る。

他にも
- Atomicity(原子性)
- Consistency(一貫性)
- Isolation(独立性)
- Durability(永続性)
といった特徴があるため、ACIDと呼ばれることもある。

データベースは絶対にトランザクション処理をするものなのか?

そんなことはない。最近のNoSQLやオープンソースのデータベースなどではACIDを実装していないこともある。
理由はパフォーマンスを向上させるため。

機能要件、非機能要件とは

めっちゃ簡単にいうと、
- 機能要件
クライアントから提示される要件。サービスに必要な機能。(must)
- 非機能要件
クライアントから提示されているわけではないがエンジニアが実装しないといけない要件。セキュリティやパフォーマンスに関わることで、「まぁやってて当たり前だよね?」って感じの技術的な部分のことを指すことも。どこまでやるか曖昧になりがち(better)

非機能要件はRASISとも呼ばれる。
詳しくは30秒で読める要件定義の機能要件&非機能要件まとめを読めばOK。

RAID10とは?

RAID10とは、障害対策の1方法。RAID1「ミラーリング」+RAID0「ストライピング」を掛け合わせたもの。
データベースをミラーリング(複製)した上で、ストライピング(分散化)すること。
利点は、RAID1が全滅しない限りデータが破壊されなくなる。
欠点は、利用可能容量が総ハードディスク容量の半分になってしまう。(厳密に言えば、RAID10の欠点ではなくRAID1の欠点)

このサイトがわかりやすかった。
WEB便利ノート

レプリケーションとは?

レプリケーションとは、サーバーを、同じネットワーク内、もしくは別の(例えば日本と中国などの)遠隔地に設置して、データをリアルタイムにコピーする技術。
イメージは、全くおんなじデータベースを2つ作って、一回読み書きするときに、2つとものデータベースを読み書きする感じ?

ちなみにアーカイブ、バックアップ、レプリケーションはそれぞれ意味が違うらしい。(知らんかったし、そもそも意識してなかった)このサイトがわかりやすかった。
レプリケーションとバックアップとアーカイブの違い

今日の一言

今日から備忘録付けだしたけど、思ってたより学習スピード遅くなる!
でも備忘録として手を動かした方が、明らかに理解力上がる!
このスタイルのまま学習スピード上げていけるように頑張る!
あとコメダ珈琲の小倉トースト美味い!豆乳カフェラテも!