Java 针对MMORPG的JPA vs JDBC vs NoSQL
我们正在使用Libgdx/Netty开发一款2D MMORPG太空射击游戏,我们遇到了一个无法解决的数据问题Java 针对MMORPG的JPA vs JDBC vs NoSQL,java,jpa,jdbc,nosql,rdbms,Java,Jpa,Jdbc,Nosql,Rdbms,我们正在使用Libgdx/Netty开发一款2D MMORPG太空射击游戏,我们遇到了一个无法解决的数据问题 如果我们使用JPA和RDBMS,我们可以实现ACID并简化数据管理代码 如果我们使用JDBCWidthSpring的支持,我们可以在速度上受益,但会使数据管理代码复杂化 我们在NoSQL开发方面没有经验,但是速度效益(这是至关重要的)会如此之大以至于我们应该放弃简单的查询吗 我们陷入困境,请帮助我们做出决定 我们陷入困境,请帮助我们做出决定 这当然取决于需求。现在我想。如果主要目标是
- 如果我们使用JPA和RDBMS,我们可以实现ACID并简化数据管理代码
- 如果我们使用JDBCWidthSpring的支持,我们可以在速度上受益,但会使数据管理代码复杂化
- 我们在NoSQL开发方面没有经验,但是速度效益(这是至关重要的)会如此之大以至于我们应该放弃简单的查询吗
ORM
,因为您将获得对查询的完全控制,主要是您可以针对特定需求优化所有查询
我不是说JPA,EclipseLink
或其他框架肯定是错误的,但大多数ORM
框架主要是为了实现独立于数据库层的目标,所以应用程序独立于数据源类型,但可以肯定的是,您可以通过实现适当的数据源设计模式来实现它,即。AbstractDAOFactory
,Mappers
等
我还必须提到的是,ownORM
的主要缺点是实现需要很多时间,但如果您想要创建好的、高效的和可工作的项目,它必须需要一些时间
因为有很多视图,有人建议您使用JPA
、Spring
或JDBC
(其中JDBC
肯定比JPA
更快),有人更喜欢自己的ORM
。我认为从更多开发者那里获得的经验应该足够了
如果你想使用技术,就使用你知道的技术
我们陷入困境,请帮助我们做出决定
这当然取决于需求。现在我想。如果主要目标是性能,我建议您实现自己的ORM
,因为您将获得对查询的完全控制,主要是您可以针对特定需求优化所有查询
我不是说JPA,EclipseLink
或其他框架肯定是错误的,但大多数ORM
框架主要是为了实现独立于数据库层的目标,所以应用程序独立于数据源类型,但可以肯定的是,您可以通过实现适当的数据源设计模式来实现它,即。AbstractDAOFactory
,Mappers
等
我还必须提到的是,ownORM
的主要缺点是实现需要很多时间,但如果您想要创建好的、高效的和可工作的项目,它必须需要一些时间
因为有很多视图,有人建议您使用JPA
、Spring
或JDBC
(其中JDBC
肯定比JPA
更快),有人更喜欢自己的ORM
。我认为从更多开发者那里获得的经验应该足够了
如果你想使用技术,就使用你知道的技术
你最了解哪一个?如果没有人知道NoSQL,就不要使用它。如果你不知道JPA,不要使用它。SpringJDBC模板允许您编写带有事务的自定义SQL。如果您已经熟悉关系数据库和Spring,为什么不直接使用它呢?您的目标是获得最佳性能吗?或者你能有一个平衡的方法来方便维护和学习曲线吗?性能在某一点上肯定会变得至关重要,很多玩家发送很多数据,很多更新,很多插入,很多选择,实际上太多了。但是最频繁执行的查询的部分远比整体小,你想把JPA和NoSQL结合起来吗?你的目标是拥有maxi吗