超巨大テキストファイル:超巨大行数(2,000億行)の編集

鈴川エディタホームページ


2014年01月23日 更新

行数2兆5000億行以上、ファイルサイズ5TB以上の超巨大テキストファイルを編集
超巨大テキストファイル(5TB = 5,120GB以上)を読み込む
大規模テキスト

2008年06月02日 更新

目次

目的

このページの目的は、鈴川エディタが行数の心配をすることなく、しかも少ないメモリで、大きいテキストファイルを作成、読み込み、閲覧、編集ができることを示すことです。
他のテキストエディタは、扱うことができる行数を制限していたり、制限を明示していなくてもある一定の行数に達すると、メモリ不足でアプリケーションが動かなくなったりします。
しかし、鈴川エディタは行数よりもファイルサイズで決まります。行数制限はありません。行数によってメモリ不足になることもありません。鈴川エディタで扱うことができるファイルサイズは、一つのフォルダで使用できるディスクサイズで決まります。行数やメモリで、左右されることはありません。ただし、他のアプリケーションによってメモリ不足の状態にある場合は別です。

ページトップ

方法

100億行の改行記号だけのファイルを20個つなげて読み込んで、2,000億行の改行だけのファイルを作成します。これだけでも380GBありますが、改行だけでは寂しいので先頭、中間、最後の付近で、4千5百万行で5GBのファイルをそれぞれのカーソル位置に読み込みます。このときの使用メモリはタスクマネージャで、ディスク使用量はエクスプローラで示します。
改行記号だけのテキストを作成、読み込むで、扱うことができる最大の行数を知ることができます。

ページトップ

2,000億行の改行だけのファイルを作成

1つ100億行の改行だけのファイルを20個つなげて読み込みます。

図-1:[複数ファイルをつなげて開く]ダイアログボックス

2,000億行のファイルは D:\Suzukawa\Data\Test200BL.txt です。
100億行のファイル D:\Suzukawa\Data\Test10BL.txt です。
[OK]ボタンをクリックすると、読み込みを開始します。
(図の右下の時間が図-1のほうが図-2より遅いのは、一連の作業が終了した後で、図-1を取得したためです。)

[複数ファイルをつなげて開く]ダイアログボックス

ページトップ

図-2:複数ファイルをつなげて読み込んでいるところ

鈴川エディタは作業の間、[編集経過表示]ダイアログボックスで、時間や進行具合を表示します。
この作業には3時間半以上かかります。後、10分ぐらいで終了するところです。

複数ファイルをつなげて読み込んでいるところ

ページトップ

図-3:読み込み中使用するメモリ

[編集経過表示]ダイアログボックスを上に移動して、タスクマネージャも表示します。
読み込み作業中に使用するメモリは約15MBであることを示しています。

読み込み中使用するメモリ

ページトップ

図-4:読み込み終了

読み込み終了後、テキストウィンドウを3分割して、それぞれにテキストの先頭、中間、最後の部分を表示しています。

読み込み終了

ページトップ

更に5GBファイルを三つ挿入

改行だけでは寂しいので、1つ4千5百万行の5GBファイルを先頭、中間、最後の部分に挿入します。
5GBファイルの名前は、D:\Suzukawa\Data\Test5GB_Shift_JIS.txt です。三つとも同じものです。

図-5:先頭部分にファイル挿入

一番上の分割ウィンドウで、ファイルの先頭部分に5GBファイルを挿入しているところです。

	先頭部分に挿入-1

ページトップ

図-6:先頭部分にファイル挿入終了

ファイル先頭部分への5GBファイルの挿入が終了したところです。最後の行数が約4千5百万行増加していることがわかります。

	先頭部分に挿入-2

ページトップ

図-7:中間部分にファイル挿入

中央の分割ウィンドウで、ファイルの中間部分に5GBファイルを挿入しているところです。

	中間部分に挿入-1

ページトップ

図-8:中間部分にファイル挿入終了

ファイル中間部分への5GBファイルの挿入が終了したところです。最後の行数が約9千万行増加していることがわかります。

	中間部分に挿入-2

ページトップ

図-9:最後部分にファイル挿入

一番下の分割ウィンドウで、ファイルの最後部分に5GBファイルを挿入しているところです。

	最後部分に挿入-1

ページトップ

図-10:最後部分にファイル挿入終了

ファイル最後部分への5GBファイルの挿入が終了したところです。

	最後部分に挿入-2

ページトップ

図-11:ファイル挿入後の最後部

最後の行数が約1億3千5百万行増加して、2,001億3千5百万行になっているのがわかります。

	最後部分に挿入-3

ページトップ

図-12:使用メモリ

タスクマネージャを上に表示して、使用しているメモリを確かめます。約30MBです。

	使用メモリ

ページトップ

ハードディスクの状況

このときのハードディスクの使用状況を、エクスプローラで表示します。

図-13:2,000億行ファイルの作成前

2,000億行ファイルを作成する前はファイルは一つもありません。

	HDD_ファイル作成前

ページトップ

図-14:2,000億行ファイルの作成後

2,000億行ファイルを作成した後です。使用しているディスクサイズは約390GBです。
フォルダ E:\Suzukawa\Work\200BL_txt_1 は、2,000億行ファイルのワークファイルフォルダです。

	HDD_ファイル作成前

ページトップ

図-15:2,000億行ファイルのワークファイルフォルダ1

ワークファイルフォルダは、E:\Suzukawa\Work\200BL_txt_1 です。
2,000億行ファイルのワークファイルフォルダ内のワークファイルです。ファイル名順に並べて、先頭部分を示しています。

	HDD_ファイル作成前

ページトップ

図-16:2,000億行ファイルのワークファイルフォルダ2

2,000億行ファイルのワークファイルフォルダ内のワークファイルです。ファイル名順に並べて、最後部分を示しています。
中間部分には、Str17.wrk から Str105276.wrk までのワークファイルがあります。

	HDD_ファイル作成前

ページトップ


Copyright (c) 2000 - 2017 鈴木由彦(Yoshihiko Suzuki)
e-Mail:szkwjp@gmail.com
HomePage:http://www.szkwjp.com/