2009-07-02 15 views
1

DBfDotNetを使用してセンサーデータを保存する方法を検討してきました。 私は何を話しているのか分からない人のために、それはC#で書かれたデータベースエンジンです。codeplexまたはこの非常に良いcodeprojectの記事をチェックしてください。 codeprojectアーティクルのタイミングのために比較されるデータベースはsqliteです。単純なファイルデータベースにはどのような問題がありますか?

私が行ったテストから、私が試した他の組み込みデータベースよりも大幅に高速です。それは基本的にオブジェクトデータベースなので、日付を保存するだけでADO.NET、ORM、SQLなどの恐ろしいことを心配する必要はありません!ファイルで500K行、のようなクエリで

IEnumerable<People> result = peoples.Where<People>(x => x.dob < DateTime.Now.AddYears(-30) 
                && x.dob > DateTime.Now.AddYears(-10) 
                && x.name.StartsWith("Ca") 
               ); 

は約5秒かかりました。

このようなデータベースを使用すると、どのような短所がありますか?

1つの問題は、データベースファイルの列が固定幅であるため、データが変更された場合、スペースが無駄になることです。私が保存しようとしているデータは、とにかく固定された幅なので、これは私にとって問題ではありません。

スレッドセーフではありません。これは私にとっては問題ではありませんが、これはオプションのラッパーとしていつでも追加できます。

また、ACIDから遠く、書き込み中にエラーが発生すると、いくつかの問題が発生する可能性があります。

答えて

1

機能的な質問になることなく、サポートを検討してください。プロジェクトに十分な開発者がいて、プロジェクトのユーザーがバグをすばやく修正できるようにするには?

別の言い方をすると、このエンジンの不具合によってすべてのデータが失われた場合、開発の時間が節約できますか?

また、データファイルを使用してバックアップすることができますか、またはバックアップ中にセンサデータをバッファするメカニズムが必要ですか?

+0

私はサポートが私が持っている主な問題だと思います。ほとんどの問題を修正するのに良い気分になれるように感じ、私はすべてのソースを読みました。しかし、私が書いたものとはまったく違って、私は実際に6ヶ月間ダウンしたいと思っていますし、データベースが開かれていないことを私に伝えるコールを持っています! – Tim

関連する問題