私が(になることができるもの)のデータの合理的に大量に保存する必要があるデスクトップJavaアプリケーションを作成しています。私は当初自分自身のフォーマットを考えました:このデータを保存する最良の方法は何ですか?
id;name;value,value,value...
id;name;value,value,value...
無作為に読み書きできます。私の最初の考えはRandomAccessFileを使うことでした。しかし、任意の位置に挿入すると、データが上書きされるという問題が発生しました。など、それを復元し、一時的に格納し、一緒に既存のデータをシフトする方法を使用して
は、私はそれが高価になるので、かなり頻繁に書き込み/読み込みするつもりは特にため、悪い解決策のように思えます。私はこれがJava自体ではなく、根底にあるOSの限界だと読んだ。きれいに頻繁にアクセスして書き込むため、このようなデータを格納するための最良の方法だろう何
? SQLiteを使用して私の心を越えた。また、ID /名前ごとに1つのファイルを作成することも考えました。データ値はそれぞれ最後に付加されるだけなので、上書きされることはありません。
これは、データベースがために作られたものです。ファイルの読み込み/書き込みを処理しようとするのは非常に遅く、ファイルを検索する必要がある場合は、パフォーマンスが大幅に向上します。これらをデータベースに格納すると、ID /名前でアクセスでき、ファイルへのアクセスを心配する必要はありません。 – jzworkman
「かなり頻繁に」を定義します。どのようにデータを検索する必要がありますか?など)意味のあるアドバイスを提供することは困難です。この時点では、ファイルよりもキー/バリューDBのように見えます。 –