根据搜索结果,Spring Data Neo4j 2.0.0.RC1 相比旧版本在性能方面有显著提升,以下是具体改进内容:
1. Neo4j版本升级
Spring Data Neo4j 2.0.0.RC1 将 Neo4j 的版本从 1.5 升级到了 1.6.12。这一升级使得 Neo4j 在数据处理和查询优化方面有了显著提升,进一步提高了数据库的性能和稳定性。
2. 对象映射优化
- 对象创建优化:通过自定义
ObjectInstantiator
,Spring Data Neo4j 2.0.0.RC1 在对象创建时的性能比反射提升了约 10%。 - 属性填充优化:通过使用
MethodHandles
和字段访问,Spring Data Neo4j 2.0.0.RC1 在属性填充时的性能比反射提升了约 25%。
3. 事务批量提交
- 批量操作:新版本支持事务批量提交,将多条语句合并到一个请求中,减少请求次数,从而显著提升性能。
- 示例:在插入数据时,使用批量提交可以将性能提升 37.5% 以上。
4. 索引优化
- 创建索引:通过创建唯一性约束和索引,可以显著提升查询性能。
- 示例:在批量插入数据时,使用索引优化可以将性能提升 75% 以上。
5. 查询优化
CREATE
替代MERGE
:在明确知道节点或关系不存在的情况下,使用CREATE
替代MERGE
可以减少查询开销,进一步提升性能。
6. 其他改进
- 修复已报告问题:新版本处理了已报告的问题,修复了之前的 bug,提升了整体的使用体验。
- 简化配置和开发过程:新版本侧重于与 Spring 生态系统的无缝集成,降低了入门门槛,简化了配置和开发过程。
总体来看,Spring Data Neo4j 2.0.0.RC1 在性能方面有显著提升,特别是在对象映射、事务处理和查询优化方面。这些改进使得开发者能够更高效地处理图形数据,提高应用的性能和稳定性。
Spring Data Neo4j 2.0.0.RC1 的发布带来了许多重要的改进和新功能,以下是主要的更新内容:
1. Neo4j 和 AspectJ 升级
- Neo4j 升级:从 1.5 升级到 1.6.12,带来了数据处理和查询优化的显著提升,进一步提高了数据库的性能和稳定性。
- AspectJ 升级:AspectJ 也进行了相应的升级,以更好地支持新的功能和改进。
2. Cypher-DSL 支持
- 新增 Cypher-DSL 支持:增加了对新的 Cypher-DSL(1.5.M1)的支持,包括 QueryDSL 支持,使得查询更加灵活和强大。
- 更新 Cypher 语法:对 Cypher 查询语法进行了更新,以适应 Neo4j 1.5 的变化。
3. 映射和查询功能增强
- 结果处理 DSL 扩展:扩展了结果处理 DSL,允许更改容器类,使得结果处理更加灵活。
- 映射策略引入:引入了
MappingPolicy
概念,用于 POJO 映射模式,目前支持@Fetch
注解。 - 关系实体改进:
@RelationshipEntity
现在有了默认的关系类型属性,支持直接实例化和持久化关系实体。 - 集合支持增强:支持可变的
@RelatedToVia
集合(如Set
),并改进了对集合属性的支持。
4. 存储库功能增强
- 存储库支持增强:简化了使用注解和派生查询的存储库操作,增加了访问关系相关方法的存储库。
- 查询方法返回类型扩展:支持
List
、Set
、Collection
和Page
作为派生和注解查询方法的返回类型。
5. 示例和文档
- 新增示例:增加了 “hello-world” 和 Cypher 示例,覆盖了两种映射选项。
6. 其他改进
- 处理已报告问题:修复了之前版本中报告的问题,提升了整体的使用体验。
- 简化配置:与 Spring Boot 的集成更加紧密,简化了配置过程,使得开发者可以更轻松地使用 Spring Data Neo4j。
这些改进使得 Spring Data Neo4j 2.0.0.RC1 在性能、易用性和功能方面都有显著提升,为开发者提供了更强大的工具来构建基于图数据库的应用程序。
以下是关于Spring Data Neo4j 2.0.0.RC1版本发布的一些信息:
Spring Data团队和Neo Technology发布了Spring Data Neo4j 2.0.0.RC1,这是用于企业级NoSQL数据库Neo4j的集成库。该版本集成了来自Spring One 2011以及社区的反馈,增加了新功能并处理了一些已报告的问题。具体更新内容如下:
- 依赖更新:将Neo4j更新到1.5版本,AspectJ更新到1.6.12版本。
- Cypher-DSL支持:为新的Cypher - DSL(1.5.m1)添加了存储库支持,同时支持Querydsl。并且针对1.5版本更新了Cypher语法。
- 结果处理扩展:扩展了结果处理DSL,允许更改容器类。
- 示例添加:为两种映射选项添加了Hello - World和Cypher示例。
- 关系实体改进:
@Relationship
实体有一个备用关系类型属性,支持通过集合(如Set)使用@RelatedToVia
。关系实体现在可以直接实例化和持久化。 - 映射策略引入:为POJO映射模式引入了映射策略的概念(当前为
@Fetch
)。 - 简化Cineasts:在存储库上使用注解和派生查询简化了Cineasts。
- 关系相关方法支持:添加了用于访问关系相关方法的存储库。
- 集合属性支持改进:在派生和注解查询方法上支持List、Set、Collection、Page作为返回类型。
这是新主要版本最终发布前的最后一步,开发团队希望获得更多反馈,以提供一个优秀的GA版本。相关的项目资源包括:下载地址、参考卡、Javadocs、Spring Data Graph指导手册、变更日志以及GitHub存储库等。
Dear Spring Community,
The Spring Data Team and Neo Technology have just released the Release Candidate 1 of Spring Data Neo4j,
the integration library for Neo4j the Enterprise NOSQL database.
Integrating the feedback from the very successful SpringOne 2011 and our community we exended the previous Milestone release with new functionality and took care of reported issues.
If you’d like to get an Introduction to Spring Data Neo4j, watch out for our presentations/webinars.
Changes
Updated Neo4j to 1.5 AspectJ to 1.6.12
Added repository support for the new Cypher-DSL (1.5.M1) (with QueryDSL support)
Updated cypher syntax changes for 1.5
Extended result-handling-dsl to allow changes of container classes
Added examples for hello-worlds and cypher for both mapping options
@RelationshipEntity has an fallback relationship-type attribute
Support for (mutable) @RelatedToVia collections (like Set)
Relationship-Entities can now be directly instantiated and persisted
Introduced the concept of a MappingPolicy for the POJO mapping mode (currently @Fetch)
Simplified cineasts using annotated and derived queries on repositories
Added repository for access of relationship-related methods
Improved support for collection properties
List, Set, Collection, Page as return types on derived and annotated query methods
This is the last step before the final release of the new major version, so we’re looking for even more feedback to provide an excellent GA release of Spring Data Neo4j. Please provide it in the forum or the issue tracker.
Project resources:
Downloads | Reference Card | JavaDocs | Spring Data Graph Guide Book | Changelog | GitHub Repository
Spring Data Team和Neo Technology刚刚发布了Spring Data Neo4j的Release Candidate 1,
Neo4j企业NOSQL数据库的集成库。
结合了非常成功的SpringOne 2011和我们社区的反馈,我们将以前的Milestone版本扩展了新功能,并处理了已报告的问题。
如果您想获取Spring Data Neo4j简介,请注意我们的演示/网络研讨会。
变化
将Neo4j从1.5 AspectJ更新到1.6.12
为新的Cypher-DSL(1.5.M1)添加了存储库支持(带有QueryDSL支持)
更新了1.5的密码语法更改
扩展了result-handling-dsl以允许更改容器类
为两个映射选项添加了hello-worlds和cypher的示例
@RelationshipEntity具有后备关系类型属性
支持(可变)@RelatedToVia集合(如Set)
关系实体现在可以直接实例化并保留
介绍了POJO映射模式(当前为@Fetch)的MappingPolicy的概念
在存储库中使用带注释的和派生的查询来简化电影
添加了用于访问关系相关方法的存储库
改进了对集合属性的支持
将列表,集合,集合,页面作为派生和注释查询方法的返回类型