← メディア一覧

NoSQLの正体

7分55秒 | DBSQLFE

基本情報技術者試験の頻出テーマを解説した動画コンテンツです。

トランスクリプト(字幕テキスト)

はいどうも。今日のテーマはNoSQLデータベースです。 なんかよく聞くけどいまいちピンとこないなーって思ってる方、結構いるんじゃないでしょうか。 大丈夫です。今日はその正体をもうすっきり解き明かしていきましょう。さあ、早速行ってみましょうか。 はい、ではまずセクション1ですね。掟破りなデータベース? えーっと、NoSQLにまつわるたぶん一番大きな誤解からまずは解きほぐしていきましょう。 ルールがないデータベースって聞くと、なんかすごい自由で掟破りな感じがして、ちょっとワクワクしませんか? でもですね、実はそのイメージほんのちょっとだけ違うんですよ。はい、ここが今日最初の、そして最大のポイントです。 いいですか?NoSQLはSQLがまったくないっていう意味じゃないんです。 本当の意味はNot Only SQL。つまりSQLだけじゃないよっていう、もっと柔軟な考え方っていうことなんですね。 これで一番の大きな誤解がすっきりしましたよね。この違い、もっとわかりやすいイメージで掴んでみましょうか。 えっと、今まで主流だったリレーショナルデータベース、まあRDBですね。 これが引き出しがきっちりと決まってる、もう超整理整頓されたタンスだとして、それに対してNoSQLは 中身に合わせて形を自由に変えられる、まさに魔法の箱みたいなもんなんです。 片方は超厳格、もう片方は超柔軟。このイメージ、今日の話全体の鍵になるんでぜひ覚えておいてください。 ではセクション2。スピードの必要性です。 そもそもなんでこんな柔軟な魔法の箱が必要になったんでしょうか。 その背景にはですね、今のインターネットサービスならではの、もうかなり切実な問題があったわけです。 その問題っていうのが現代のウェブサービスが直面したもう本当に巨大な二つの壁。 それが膨大なデータ量と、それをさばくための驚異的なスピードなんです。この両方を同時にクリアしないといけなくなったんですね。 例えばこれを見てくださいよ。SNSの世界だとなんとたった1秒間に 3万件以上の投稿が世界中からもう絶え間なく書き込まれてるんです。すごくないですか? このとてつもないデータの大洪水に、あの整理整頓が得意なタンス、つまりRDBがどう立ち向かったかというと、ちょっと大変なことになったんですね。 RDBの最大の強みって、データをきっちり整理整頓する正規化っていうプロセスなんですね。 でも、データがもう滝のようにドバーッと流れ込んでくると、その丁寧な整理作業が逆に全体の処理を詰まらせるボトルネック、 つまり足枷になっちゃったんです。いやー、まさにコンピューターがパンク寸前っていう状態だったわけです。さあ、それではセクション3。 いよいよお待ちかね。あの魔法の箱の中を覗いてみましょう。 NoSQLは一体全体どうやってあの驚異的なスピードを実現してるんでしょうか。 そのシンプルだけどめちゃくちゃ強力な仕組みの秘密にここで迫っていきますよ。 NoSQLの戦略はもう驚くほどシンプルなんですよ。それは最高のスピードを出すために、 あえて厳格なルールを捨てる、これですね。これはもう重要なトレードオフで、 かっちりとした一貫性とか、そういうのよりもとにかく速さと柔軟性を最優先したっていうことなんです。で、その代表格がこれ。 キー・バリューストア。略してKVSですね。これはNoSQLの中でも、もう一番と言っていいくらいシンプルな形で、 データをキーっていう名前と、バリューっていうデータ本体の、ごくごく単純なペアとしてもうポンポン放り込んでいく、そんなイメージです。 このスライドがまさにKVSの仕組みそのものを表してますよね。 ユーザーIDっていうキーにはカイっていう値が入ってる。プロダクトIDにはアップル。ね、本当にこれだけなんです。 この究極のシンプルさこそが、データを一瞬で取り出せるあの速さの秘密っていうわけなんですね。 もちろん、NoSQLにはこのKVS以外にもいろんな種類がありますよ。例えばこのスライドにある ドキュメント志向型っていうのもすごく有名です。これはですね、JSONファイルみたいに、 関連するデータを一まとめにしたドキュメントとして丸ごと保存するやり方です。 例えばユーザーのプロフィール情報だったら、名前も年齢も趣味も全部一つの塊として扱えるんで、これもまたすごく便利なんですよ。 ここで、もう一つすごく強力な例え話をしましょう。 もしRDBが、列とか行がきっちり決まっている綺麗なExcelシートだとしたら、NoSQLのKVSは、 アイデア思いついた順にペタペタ貼っていける、あの付箋ボードみたいなもんなんです。 どっちが柔軟で、どっちが素早く情報を貼り付けられるか、もう一目瞭然ですよね。さあ、セクション4は適材適所です。 整理整頓が得意なタンスと何でも入る魔法の箱。この二つのデータベースを、じゃあいつ、どうやって使い分ければいいのか。 ここからはその実践的な知識をがっつり身につけていきましょう。正しいツールを選ぶ能力こそ優れた設計者の証である。 いや、まさにこの言葉の通りで、RDBとNoSQL、どっちが優れてる劣ってるっていう話じゃまったくないんです。 それぞれが全然違う仕事のために作られたまったく別のツールなんだってことを理解するのが何よりも重要です。 このスライドはその使い分けがもう一発でわかる、すごく重要な一枚ですよ。RDBはとにかく正確性と一貫性が命。 1円でもずれたら大問題になる銀行の取引データとかに使われるわけですね。一方、NoSQLはスピードと拡張性が最優先。 SNSのいいねの数を数えたり、膨大な量のシステムログを溜め込んだりするのに最適なんです。この使い分けこそがまさに設計者としての腕の見せ所ってことですね。 さあ、いよいよ最後のセクションまでまいりました。重要ポイントのまとめです。 ここまでの内容をここでギュギュッと凝縮していきます。特に試験を控えている方は、ここはしっかり頭に入れて帰ってくださいね。 はい。じゃあ今日の確信をもう一度おさらいしましょう。まず、NoSQLはNot Only SQLの略で、スピードと膨大なデータのために生まれました。 で、そのために厳格なルールの代わりに柔軟性を手に入れたんですね。その代表格がシンプルで超高速なKVSでした。 そして一番大事なのは、どちらを使うかは常に適材適所で考えるってこと。これ忘れないでください。そして、ここからは資格試験に特化したとっておきのアドバイスです。 これ要チェックですよ。試験ではですね、よく大量の非定型データを高速に処理するのに適したデータベースはどれですか? みたいな形で聞かれることが多いです。いいですか?この大量、非定型、そして高速、この三つのキーワードが出てきたらもう答えはNoSQL、 特にKVSであることが非常に多いです。合言葉は柔軟性とスピード。これをしっかり覚えておけばばっちり特典に繋がりますからね。 さて、これで皆さんは二つの強力なツールを手に入れたことになります。 整理整頓が得意なタンスと、何でも入っちゃう魔法の箱。このツールを使って、あなたはいったい何を作りますか?

このコンテンツは Web society で視聴・学習できます。