什么是使用Java ORM MongoDB的,或者它的更好,我们走在基本驱动程序级别读取或写入的开销?
我们将增加蒙戈DB对我们的要求之一。
有几个Java的ORM映射工具的Java
-morphia
-spring数据
- 其他
吗啡最后一个版本发布一年多前
但春天的数据保持积极。 其中,如果我现在将要开始一个应该被使用,
什么是使用Java ORM MongoDB的,或者它的更好,我们走在基本驱动程序级别读取或写入的开销?
我们将增加蒙戈DB对我们的要求之一。
有几个Java的ORM映射工具的Java
-morphia
-spring数据
- 其他
吗啡最后一个版本发布一年多前
但春天的数据保持积极。 其中,如果我现在将要开始一个应该被使用,
使用ORM降低性能,但其加快发展。 这便在这里交易。
对于ORM工具,吗啡是最稳定的一个。 在这里 ,你可以找到他们的表现吗啡与基本蒙戈驱动程序之间的比较。
吗啡似乎是最合适的,因为它有最多的功能,并有活跃的社区。 请参阅此链接比较: 如何MongoDB的吗啡,Mongo4j和Spring数据进行比较?
还有相当多的事情就是在这里提到一般。 未来与基准那是相当的难,你不能真正测试性能,而无需测试您的MongoDB安装为好。 因此,人们几乎可以可以调整和调整那些环境提供的结果通缉。
除此之外,你有读写性能来区分。 尤其是写操作都在很大程度上受到影响WriteConcern
使用。 因此,什么可能是50%的开销WriteConcern.NONE
方案可以很容易地向下转向不足5%,其中WriteConcern.SAFE
。
是的,肯定是在任何ODM执行作为对象的开销< - > DBObject
映射具有以检查对象获取,并且通常经由反射设定的值。 因此,一个关键的一点恕我直言是,你可能要为性能的关键对象的自定义手动编码转换器堵塞的能力。 春天的数据简单地注册一个自定义EntityInstantiator
,做new Person(…)
而不是让默认的做它的魔力反射给出了性能巨大的推动作用。
Spring的数据团队有一个积累成立了OTS MongoDB实例的针对不同写入构建加权性能WriteConcern
S,并通过简单的驱动程序,读取MongoTemplate
和库抽象。 这些数字与一粒盐被视为他们有时会显示存储库中读取数据比有 ,因为它几乎是在模板之上的一层被通过某种手段基础设施的影响模板速度较快,但并没有真正的添加任何缓存。