私は自分自身のストレージ エンジンを作るのをいじっています。それは主に自分自身の教育のためです。
これまでのところ、メモリ マップされたファイルを使用した非常に優れた作業ソリューションがありますが、何かが気になり、後でこれに少し触れたくありません。私は基本的にファイル全体のビューをマッピングしており、ファイルのサイズを変更する必要がある場合にのみ新しいビューを作成しています。このアプローチには1つの明らかな欠点があることを知っています.今のところ最大サイズですが、それで十分です.ギガバイトを超えるデータを保存するつもりはありません.
しかし、他の考慮事項はありますか?この 1 つの大きなマッピングは、OS のメモリ管理ルーチンとどのように相互作用するのでしょうか。長期的にはどうでしょうか。このアプローチを使用すると、パフォーマンスと断片化の問題が発生する可能性がありますか?
必要なファイルの領域に小さなビューを使用すると、作成できるデータベースのサイズの制限が確実に取り除かれますが、それは、ストレージ エンジンで実行する必要がある管理の余分なレイヤーです。できる。
私は氷山のてっぺんをかじったにすぎません。もし誰かが私のレーダーになってくれるなら、致命的な衝突を確実に回避できるでしょう!