2

Libgdx /Nettyを使用して2DMMORPGスペースシューティングゲームを開発していますが、データに関して解決できない質問に直面しました。

  • JPAとRDBMSを使用すると、ACIDを実現し、データ管理コードを簡素化できます。
  • JDBC width Springのサポートを使用すると、速度は向上しますが、データ管理コードは複雑になります。
  • NoSQL開発の経験はありませんが、速度のメリット(これは非常に重要です)が非常に大きいため、簡単なクエリをあきらめる必要があります。

私たちは立ち往生しています私たちが決定するのを手伝ってください。

4

2 に答える 2

2

私たちは立ち往生しています私たちが決定するのを手伝ってください。

それは確かに要件に依存します。そして今、私はどう思いますか。主な目標がパフォーマンスである場合は、独自に実装することをお勧めしますORM。クエリを完全に制御できるため、主に特定の要件に合わせてすべてのクエリを最適化できます。

JPAEclipseLinkまたは別のフレームワークが間違いなく間違っているとは言いませんが、ほとんどのORMフレームワークは主にデータベースレイヤーに依存しないことを目的として指定されているため、アプリケーションはデータソースタイプに依存しませんが、適切なデータソースデザインを実装することで確実に実現できますパターンすなわちAbstractDAOFactoryMappersなど。

また、独自の主な欠点ORMは、実装に時間がかかることですが、優れた効率的で機能するプロジェクトを作成する場合は、時間がかかる必要があります。

これは多くのビューであるため、誰かがJPASpringまたはJDBCJDBC確かに速いのでJPA)を使用することをお勧めし、誰かが自分のものを好みORMます。より多くの開発者から得た経験で十分だと思います。

また、テクノロジーを使用したい場合は、知っているテクノロジーを使用してください。

于 2013-03-26T23:30:06.680 に答える
2
  1. もちろん、JPAはJDBCを使用していることに気づきます。
  2. SpringはJPAと同じくらい簡単にACIDを達成できます。あなたが言及している「スピード」のメリットはわかりません。開発スピードは?トランザクション速度?Springがデータ管理コードを複雑にするのはなぜですか?これは別の誤ったステートメントです。
  3. NoSQLにどのくらいの速度を求めていますか?発達?ランタイム?NoSQLにはACIDはありません。それがあなたにとって重要であるなら、なぜあなたはそれを考えているのですか?NoSQLは「リレーショナルではない」ことを意味します。あなたのデータはリレーショナルですか?はいの場合、なぜNoSQLを検討しているのですか?

テクノロジーについて話したり推測したりして、パフォーマンスの問題を判断することはできません。唯一の方法は、それらをベンチマークし、本当に関心のあるトランザクションの実際のデータを取得することです。

インターフェイスベースのDAOを作成し、各候補テクノロジを使用して実装し、実際の結果を測定します。これが、使用する永続化テクノロジーを決定する方法です。

どちらをよく知っていますか?NoSQLを誰も知らない場合は、使用しないでください。JPAがわからない場合は、使用しないでください。Spring JDBCテンプレートを使用すると、トランザクションを使用してカスタムSQLを記述できます。リレーショナルデータベースとSpringをすでによく知っているなら、なぜそれを使用しないのですか?

于 2013-03-26T23:32:17.580 に答える