保存量
1件の大きさから始める
保存量の見積もりは、1件が何バイトかから始めます。
席の予約1件には、予約ID・利用者ID・公演ID・席番号・日時が入ります。合わせて512バイトとしておきます。
Python
# 1日3000件 × 512バイト = 1,536,000バイト = 約1.5MB正確には数えません。桁が合っていれば十分です。
100バイトか1万バイトかが分かれば、選ぶ保存先が変わります。 512か600かでは何も変わりません。
見積もりは、正しい値を出す作業ではなく桁を出す作業です。
期間を掛ける
1日の量が出たら、残す期間を掛けます。1年なら365倍です。
Python
# 1.5MB × 365日 = 約534MB予約サービスの1年分は1GBに届きません。この桁が分かると、最初から分散保存は要らないと言えます。
本体だけならそうです。増えるのは本体ではなく、履歴と索引と複製です。
操作ログを1件ごとに残せば数倍になり、複製を3つ持てばさらに3倍になります。
いまは本体の桁を出します。増える要素は、置き場所を決める章で足します。
演習
1日の件数・1件の大きさ・残す日数から、総バイト数と MB、GB を出します。
要件
- total_bytes は rows_per_day × bytes_per_row × days
- mb は total_bytes ÷ 1024 ÷ 1024 の整数部分。1MB に満たなければ 0
- gb は mb ÷ 1024 の整数部分
ヒント
編集 ゆめさく編集部