Windowsプログラミングについての質問です。データベースは通常インストールして使うものですが、インストールしなくてもデータに高速にアクセスできるWindowsソフトというのを検討しています。つまり、ネットブックでもUSBメモリの中に入っている実行ファイル(.exe)を開くことによってExcel等よりも高速にデータ入力、検索ができるソフトを作りたいということです。
さて、ネットブック、私が持っているのはHP Stream(Windows 10)ですが、これは64bit版WindowsのくせにRAMが2GBしか搭載されておらず、常にスワップ寸前の状態になっています。なので、上記ソフトもRAMを100MB以上消費したくないというニーズがあります。
また、USBメモリ等のFlashメモリはHDDよりも書き換え回数が少なく、頻繁にUSBメモリのファイルをライトするとUSBメモリ全体が使えなくなるという現象が発生します。なので、データベースの仕組みを実現し、かつ、RAMを使わないとなるとUSBメモリにデータを書いてやる必要があるわけですが、Flashメモリの仕組み上都合が悪くなるようなIOアクセスをしないようにライトしてやらないといけない訳です。
私の現状の案では、例えばデータベースで100MB程のデータを扱うがデータベースのファイルとしては1GBのサイズにすると考えた時に、ファイルを「バイナリ書き込み+読み込み」モードでオープンし、リードはランダムに行い、ライトはリングバッファのように書き込んでやるということを考えています。なぜかというと、OS本の中に書いてあったと思うのですが、メモリ空間という概念があり、それはRAMやキャッシュメモリの内容をうまく差し替えてやる仕組みがあるので、それを使えばファイルアクセスも均等に行うことができるのではないかと考えたためです。
このようなプログラミングのご経験をお持ちの方がいらっしゃいましたらご教示頂ければと思います。なにせUSBメモリを潰して試験するのはお金がかかるものですので...よろしくお願いいたします。

回答7件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/12/28 01:03
2017/12/28 02:12
2017/12/28 03:02