問題タブ [db4o]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
db4o - db4oデータベースファイルからJavaまたは.NETクラスを作成するツールはありますか?
db4oデータベースファイルがあります。このデータベースからJavaまたは.NETクラス(ソース)を生成するツールはありますか?
.net - DB4oLinqクエリ-null文字列をチェックする方法
ちょっとそこに-簡単なクエリ:
私は常にnull参照例外を受け取ります。
String.IsNullOrEmpty(o.SomeString)を使用すると、&& o.SomeString!= ""を使用した場合と同じように、クエリに約100倍の時間がかかります(これははるかに高速ですが、明らかに正しくありません)。
DB4oはオブジェクトをIsNullOrEmpty呼び出しに渡すためにオブジェクトをアクティブ化する必要があり、インデックスを使用できないためだと思います。
私の質問は、この状況でnullをチェックするためのより良い方法は何ですか?mystring!= Db4o.DBNull.Valueのようなものはありますか?
乾杯、デイブ
.net - Db40に写真を保存する方法は?
DB4o を使用して写真を保存し、次のコードを試してみました。
ボタン2をクリックするとエラーが発生します。どのような変更を加える必要がありますか?
c# - db40(.net)の大規模なコレクションの操作
カスタムキャッシュ実装のバックエンドとしてdb4oを使用したいと思います。通常、私のプログラムでは、約40,000,000個のオブジェクトをメモリにロードし、それらを同時に処理します。明らかに、これには大量のメモリが必要であり、おそらくいくつかのオブジェクト(キャッシュにないオブジェクト)をdb4oデータベースに永続化することを考えました。私の予備テストでは、db4oが私が望むよりも少し遅いことが示されています(約1,000,000個のオブジェクトが持続するのに17分かかりました)。しかし、私は最も基本的な設定を使用していました。
私はこのようなことをしていました:
このシナリオでパフォーマンスを改善する方法について誰かがアドバイスを提供できますか?
database - db4o:圧縮/縮小
db4oデータベースを縮小/圧縮する方法を知っている人はいますか?
.net - スケーラブルなフリーテキストとパラメトリック検索 (C#)
現在、最大 2 ミルのレコードで非常に高速な検索を実行する必要があるアプリケーションがあります。
検索では、さまざまな関数/計算と並べ替えに加えて、大きなフリーテキスト フィールドと、さまざまな範囲の整数/小数フィールドの両方を検索する必要があります。
現在、これは大規模な MSSQL データベースで処理されており、組み込みのフリーテキスト エンジンとレプリケーションを使用して、トランザクション テーブルから負荷を移動しています。
ただし、ご想像のとおり、このソリューションは最もスケーラブルではありません。
私は小さな Lucene ベースのドキュメント ストアを作成しましたが、一般的に結果に非常に感銘を受けており、テキスト検索の所要時間は 1/2 秒 (100,000 レコードの場合) よりも長くはありません。
難点はパラメトリック検索です。Lucene が基本的な範囲マッチングを行うことは知っていますが、もっと強力なものが必要だと感じています。
強力なクエリ機能を備えた db4o を使用して小さなテスト データベースを作成しましたが、これらのクエリは非常に遅く、わずか 10 万レコードで 15 秒以上かかります。SQL ではフリーテキストとパラメトリック検索に約 1.5 秒かかります。
また、私たちのデータベースは 10 分未満の更新解像度を持つ必要があり、レコードの約 15% が毎日変更されます。私たちの SQL サーバーは現在これを処理していますが、きしみ始めています。
適切な技術とアプローチに関するガイダンスをいただければ幸いです。
乾杯、デイブ
c# - オブジェクトを格納するときに EF4 Code First が非常に遅いのはなぜですか?
私は現在、自分の Web アプリケーション用のストレージである db4o の使用法について調査を行っています。db4o がいかに簡単に機能するか、非常に満足しています。したがって、Code First のアプローチについて読んだとき、私が好きだったのは、EF4 Code First を使用する方法が db4o を使用する方法と非常に似ているためです。つまり、ドメイン オブジェクト (POCO) を作成し、それらを db4o にスローし、決して振り返らないということです。
しかし、パフォーマンスを比較したところ、EF 4 は恐ろしく遅かったです。そして、私はその理由を理解できませんでした。
次のエンティティを使用します。
public class RecipePreparation { public String Name { get; set; } public String Description { get; set; } public int Rating { get; set; } public List Steps { get; set; } public List Tags { get; set; } public int ID { get; set; } }
パフォーマンスをテストするために、レシピを新しく作成し、50.000 RecipePrepations を追加します。次に、オブジェクトを次のように db4o に保存しました。
これには約 13.000 (ミリ秒) かかります
次のように、EF4を使用してSQL Server 2008(Express、ローカル)に保存します。
そして、それには200.000(ミリ秒)かかります
一体どうやって db4o は EF4/SQL よりも 15(!!!) 倍速いのでしょうか? EF4 の秘密のターボ ボタンがありませんか? db4o を高速化できるとさえ思いますか? データベース ファイルを初期化しないので、動的に拡張するだけです。
scala - db4oユーザーモデルでリフト
あなたがLift+db4oプロジェクトを持っているとしましょう...ユーザーモデルをどのように定義しますか?MetaMegaProtoUserを拡張する必要がありますか?
よろしくお願いします、エタム。
c# - db4o フィールドは索引付けされていますが、クエリでは使用されていません
フィールドとして Guid を持つ単純なオブジェクトがありpublic Guid _id
、このフィールドにはインデックスが付けられています。
ObjectManager Enterprise でデータベース ファイルを開くと、フィールドがインデックス化されていることがわかります。
しかし、私のクエリは非常に遅いです。5までかかります!! 数秒後、データベースには約 50 個のオブジェクトしかありません。
クエリは次のとおりです。
ネイティブ クエリと SODA クエリの両方が低速です。
追加すると
「クエリを実行するフィールドのインデックス作成を検討してください」と書かれています。
および: 「クエリ候補セットをフィールド インデックスから読み込めませんでした」
Compactframework 2.0 に db4o 7.12.132.14217 を使用しています
編集:
Die Guid フィールドを持つクラス:
ここに完全な設定があります
次のようにデータベースを作成/開きます。
c# - ASP.NET MVC アプリで db4o データベースを開こうとすると、この DatabaseFileLockedException の原因は何ですか?
db4o をデータストアとして使用して、ASP.NET MVC 2 で小さな Web アプリケーションを構築しています。
ここの例のように HttpModule を追加して、アプリケーションが db4o データベースにアクセスできるようにしました。VS2008 ASP.NET 開発サーバーの下の私の開発マシンでは、すべてが完全に機能しています。
ただし、アプリを Web ホストにデプロイしてアクセスしようとするとDatabaseFileLockedException
、HttpModule がデータベース ファイルを開こうとする行でエラーが発生します。ただし、ファイルにアクセスするものは何もないはずです。実際、アプリの最初の実行では、この例外がスローされたときにのみ作成されます。
Web ホストのサーバーは Windows Server 2008 で IIS 7 を実行しており、アプリケーションは完全信頼で実行されています。それが違いを生む場合に備えて、それはサブアプリケーションです。
このエラーがライブサーバーで発生しているのに、開発サーバーではローカルに発生していない理由がわかりません。誰かが私を助けたり、次に何をすべきかを提案したりできますか?