DB勉強会レポート_2019年01月15日(火)実施分【後編】|TechRacho(テックラッチョ)〜エンジニアの「?」を「!」に〜|BPS株式会社エンジニアの「?」を「!」に。Tips勉強会2019.02.14DB勉強会レポート_2019年01月15日(火)実施分【後編】Oasist&シェアツイートブックマークLINEこんにちは。(3)を解説しました。(4)作業W5(表領域設計)について、表5中のア〜キに入れる適切な字句を、表5中の下線部分の用語を用いて答えよ。設問に関する情報を問題文中から探し整理していきましょう。テーブル及び索引のストレージ所要量を見積もり、表領域をストレージに割り当てる設計を行う。平均行長(バイト)及び最大行長(バイト)を得る。ページ長からヘッダ部を除いた有効ページ長(バイト)を得る。次の不等式を満たす適切な空き領域率(%)を決める。テーブルのストレージ所要量(バイト)を求める。ストレージ所要量になります。表5に「可変長列」について、固定長列との違いと併せて確認しておきましょう。ページあたりのデータサイズ。ページ解説それでは、それぞれの空欄に入る選択肢を考えていきましょう。行数」で求められることが分かります。ここで小学生の時に習った「答えの単位は非乗数(かけられる数)と一致する」という算数の知識がヒントになります。10,000円」です。非乗数の500円と答えの10000円の単位は一致するというのが基本です。有効ページ長(バイト)」のアには、単位が「バイト」の用語が入ることが分かります。「一行以上格納できるページ長を決め」とありますので、ページの中にページを格納するのは構造的におかしいと分かります。よって、選択肢は「平均行長」と「最大行長」の二つに絞られました。問題は「可変長列」があるテーブルのストレージ所要量の見積もりだということです。格納領域は実データサイズに依存するので、小さければごく少ないストレージ領域しか使わないし、大きければ多くの領域を使います。「平均行長」で見積もると、それより大きなデータサイズになった時、容量が溢れてしまいます。可変長列である以上、ワーストケース、つまり最大のデータサイズを見積もらなければなりません。]には「最大行長」が入ります。ウまず空欄イですが、手順4で空欄ウとともに求めてしまう方が難易度が低いかと思います。求めるのはページあたりの平均行数です。ページの図ではきっちり3行ずつページに格納されていますが、実際にはその数はバラバラであることが多いです。そこで、平均でページあたりどのくらいの行数が格納されているかを計算する必要性が出てきます。空欄を埋めるのは見当がつかなくて辛い(典型的な文系脳)。そこでまた小学生で習ったことに立ち返りましょう。こんな例はどうでしょう?ある対荷重1,000kgエレベーターは平均で何人の人を乗せられるか、という問題です。乗員の体重はひとによってまちまちですが、2018年01月30日現在の日本人平均体重56kgで見積もります。17.857」、小数点以下切り捨てで「17人」となります。このように、「入れ物の大きさ」を「中味の平均の大きさ」で除算すると、「その入れ物に平均でどのくらい入るか」を求めることが出来ます。手順4に目を転じましょう。行の平均の大きさ」は「平均行長」が当てはまります。よって、イには「有効ページ長」、ウには「平均行長」がそれぞれ入ります。オここではテーブルの「必要ページ数」、つまり「これだけの行をページあたりこのくらいの行数で格納していったら、全体でこのくらいのページ数が必要になる」かを求めます。この手の問題は具体的な数字を仮定して考えると解きやすいので、以下のようなシナリオを考えてみましょう。10,000行のデータを、ページあたり100ページずつ格納すると、必要なページ数はいくつでしょう?答えは100行ですね。問題では10,000という数字は登場しない仮定の数字ですが、下線部分の用語で答えると何でしょうか?また、実際全てのページが100行格納するとは限らず、あくまで「全体としてだいたいくらいの行数」を格納するという意味で、下線部分の用語で答えると何でしょうか?それぞれ、「見積行数」と「ページ当たりの平均行数」です。100」で100行が「必要ページ数」であると求まります。よって、エには「見積行数」、オには「ページ当たりの平均行数」が入ります。キ最後は「テーブルのストレージ所要量」を求める式です。あとは一つあたりのページのデータサイズはどのくらいか、そしてページ数が全体でいくつあるのかを元に求めることができます。ストレージの所要量を求める際は格納される全てのデータサイズが考慮の対象となります。一つあたりのページのデータサイズはどのくらいかを考える時に、あるもののデータサイズを考える必要があります。手順2にある「ヘッダ部」です。手順2の記述を読むと、ヘッダ部を含むページのデータサイズは「ページ長」と定義されています。これに全体のページ数、つまり「必要ページ数」をかければ「テーブルのストレージ所要量」が求まります。必要ページ数」が式となります。よって、カには「ページ長」、キには「必要ページ数」が入ります。Storageを使ってはいけない(翻訳)#Tags#会社紹介#自社サービス#勉強会#Rails#PHP#デザイン#実績#週刊RailsウオッチCONTACTお気軽にご相談ください。(翻訳)CONTACTTechRachoでは、パートナーシップをご検討いただける方からのご連絡をお待ちしております。お気軽にご意見・ご相談ください。