2014年01月06日 作成、2014年01月23日 更新
行数2兆5000億行以上、ファイルサイズ5TB以上の超巨大テキストファイルを編集
大規模テキスト
超巨大テキストファイル:超巨大行数(2,000億行)の編集
鈴川エディタ(Windowsテキストエディター)がファイルサイズ5TB=5120GB以上の超巨大テキストファイルを読み込み、編集できることを示します。
鈴川エディタでは、作成、編集したテキストファイルは保存しなくても直ちに閉じることができます...
このページの目的は、鈴川エディタが少ないメモリ(50MB以下)で、大きいテキストファイル(5TB以上)を作成、読み込み、閲覧、編集ができることを示すことです。
一つあたり約690GB、約79億行のXMLファイル(UTF-8)を8個つなげて読み込んで、ファイルサイズ約5.2TB、改行数約630億行のテキストファイルを作成します。
このテストを実行した環境はこちらと同じです。
1つ690GB、79億行のXMLファイルを8個つなげて読み込みます。
このダイアログボックスで一つ690GB、79億行のXMLファイル
D:\Data\jawiki-20121027-pages-meta-history.xml
を8個つないで一つのファイルとして読み込みます。
ファイル名は
D:\Data\jawiki-20121027-pages-meta-history8.xml
です。文字コードはUTF-8です。ワークファイル文字コードもUTF-8です。
図-1-1
一つ690GB、79億行のXMLファイル
D:\Data\jawiki-20121027-pages-meta-history.xml
を8個指定します。[開く]ボタンをクリックすると、読み込みを開始します。
図-1-2
690GB、79億行XMLファイル
D:\Data\jawiki-20121027-pages-meta-history.xml
をエクスプローラーで示します。
鈴川エディタは作業の間、編集プログレスダイアログで、時間や進捗率を表示します。
この作業には1,426分(約24時間)かかります。進捗率5%毎にプログレスダイアログを示します。
図-2-1
「複数ファイルをつなげて開く」を開始して10秒経過したところです。
図-2-2
進捗率5%毎にプログレスダイアログを示します。
図-2-3
「複数ファイルをつなげて開く」を終了したところです。1,426分(約24時間)かかりました。読み込み時間はパソコン性能によって大きく異なります。テキストファイルの文字コードも読み込み時間に影響します。
編集プログレスダイアログを上に移動して、タスク マネージャーも表示します。読み込み中の鈴川エディタの使用メモリは約15MBです。
読み込み終了後、テキストウィンドウを3分割して、それぞれにテキストの先頭、中間、最後の部分を表示します。
図-4-1
読み込みが終了して、テキストの先頭部を表示しているところです。超巨大テキストの場合、読み込みが終了した後、テキストが表示されるまでしばらく時間がかかることがあります。
図-4-2
[Ctrl]+[End]キーでテキストの最後部にジャンプしたところです。超巨大行数の場合、垂直スクロールタブを最下部までドラッグしてもテキストの最後部を表示できません。このような場合、[Ctrl]+[End]キーを使うとよいでしょう。
「指定位置へジャンプ」メニューを実行すると、[ジャンプ]ダイアログボックスが表示されますが、性能が劣るパソコンで超巨大テキストを表示、編集する場合、[ジャンプ]ダイアログボックスの表示にしばらく時間がかかることがありますので、表示されるまで操作をしないでお待ちください。
図-4-3
テキストウィンドウを3分割して、それぞれにテキストの先頭、中間、最後の部分を表示しています。
読み込んだ5TBテキストファイルのテキストウィンドウを3分割して、その上にタスク マネージャーを表示します。鈴川エディタの使用メモリは約63MBです。
ハードディスクの使用状況をエクスプローラで表示します。
5TBファイルの読み込み、編集には5TBを超える容量のHDD(SSD)が必要です。一つのHDDでは容量が足りませんので、二つのHDD(3TB-HDD、2台)を使用します。鈴川エディタは一つのテキストファイルを読み込み、編集するために複数のワークフォルダ(HDD)を指定できます。これは鈴川エディタ独自の方法です。「RAID 0(ストライピング)」、「JBOD」とは関係ありません。
2台のHDDは共に3TBです。各HDDのドライブはそれぞれ一つだけでドライブ名はHとIです。HとIの下位フォルダは同じ構成です。フォルダ構成は以下の通りです。
個別ワークフォルダは以下のように指定しました。
H:\szkw32\Work\<+>H:\szkw32\SubWork\<+>I:\szkw32\SubWork\
ファイル作成前のHドライブとIドライブは共に空です。ただし、鈴川エディタで使用する基本ワークフォルダ(空)があります。
図-6-1
Hドライブのプロパティです。2.72TB(名目3TB)がほぼすべて使用可能であることを示しています。
図-6-2
H:\szkw32\フォルダのプロパティです。すべて未使用であることを示しています。
図-6-3
Iドライブのプロパティです。2.72TB(名目3TB)がほぼすべて使用可能であることを示しています。
図-6-4
I:\szkw32\フォルダのプロパティです。すべて未使用であることを示しています。
5TBファイルを作成した後のHドライブとIドライブを以下に示します。
合計使用ディスクサイズは、2.61TB × 2 = 5.22TB です。
ビーズフォルダの合計数は、67個 × 2 = 134個 です。
ビーズファイルの合計数は、(10000 × 66 + 6669)× 2 = 1,333,338個 です。
図-7-1
Hドライブのプロパティです。2.61TBが使用されています。
図-7-2
H:\szkw32\フォルダのプロパティです。2.61TBが使用されています。
このフォルダの下に次の二つのワークファイルフォルダが作成されています。
図-7-3
H:\szkw32\Work\フォルダのプロパティです。
このフォルダの下にワークファイルフォルダ「1ai8wpfyzj」が作成されています。このワークファイルフォルダで約22MBが使用されています。
図-7-4
H:\szkw32\SubWork\フォルダのプロパティです。
このフォルダの下にワークファイルフォルダ「1ai8wpfyzj」が作成されています。このワークファイルフォルダで2.61TBが使用されています。
図-7-5
Iドライブのプロパティです。2.61TBが使用されています。
図-7-6
I:\szkw32\フォルダのプロパティです。2.61TBが使用されています。
このフォルダの下に次のワークファイルフォルダが作成されています。
図-7-7
I:\szkw32\SubWork\フォルダのプロパティです。
このフォルダの下にワークファイルフォルダ「1ai8wpfyzj」が作成されています。このワークファイルフォルダで2.61TBが使用されています。
図-7-8
H:\szkw32\Work\1ai8wpfyzj\はメインワークフォルダのワークファイルフォルダです。
図-7-9
H:\szkw32\SubWork\1ai8wpfyzj\はサブワークフォルダのワークファイルフォルダです。その先頭付近です。
この中にビーズフォルダ(Dir1~Dir67)が67個あります。各ビーズフォルダの中に10,000個のビーズファイルが収納されています。
図-7-10
H:\szkw32\SubWork\1ai8wpfyzj\はサブワークフォルダのワークファイルフォルダです。その最後付近です。
図-7-11
I:\szkw32\SubWork\1ai8wpfyzj\はサブワークフォルダのワークファイルフォルダです。その先頭付近です。
この中にビーズフォルダ(Dir1~Dir67)が67個あります。各ビーズフォルダの中に10,000個のビーズファイルが収納されています。
図-7-12
I:\szkw32\SubWork\1ai8wpfyzj\はサブワークフォルダのワークファイルフォルダです。その最後付近です。
図-7-13
H:\szkw32\SubWork\1ai8wpfyzj\Dir1\は67個(Dir1~Dir67)あるビーズフォルダのうちの1番目です。その先頭付近です。
この中に10,000個のビーズファイル(Str0~Str9999)が収納されています。
図-7-14
H:\szkw32\SubWork\1ai8wpfyzj\Dir1\は67個(Dir1~Dir67)あるビーズフォルダのうちの1番目です。その最後付近です。
図-7-15
H:\szkw32\SubWork\1ai8wpfyzj\Dir30\は67個(Dir1~Dir67)あるビーズフォルダのうちの30番目です。その先頭付近です。
この中に10,000個のビーズファイル(Str290000~Str299999)が収納されています。
図-7-16
H:\szkw32\SubWork\1ai8wpfyzj\Dir30\は67個(Dir1~Dir67)あるビーズフォルダのうちの30番目です。その最後付近です。
図-7-17
H:\szkw32\SubWork\1ai8wpfyzj\Dir67\は67個(Dir1~Dir67)あるビーズフォルダのうちの67番目です。その先頭付近です。
この中に6,670個のビーズファイル(Str660000~Str666669)が収納されています。
図-7-18
H:\szkw32\SubWork\1ai8wpfyzj\Dir67\は67個(Dir1~Dir67)あるビーズフォルダのうちの67番目です。その最後付近です。
図-7-19
I:\szkw32\SubWork\1ai8wpfyzj\Dir1\は67個(Dir1~Dir67)あるビーズフォルダのうちの1番目です。その先頭付近です。
この中に10,000個のビーズファイル(Str0~Str9999)が収納されています。
図-7-20
I:\szkw32\SubWork\1ai8wpfyzj\Dir1\は67個(Dir1~Dir67)あるビーズフォルダのうちの1番目です。その最後付近です。
図-7-21
I:\szkw32\SubWork\1ai8wpfyzj\Dir30\は67個(Dir1~Dir67)あるビーズフォルダのうちの30番目です。その先頭付近です。
この中に10,000個のビーズファイル(Str290000~Str299999)が収納されています。
図-7-22
I:\szkw32\SubWork\1ai8wpfyzj\Dir30\は67個(Dir1~Dir67)あるビーズフォルダのうちの30番目です。その最後付近です。
図-7-23
I:\szkw32\SubWork\1ai8wpfyzj\Dir67\は67個(Dir1~Dir67)あるビーズフォルダのうちの67番目です。その先頭付近です。
この中に6,670個のビーズファイル(Str660000~Str666669)が収納されています。
図-7-24
I:\szkw32\SubWork\1ai8wpfyzj\Dir67\は67個(Dir1~Dir67)あるビーズフォルダのうちの67番目です。その最後付近です。