`
阅读更多

DB4O 断断续续试用了也有一年,从最初的java版本 到现在的.net版本。。当初被吸引的是: real-time performance。。网站的case study 甚至包括 中国电信之类的案例(1秒钟可以支撑100万条查询)  西班牙的地铁公司的系统 一秒钟可以处理20万个复杂对象。

 

  但是我的试用结果觉得并不是一回事。 在我的开发pc上,按照insert来说 最快也不过 1秒1万条左右。而且随着文件size增大而逐渐变慢。

 

   查询的话如果没有索引 就是遍历,速度很是一般。如果有索引 会快很多。最令人奇怪的是当做完操作 进行 close 操作,close的调用会很慢。 我试过 如果光是查询 大约 46 ms可以返回结果。但是close本身要占用50 ms 或者更久。加起来

 

等于一条查询 要超过100 ms.。。这是个很奇怪的事情。翻了google一遍都没有找到有效的答案。看来要做只能看源码了。

 

 

   和 sqlite比较起来 并没有太大的优势。特别是对于大数据量的处理。 如果数据量能维持在1万-3万左右,那么db4o的性能还是不错的。。超过的话就要看硬件如何了。。

 

  看中国电信的case study..他们中间有超过100多台刀片运行db4o...

 

   db4o资料甚少。论坛上的帮助也不大。仅有的几个帖子都是在问 db4o为什么性能这么低下,查个东西要十几秒。。和官方的评测,db4o要甩开对手好几条街  完全是两回事。 说实话我现在也很疑惑,不知道他们是怎么tuning的。

 

 

几个经验:

1: 最高效的查询是直接使用 query操作。 使用原始的操作树的方式去查询。。其他的 native query, linq都不行,至少会慢 20%。

2: java的版本 比 .net 在性能上要稍微好些

 

3: 增加索引对查询有显著的提升。

分享到:
评论

相关推荐

    db4o使用指南

    db4o 的数据库文件后缀名是“*.yap”,与传统的 RDBMS 一样, db4o 也有自己的数据库文件结构。 五、db4o 主要包结构 db4o 的主要包结构包括 com.db4o、com.db4o.ext 和 com.db4o.config 等包。 com.db4o 包含了...

    Db4o的简单操作项目

    Db4o,全称为“Database for Objects”,是一个开源的对象数据库管理系统,主要应用于Java和.NET平台。这个项目专注于提供一种简单的方式来存储和检索Java对象,无需SQL或其他中间映射层。在“Db4o的简单操作项目”...

    db4o8.0以及db4o中文指南

    **db4o 8.0 详解及中文指南** db4o(Database for Objects)是一款开源的对象数据库系统,它允许开发者直接将Java或.NET对象存储到数据库中,无需进行ORM(对象关系映射)。db4o的目标是简化数据管理,提供更接近...

    db4o-8.0-java

    **db4o(Database for Objects)** 是一个开源的对象数据库管理系统(Object-Relational Mapping,ORM),它允许开发者直接在Java或.NET平台上存储和检索Java对象或.NET对象,无需进行SQL查询或者映射过程。db4o的...

    db4o-7.12-tutorial

    ### db4o-7.12 教程详解 #### 一、db4o简介与安装 db4o是一款开源的对象数据库系统,支持Java、.NET 和 Mono等平台。本教程旨在帮助用户快速掌握db4o的基本用法,并提供丰富的资源以支持开发者深入学习。 在开始...

    db4o .net3.5

    - **透明性**:db4o的透明持久化意味着对象可以像在内存中一样直接存取,无需编写额外的持久化代码或映射层。 - **查询语言**:db4o提供了ObjectQuery,一种基于对象的查询语言,允许以面向对象的方式进行查询。 -...

    db4o开发指南和各种实例

    **db4o 开发指南与实例详解** **一、db4o 简介** db4o(Database for Objects)是一款开源的对象关系数据库管理系统(Object-Relational Mapping, ORM),它允许开发者直接将Java对象存储到数据库中,无需编写SQL...

    对象数据库db4o对象数据库db4o

    **对象数据库db4o详解** 对象数据库是一种新型的数据库管理系统,与传统的关系型数据库不同,它直接存储和管理对象,而不是将对象转换为表格形式的数据。db4o(database for objects)是对象数据库的一种,它提供了...

    db4o 权威指南

    《db4o 权威指南》是一本深入探讨db4o这一开源面向对象数据库系统的专业书籍,对于Java开发者来说尤其有价值。db4o是Database for Objects的缩写,它允许开发者以自然、直观的方式存储和检索Java对象,无需编写SQL...

    非常好的Db4o资料,适合想研究Db4o的同学

    Db4o,全称为“Database for Objects”,是一个开源的对象数据库系统,专为.NET和Java平台设计。它允许开发者直接在对象上进行数据操作,而无需传统的ORM(对象关系映射)层,简化了数据存储和检索的过程。这个...

    DB4O笔记+常用JAR包

    DB4O,全称为“Database for Objects”,是一个开源的对象数据库管理系统(ODBMS),它允许开发者直接将Java或.NET对象持久化到磁盘上,而无需使用传统的关系型数据库中的SQL语句。DB4O提供了简单、高效且灵活的数据...

    db4o中文指南

    【db4o中文指南】 db4o是一个专为Java和.NET开发者设计的开源、轻量级的纯面向对象数据库引擎,提供了一种简单易用的方式来实现对象持久化。这款数据库引擎已被验证具备优秀的性能,根据描述中的基准测试,db4o在与...

    DB4O管理工具

    DB4O(Database for Objects)是一款开源的对象数据库管理系统(Object-Relational Mapping,ORM),它允许开发者将Java或.NET对象直接存储到磁盘上,无需转换为传统的表和列的结构。DB4O的设计理念是简化数据存储,...

    DB4O Java开发应用

    DB4O,全称为“Database for Objects”,是一个开源的对象数据库管理系统,专为Java和.NET平台设计。它允许开发者直接在数据库中存储、检索、更新和删除Java对象,无需中间的ORM(对象关系映射)层。这篇文档是DB4O ...

    Db4o (net)类库

    2. **透明性**:Db4o与应用程序的集成非常平滑,对象的存取操作就像在内存中一样简单。对象的持久化、检索和更新都在后台自动完成。 3. **查询能力**:Db4o支持Lambdas表达式和LINQ(Language Integrated Query)...

    DB4o 数据库实例

    DB4o(Database for Objects)是一款开源的对象数据库系统,它允许开发者直接将对象持久化到数据库中,无需进行额外的映射或者数据访问层(DAL)的开发。这个数据库系统设计的目标是简化对象关系映射(ORM)的过程,...

    java数据库(db4o)

    Java数据库db4o,全称为“Database for Objects”,是一款开源的对象数据库系统,专门设计用于Java和.NET平台。它提供了一种直接在对象模型上进行数据操作的方式,无需传统的ORM(对象关系映射)层,简化了开发过程...

    db4o6.4-java

    2. **透明访问**:通过db4o,开发者可以像操作普通Java对象一样存取数据库中的对象,无需编写SQL语句,大大降低了学习和使用的难度。 3. **动态查询**:db4o支持基于对象的查询方式,允许开发者通过对象实例或接口...

    db4o-5.0-tutorial-java帮助

    标题:db4o-5.0-tutorial-java帮助 描述:这份资料是关于db4o数据库的使用教程,特别针对Java开发人员。db4o是一款开源的对象数据库,支持Java、.NET以及Mono平台。该教程旨在帮助用户快速上手db4o,并在开发过程中...

Global site tag (gtag.js) - Google Analytics