問題タブ [oodb]
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.
scheduling - gemstone でタスクをスケジュールする最良の方法は何ですか?
私のウェブサイトは宝石で運営されています。ユーザーに統計データを提供するには、定期的なタスクを実行する必要があります。これはジェムトーンでどのように達成するのが最善ですか? ジェムストーン内からですか、それともオペレーティング システムからですか? そして、トパーズは正しい道でしょうか?
google-app-engine - GAE でエンティティ構造が変更または削除された場合、既存のデータはどうなりますか?
GAE は JDO/JPA の使用を推奨しています。しかし、私は彼らのような OODB の使用について深刻な疑問を持っています。ユーザーのクラス構造に基づく JDO。また、サービスの進歩に伴い、データ構造は継続的に変更する必要があります。そう、
- data(entity) クラス プロパティが削除された場合、プロパティの既存のデータはどうなりますか?
- リファクタリングの理由でデータ (エンティティ) クラスの名前が変更された場合、JDO はそれらの名前変更をどのように認識しますか? それともすべてのデータが失われますか?
主なポイントは、「JDO/GAE/BigTable はアプリケーション レベルの構造 (クラス/属性) の変更を DB 上の既存のデータにどのように適用するか」です。
database - 大規模な Oracle Clusters 以外に NOSQL が必要な理由
Oracle は大規模なアプリケーションの処理に定評があり、クラスター環境への拡張にも柔軟に対応できます。誰もが NOSQL を必要とするのはなぜですか?
nosql dbの方がはるかに安いからですか?オブジェクト指向のデータベースと一緒にしないのはなぜですか?
android - OODB への移行を考えて、Android デバイスに大量のデータを保存する必要があります
現在、Android ベースのプロジェクトに取り組んでいます。多くの詳細には触れませんが、ソフトウェアは特注のデバイスで実行されます。ハードウェアは決して変わらず、常に同じです。それは間違いなくプラスです:)
そうは言っても、このプロジェクトでは、デバイスにデータのロードとロードを保存する必要があります-一部のテーブルでは3m行以上。SQLite は、この数の行のスキャンを問題なく処理しますが、必要なすべての関連データを取得するために複雑な結合を開始すると、問題が発生します。データベースを非正規化することを検討しましたが、データベースが使用可能な範囲外に押し出されるのではないかと懸念しています。
db4o や NeoDatis などのオブジェクト指向データベースの使用を検討しています。私たちの希望は、オブジェクトを保存することで、行レベルで関係を取り除き、それらをオブジェクトに保存できることです (OOP のように)。問題は、Android で実行および使用されているこれらの ODB のパフォーマンス関連のベンチマーク (少なくとも最近のものではない) を見つけることができなかったことです。
Android で OODB を使用したり、この大量のデータを保存してアクセスしたりした経験のある人はいますか? もしそうなら、あなたが提供できるアドバイスは大歓迎です。
- 編集
これが私たちが直面している問題の例です。これは私たちのアプリとは関係ありません (私の NDA によれば、具体的な投稿はできません) が、この例は問題をよく表しています。
ニュージャージーの高速道路を走行するすべての車両を常に監視するアプリケーションを構築しているとします。特定の車について、車のメーカーとモデル、車に乗っている人数、車に乗っている人の人口統計を追跡する必要があります。したがって、基本的には、次のようなデータになります-
車
ID | 色 | make_id | in_toll_lane | モデル ID
作る
ID | 名前
モデル
ID | 名前 | make_id
車の人
ID | 年齢 | セックス | is_driver | car_id
toll_lanes
ID | car_in_line | Ideal_cars_in_line | 理想的な居住者
このデータは頻繁に変更されます。いつでも多くの人が NJ パイクを下っていることに疑いの余地はないので、それはかなり巨大になるでしょう。
このデータを使用して、高速道路を運転している人のスナップ ショットをオンデマンドで取得できるようにする必要があります。また、運転しているすべての男性、またはターンパイクにいるすべての女性のスナップショットを撮影できる必要があります。また、年齢、性別、メーカー、モデルなどで検索できる必要があります。
ここで、車内の人数、理想的な乗員数、すでに並んでいる車の数、列に並ぶべき理想的な車の数に基づいて、各車がどの料金所レーンに入る必要があるかを把握する必要があるとします。 .
これは非常に単純な例ですが、私たちの問題をよく表しています。
-- 編集終了
前もって感謝します!
c# - SQL Server から Versant OODB に切り替えるメリット
SQL Server 2008 から Versant OODB に切り替えることで、会社 (開発者だけでなく) にどのようなメリットがありますか?
回答に役立つプロジェクトと事実に関する詳細情報 (さらに必要な場合はお知らせください):
- 非常に小規模なチームであり、OODB を使用したことはほとんどありません。
- プロジェクトは NHibernate 2 を使用します。
- 約 75% のテスト カバレッジ。
- ASP.NET MVC アプリ。
この段階では、次の点のために切り替えを正当化できませんでした (主に db4o に関連し、Versant のメインストリーム OODB には関連していません)。
- 「マネージャー」、プロファイラー、統合/移行ツールなどの束があるRDBMSの世界と比較して、ツールはかなり悪いです。
- ドキュメンテーションは、私が観察できるものから非常に基本的であり、Java と大きく混在しています。
- RDBMS と比較して、ネット上のリソースはそれほど多くありません。
- 他のデータベースへの切り替えは (RDBMS とは対照的に) 問題になる可能性があります。
- 開発者と IT チームの学習曲線。
- 追加のライセンス費用。
- 追加のメンテナンス費用;
- MSDeployment との統合なし (自動バックアップ、MSBuild、パッケージングなどを含む)。
c# - あるDB4Oセッションでオブジェクトを取得し、別のセッションに保存します(「切断されたシナリオ」)
DB4Oのクライアントセッション間でオブジェクトを使用できるようにする方法を見つけようとしています。私の理解では、クライアントセッションが閉じられると、オブジェクトはキャッシュに存在しなくなり、有効なUUIDがあるにもかかわらず、複製を挿入せずにストアを呼び出すことはできません。手動でキャッシュに再追加する方法を探しましたが、そのようなメカニズムはありません。再取得すると、現在は役に立たないオブジェクトからすべての値をコピーする必要があります。
上記のコードの段落は次のとおりです。
Eloqueraの最新バージョンは、[ID]属性またはStore(uid、object)を介して、これらのシナリオをサポートします。
何かご意見は?
java - db4o (またはその他の oodb) の階層的なネストされたデータ構造
本当に私の質問は、oodb でネストされたデータ構造を使用する場合、db の他のインスタンス内にクラスのインスタンスを配置するか、または何らかのリレーショナル マッピングが必要になるかということです。
私は 1 年ほど前から OODB (オブジェクト指向データベース) に興味を持っています。私は本質的に Web/アプリケーション開発者であり、MS T-SQL や MySQL などのリレーショナル モデルで Web サイト階層などの複雑な階層構造を表現することの複雑さとパフォーマンスの両方の点で深刻な制限があることにしばらくの間気づいていました。
簡単なJava(疑似コード)の例を提示するには:-
クラス/DB タイプ:
したがって、ページ配列 (またはベクター、コレクションなど) に同じクラスの他のインスタンスを保持できるこのクラスから始めた場合、最終的にはサイト レイアウトをそのまま持つ可能性が生じる可能性があります。
- 家
- ファースト・ホーム・チャイルド
- 1
- 2
- 3
- セカンドホームチャイルド
- サードホームチャイルド
- ファースト・ホーム・チャイルド
これを見ると、ホームアイテムのページコレクションに3 つのアイテムが格納されており、このコレクション内の最初のホーム チャイルドアイテムが独自のページコレクションにさらに 3 つのアイテムを持っていることがわかります。
この構造を DB4O (またはその他の OODB) に格納すると、データベースが大幅に拡大すると仮定すると、ホームページなどのトップ レベル オブジェクトを呼び出すと、その下にあるすべてのアイテムも返されるという点で、パフォーマンスの面で問題が発生します。 ?
この質問は非常に主観的に見えるかもしれませんが、事前にお詫び申し上げますが、リレーショナル モデルから頭を捻り出すことができないようです。コードでさらに作業します。
この段階では、誰でもこれについて明確にすることができれば、非常に高く評価されます。どんな考えでも事前に乾杯!
c# - ユーザーシステムの ASP.NET ビルドからユーザーへの参照を DB に作成するにはどうすればよいですか?
オブジェクトを OODB に保存しようとしています。これは基本的にニュース項目 (タイトル、テキスト、ポスター、および投稿日) です。
ASP.NET MembershipUser クラスからユーザー オブジェクトを問題なく取得できます。
しかし、保存しようとすると、すべてのデータがデータベースに記録されていないようです。以下は、create メソッドのコード サンプルです。
たとえば、DB からオブジェクトをロードすると、ユーザー名がありません。これは私のロード方法です:
オブジェクトの一部の変数が保存されない理由を知っている人はいますか?
db4o - db4o の名前変更 API を介してクラス名を独立させる
私はDb4oの初心者です
私が確認した限り、クラス名またはパス (パッケージ) のリファクタリングを行うと、db4o はクラスを認識しなくなり、新しい「カテゴリ」を作成します。
アプリ内のクラスのリファクタリングがデータベースに影響を与えないように、API を作成したいと考えています。次の関数を作成しました...
そして、私のクラスごとに呼び出されます。nameInDB は、クラスがどこにあるか、またはその名前に関係なく、各クラスで一定であるためです。
問題は、これが機能するかどうかわからないことと、速度の問題でこれが良いアイデアかどうかわからないことです...名前変更APIの仕組みに関するdb4oドキュメントの詳細は見つかりませんでした。何か助けはありますか?
exception - db4o 列挙セットの例外
透明なアクティベーション/永続性を備えたdb4o 8.0を使用しています... EnumSet(およびその他のもの)を含むクラスがあります。インスタンス化し、列挙値をセットに追加して保存します。DBで検索して取得し、オブジェクトをアクティブ化しようとすると、次の例外が発生します。
enumSet を db4o に格納するには、次を使用します。
何が問題なのかわかりません。何か案は?
編集:
db4o について質問する場所がわかりません。SO コミュニティは db4o についてあまり活発ではないようです。これは、db4o があまり普及していないためか、それとも「サポート」のための別の場所があるためですか?
EDIT 2:
関連するかもしれないが役に立たない versant のフォーラムの投稿を見つけました:
http://community.versant.com/Forums/tabid/98/aft/1046/Default.aspx#3370
もう一つ認識しました。java.util.EnumMap および java.util.EnumSet の組み込みサポートはありません。db4o は例外をスローします。これは、デフォルトのコンストラクターがなく、null 引数を持つすべてのコンストラクターがこれらのクラスに対して失敗するためです。Db4o.configure().objectClass("java.util.EnumMap").translate(new com.db4o.config.TSerializable()) はもちろん問題を解決します。標準のコレクション フレームワークをサポートする必要があると思います。