神一样的DB4O

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,即Object Data Management System,是一种开源的嵌入式对象数据库管理系统。它的核心目标是通过对象持久化简化应用程序的开发。与传统的关系型数据库不同,DB4O不需要数据与表结构进行映射,而是直接将对象进行存储和管理。这使得开发者能够以面向对象的方式直接操作数据,无需进行繁琐的SQL查询。DB4O提供了几个内置的工具,可以帮助开发者和数据库管理员监控数据库性能:查询性能监控: 可以分析哪些查询消耗的时间最多,并对其优化。对象存储状态分析。 阅读详情

相关推荐

PBR:双向反射分布函数(BRDF)介绍与Cook-Torrance模型的实现

PBR:双向反射分布函数(BRDF)介绍与Cook-Torrance模型的实现 BRDF简介 再介绍BRDF之前我们要引入渲染方程这个东西: 其中L表示辐射率,其公式为: 它表示了一个拥有辐射强度Φ的光源在单位面积A,单位立体角ω上的辐射出的总能量。 辐射率是辐射度量学上表示一个区域平面上光线总量的物理量,它受到入射光线与平面法线间的夹角θ的余弦值cosθ的影响:当直接...

小龙虾的博客 1万+

最简单C/C++数据可视化函数库MathGL配置方法

1、简介: MathGL是一个可用于C/C++数据可视化的函数库,可以对不同种类的数据进行可视化。由于MathGL本身不具有显示功能,需要配合opencv以及其他可视化工具才能够显示图形。 由于目前绝大多数的使用MathGL的教程或方法,都是对MathGL的库文件下载后进行编译,由于MathGL除需要本身外还依赖其他5个函数库,整个过程中还需要克服各个库直接的版本问题,所以对于大多数人来说,进行这些库的编译会很困难。 在此介绍一种十分简便,配置十分快捷的方式。 MathGL网址:http://mathgl.

qq_41023270的博客 9960

Zynq 双核AMP 通信

4、配置离线编译(这里不讲),配置linux的内核地址空间(0x4000_0000改为0x2000_0000),以及单核启动。CPU1设置为0x2000_0000~0x3FFF_FFFF(也可以小于0x3FFF_FFFF)如果禁用CPU1的L2 cache,在CPU1的bsp里面添加编译时候所需要的宏。3、配置工程,将vivado产生的.xsa文件复制到amp_com项目目录下。9、使用petalinux-package --boot 打包。一、vivado工程。5、编译u-boot。

y183128184的博客 1086

MathGL2.4+VS2019+Qt5 开发环境配置

--------By 九磅十五便士 1. 什么是MathGL MathGL是一个能够应用在Linux和windows下高质量显示图形的开源库,通常应用与科学绘图或大型数组(矩阵)的可视化。 同时MathGL内部也包含有诸多拟合函数,类似Matlab中的一些fitting功能。使用过程中仅需要一些样本数据点以及输入这些点的经验公式即可。但是依据...

weixin_43953829的博客 4087

【VAX 小番茄安装详细步骤】

本文详细介绍了在VS2022环境下安装Visual Assist X(番茄助手)的步骤及常见问题解决方案。主要内容包括:安装前的兼容性设置(需修改为Windows7兼容模式)、安装流程(卸载旧版本、勾选对应VS版本、替换关键dll文件)以及常见问题处理(如安装失败、工具栏图标缺失等)。文章提供了完整的下载链接和操作截图,特别强调了安装失败后的清理方法(注册表、安装目录和残余文件删除)。最后给出了安装成功后的测试运行指引。

qq_23962581的博客 1718

区域法(zonal method)重构波前

目的:实现区域法的Matlab代码 1.理论介绍 区域法波前重构即从波前探测器测得的波前斜率中恢复出波前的相位值,其分为:休晋模型(Hudgin)[90]、绍契威尔模型(Southwell)[40]和弗雷德模型(Fried)[48]。 1.1 Fried模型,对于N×N微透镜阵列构成的网格: 以3*3的子透镜为例,解释上式,对其展开 改写为矩阵形式: 记作:S=AΦ,A根据N而确定。S是波前探测器测得的斜率,Φ是重构矩阵的相位值。 1.2 而Southwel...

EyRe1的博客 8194

C++可视化库推荐

推荐几个c++可视化的库。 1.MathGL MathGL是用于在Linux和Windows下制作高质量科学图形的库;一个用于快速绘制和处理大型数据数组的库;用于在窗口和控制台模式下工作并易于嵌入其他程序的库。MathGL可以绘制各种图形。这包括: 一维(图,面积,条,步,茎,圆环,图,误差,管,标记,请参见一维图); 二维绘图(网格,冲浪,密度,连续,连续F,框,轴向,秋天,皮带,平铺,);...

缘如风的博客 2万+

深入浅出ISP:用RKISP2.x Tuner工具理解AWB、AE、HDR等核心模块的实战调参

本文深入解析RKISP2.x Tuner工具在ISP图像处理中的实战应用,重点探讨AWB、AE、HDR等核心模块的调参技巧。通过环境搭建、调试工具使用和实际案例,帮助开发者掌握如何在不同光照条件下优化图像质量,实现精准的白平衡、曝光控制和动态范围处理。

weixin_26802933的博客 487

mathGL

mathGL就是用来绘制一些统计图形的一个CPP的库, 实际上就是和gnuplot类似的一个C++的库,很适合科学计算的结果分析和统计,另外还有QT,python等支持的接口,只是在编译库的时候要加上相应的option,这个库用起来很好,减少了很多工作量,其核心调用方式就是使用一个函数指针. int mathgl_callback(mglGraph *gr) { const Polar

Coder 8664

VFIO框架源码分析(二十二)- IOMMUFD 的脏页跟踪与 Dirty Bits 读取

在虚拟化热迁移(Live Migration)的场景中,脏页追踪(Dirty Page Tracking)是最具挑战性的环节之一。它的核心任务是实时捕获设备(DMA)对内存的写操作,以便 VMM(如 QEMU)知道哪些内存页需要被重新传输到目标主机。在强耦合与粗粒度:脏页追踪是绑定在 Container 上的。这意味着,如果一个 Container 内有多个设备,哪怕只有一个设备在写内存,脏页追踪也会影响 Container 内的所有设备。软件模拟开销大。

qq_36071928的博客 1043

OpenCV函数用法之calibrateCamera

参考链接:opencv中标定函数calibrateCamera_ychl87的专栏-优快云博客 世界坐标系的三维点投影到成像坐标系中的二维点的投影公式如下: 其中(X,Y,Z)为世界坐标系中的三维点; (u,v)为成像面坐标系中的二维点; A为相机的内参数矩阵:(cx,cy)为主光轴点,一般为图像的中心;fx和fy为焦距; [R|t]为相机的外参数矩阵:R为旋转矩阵,t为位移矩阵; 上述公式的简单推理过程如下 考虑到镜头畸变 其中,k1,k2,k3,k4,k5和k6为径向畸变,p1和.

tiger&sheep的博客 3万+

直接保存对象的数据库——db4o

在实际开发中,数据的存储是必不可少的,常用的有数据库存储和文件存储。数据库目前有关系型数据库和文档型数据库(No-SQL)。关系型数据库以字段、类型、约束、表关系来存储和管理数据,比较常见的比如Oracle、MySql等都属于RDBMS,文档型数据库是一种可分布式的文档结构数据库,没有关系型数据库中传统意义上的表,比较常见的比如MongoDB、CouchDB等。 今天主要介绍下,在java开发中

Ryan's zone 8593

IPCP(IP Control Protocol,IP控制协议)

IPCP(IP Control Protocol,IP控制协议)

天赐好车的博客 754

db4o的使用

from:http://www.ibm.com/developerworks/cn/java/j-lo-db4o2/index.html 前言 在 db4o 之旅 系列文章的第一部分:初识 db4o 中,作者介绍了 db4o 的历史和现状,应用领域,以及和 ORM 等的比较。在这篇文章中,作者将会介绍 db4o 的安装、启动以及三种不同的查询方式:QBE(Query by Ex

慢慢长大--铭镛 6681

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

AI Meets Database: AI4DB and DB4AI

数据库和人工智能可以相互受益。一方面,人工智能可以使数据库更加智能(AI4DB)。例如,传统的经验数据库优化技术(例如,成本估算、连接顺序选择、旋钮调整、索引和视图顾问)无法满足大规模数据库实例、各种应用程序和多样化用户的高性能要求,尤其是在云上。幸运的是,基于学习的技术可以缓解这个问题。另一方面,数据库技术可以优化人工智能模型(DB4AI)。例如,人工智能很难部署,因为它需要开发人员编写复杂的代码和训练复杂的模型。数据库技术可用于降低使用人工智能模型的复杂性,加速人工智能算法,并在数据库内提供人工智能能力

Syntactic Sugar 3560

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Db4o数据库:快速入门

偶遇Db4o,非常有感觉,就推荐给大家吧。它是一种开源对象数据库。百分之百的面对对象,操作数据库就像操作对象一样简单快速。它有Java和.Net两个版本,在其官网可下载安装包及源代码。以.Net版本为例,给大家介绍Db4o的使用。 安装完成后,在omn文件夹下,有一个Visual Studio的插件(ObjectManagerEnterprise),利用它可以像其他数据库工具一样,可以快速访问对

孙飞的博客 4874

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

开源面向对象数据库 db4o 之旅

 第 1 部分: 初识 db4o前言 业界对持久存储领域的追求从未停止过,为了更方便、更容易地用对象表达我们的思维,开源领域和商业领域都涌现了许多新技术, ORM 的出现恰恰说明了这点。最近一年,业界也在反思,到底 ORM 给我们带来的是便利还是麻烦。矛头指向大名鼎鼎的 Hibernate ,纷纷议论其性能问题,大家似乎要达成这样的共识:“在业务逻辑复杂的地方用 SP ,而一般的 CRUD

leagle 2417

DB4O面相对象的数据库

前些日子,一直忙着Android项目,于是,接触到了SQLite数据库的操作。 对于有过SQLite数据库开发经验的人来说,习惯了Hibernate,再重新写繁重的JDBC操作过程,无异于是一件痛苦的事情。 于是,在Android项目结束之后,就想着将SQLite数据库进行优化下。 对于WEB开发人员,第一个想到的是,是否已经有着Android版本的数据库框架? 无意中,在网络上看到了db

Francis-ChinaFeng 2833

对象数据库(ODBMS) db4o试用(Java version)

Author: 西门町学士Email: steve.chengyu at gmail.com我觉得我现在中了两种毒:Java和SQL。西谚有云:When you have a hammer, everything looks like a nail。只要动手写程序,头脑中不自觉地就public class...其实很多时候一两行简短的scripts就可以了,即使像在Windows上,我们也可以

Just Java IT 2457

db4o 记

阅读 http://www-128.ibm.com/developerworks/cn/java/j-lo-db4o2/ 下载地址 http://developer.db4o.com/files/folders/objectmanager_xx/default.aspx 有cn的代码-----mainpackage com;import bo.AutoInfo;import bo.

卧龙的专栏 606

开源面向对象数据库 db4o 之旅,第 1 部分: 初识 db4o

本文为 db4o 之旅 系列文章的第一篇,介绍了面向对象数据库 db4o 的基本特性,并且与传统关系型数据库以及 OR 映射技术做了比较分析,读者可以体验到 db4o 的全新的面向对象存储的理念,并且给出了性能测试数据。前言业界对持久存储领域的追求从未停止过,为了更方便、更容易地用对象表达我们的思维,开源领域和商业领域都涌现了许多新技术, ORM 的出现恰恰说明了这点。最近一年,业界也在反

|▓ Ray 685

java 读取db3 数据库_db4o(db3文件是什么数据库)

您好,db4o 几乎无法对应于现有的 Oracle、SQLServer 或 DB2!完全正确。相比之下,db4o 更适合于 MySQL 或 HSQL,这使其对于大量项目来说已经足够。更为重要的.一、Access 数据类型有些另类,而且密码太容易被攻破,性能不高,只能用在. 八、DB4O 面向对象的数据库,使用DB4O无需ORM工具就可以直接进行对象存储。支持.以下是代码片段:Book book =...

weixin_33393017的博客 1367

db4o数据库文件_繁忙的Java开发人员指南db4o,使用db4o进行数据库重构

存档日期:2019年5月13日 | 首次发布:2007年5月22日 重构Java™代码比重构关系数据库要简单得多,但是幸运的是,对象数据库的情况并非如此。 在《繁忙的Java开发人员db4o指南》的这一期中,Ted Neward向您介绍了他最喜欢的对象数据库的另一个优点:db4o将重构简化到几乎没有用处。 此内容不再被更新或维护。 全文以PDF格式“按原样”提供。 随着技术的飞速发展,...

cusi77914的博客 423

小议开源世界里的面向对象数据库db4o

  论文摘要: 面向对象数据库;db4o;开源;程序设计   论文摘要摘要:介绍了开源的,面向对象数据库db4o的优点及特性,通过c#语言展示其如何在程序设计中使用和操作。细致讲解db4o如何对数据库中的对象进行基本的加载,更新,删除操作及其三种十分重要的查询方式。    CHEN Shuai, LIU Wen-ju   (Tianjin polytechnic university , Tian

monicaxiaoy的专栏 1110

面向 Java 开发人员的 db4o 指南

 第一部分 简介和概览    早就听说数据库间的大战以关系型数据库的胜利告终。然而,这之后,编程界真的就风平浪静、一片繁荣了吗?持肯定观点的人恐怕最近都没有试过使用关系数据库来支持 Java™ 对象吧。著名作家和讲师 Ted Neward 为我们带来了这个由多个部分组成的 系列 ,深入介绍了 db4o,它是当前关系型数据库的一种面向对象的可

leagle 2378

XML数据库与db4o的简要对比

前两天,我公布了正在开发的XML数据库的一些信息,下面这个文章演示了什么是XML数据库,以及如何使用它。 XML数据库一睹为快 http://www.cnblogs.com/chenxizhang/archive/2009/08/09/1542354.html   文章发表之后,得到了很多朋友的反馈和积极参与讨论,我这里就不一一列举了。期间有多位朋友提到了另外一个开源的面向对象的数据库:db4o

陈希章@中国 840
上一篇: kyoto cabinet, swig, .net
下一篇: VS2010使用感受
mathgl
博客等级 码龄19年 1粉丝 98原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值