问题标签 [db4o]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
182 浏览

db4o - 是否有可以从 db4o 数据库文件创建 Java 或 .NET 类的工具?

我有一个 db4o 数据库文件。是否有可以从该数据库生成 Java 或 .NET 类(源)的工具?

0 投票
1 回答
475 浏览

.net - DB4o Linq 查询 - 如何检查空字符串

嘿那里 - 简单的查询:

我总是得到一个空引用异常。

如果我使用 String.IsNullOrEmpty(o.SomeString) 查询需要大约 100 倍的时间,就好像我使用 && o.SomeString != "" (这更快,但显然不正确)。

我猜是因为 DB4o 需要激活对象,以便将它们传递给 IsNullOrEmpty 调用,并且不能使用索引。

我的问题是,在这种情况下检查空值的更好方法是什么?有没有类似:mystring != Db4o.DBNull.Value 之类的?

干杯,戴夫

0 投票
2 回答
1231 浏览

.net - 如何在 Db40 中存储和图片?

我想使用 DB4o 存储照片并尝试使用以下代码:

当我单击button2时它会出错。我必须做出什么改变?

0 投票
2 回答
1250 浏览

c# - 在 db40 (.net) 中处理大型集合

我想使用 db4o 作为自定义缓存实现的后端。通常,我的程序涉及将大约 40,000,000 个对象加载到内存中并同时处理它们。显然这需要大量内存,我想也许将一些对象(不在缓存中的对象)持久化到 db4o 数据库中。我的初步测试表明 db4o 比我想要的要慢一些(大约 1,000,000 个对象需要 17 分钟才能保持)。但是,我使用的是最基本的设置。

我正在做这样的事情:

任何人都可以就如何在这种情况下提高性能提供建议吗?

0 投票
1 回答
659 浏览

database - db4o:压缩/收缩

有谁知道缩小/压缩 db4o 数据库的方法?

0 投票
1 回答
438 浏览

.net - 可扩展的自由文本和参数搜索 (C#)

目前,我们有一个应用程序需要对大约 2 个工厂记录执行非常快速的搜索。

搜索需要搜索一个大的自由文本字段,以及不同范围之间的许多整数/小数字段,以及各种函数/计算和排序。

目前,我们正在使用一个大型 MSSQL 数据库来处理这个问题,使用内置的自由文本引擎和一些复制来将负载从事务表中移开。

但是 - 正如您可能已经猜到的那样,这个解决方案并不是最具可扩展性的。

我已经编写了一个基于 Lucene 的小型文档存储,并且通常对结果印象深刻,文本搜索所用的时间不会超过每秒 1/2 秒(在 10 万条记录上)。

困难的部分是参数搜索——我知道 Lucene 可以进行基本的范围匹配——但是我觉得我们需要更强大的东西。

我使用 db4o 制作了一个小测试数据库——它具有强大的查询功能,但是这些查询非常慢——仅在 100k 条记录上占用超过 15 秒——其中 SQL 大约需要 1.5 秒用于自由文本和参数搜索。

此外,我们的数据库需要有小于 10 分钟的更新分辨率,每天大约有 15% 的记录发生变化。我们的 SQL 服务器目前正在处理这个问题,但开始吱吱作响。

任何有关合适技术和方法的指导将不胜感激。

干杯,戴夫

0 投票
4 回答
1735 浏览

c# - 为什么存储对象时 EF4 Code First 这么慢?

我目前正在对我的 Web 应用程序使用 db4o 存储进行一些研究。我很高兴 db4o 的工作如此简单。因此,当我读到 Code First 方法时,我有点喜欢,因为使用 EF4 Code First 的方式与使用 db4o 非常相似:创建您的域对象 (POCO),将它们扔给 db4o,然后再也不回头。

但是当我进行性能比较时,EF 4 的速度非常慢。我不知道为什么。

我使用以下实体:

public class RecipePreparation { public String Name { get; set; } public String Description { get; set; } public int Rating { get; set; } public List Steps { get; set; } public List Tags { get; set; } public int ID { get; set; } }

为了测试性能,我新建了一个配方,并添加了 50.000 个配方准备。然后我将对象存储在 db4o 中,如下所示:

这大约需要 13.000 (ms)

我使用 EF4 将这些东西存储在 SQL Server 2008(Express,本地)中,如下所示:

这需要 200.000 (ms)

现在db4o 15(!!!) 到底是如何比EF4/SQL 快的?我是否缺少 EF4 的秘密加速按钮?我什至认为 db4o 可以做得更快?由于我没有初始化数据库文件,我只是让它动态增长。

0 投票
1 回答
194 浏览

scala - 使用 db4o 用户模型提升

假设您有一个Lift + db4o项目...您如何定义用户模型?我应该扩展MetaMegaProtoUser吗?

在此先感谢,埃塔姆。

0 投票
0 回答
621 浏览

c# - db4o 字段已编入索引,但未在查询中使用

我有一个带有 Guid 作为字段的简单对象public Guid _id,该字段被索引。

当我在 ObjectManager Enterprise 中打开数据库文件时,它显示该字段已编入索引!

但是我的查询非常慢。最多需要5个!!秒,数据库中只有大约 50 个对象。

这是查询:

本机和 SODA 查询都很慢。

当我添加一个

它说“考虑您查询的索引字段”。
并且:“无法从字段索引加载查询候选集”

我将 db4o 7.12.132.14217 用于 Compactframework 2.0

编辑:
带有指导字段的类:

这是完整的配置

我使用以下内容创建/打开数据库:

0 投票
3 回答
880 浏览

c# - 尝试在 ASP.NET MVC 应用程序中打开 db4o 数据库时导致此 DatabaseFileLockedException 的原因是什么?

我正在使用 db4o 作为数据存储,使用 ASP.NET MVC 2 构建一个小型 Web 应用程序。

我已经添加了一个 HttpModule(根据此处的示例)来让应用程序访问 db4o 数据库,并且在我的 VS2008 ASP.NET 开发服务器下的开发机器上一切正常。

但是,当我将应用程序部署到我的网络主机并尝试访问它时,我DatabaseFileLockedException在 HttpModule 尝试打开数据库文件的那一行得到一个。但是应该没有其他东西可以访问该文件;实际上,在应用程序的第一次运行时,它只会在抛出此异常时才被创建。

Web 主机的服务器在 Windows Server 2008 上运行 IIS 7,并且应用程序在完全信任下运行。它是一个子应用程序,以防万一。

我无法弄清楚为什么在实时服务器上发生此错误,但在我的开发服务器本地却没有。谁能帮助我或建议我接下来应该做什么?