问题标签 [object-oriented-database]

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 投票
2 回答
368 浏览

hosting - 我可以在 www.Seasidehosting.st 上托管 SandstoneDB 应用程序吗?

有人曾经设法让海边托管的 Web 应用程序与 SandstoneDb 合作吗?似乎他们不允许创建子目录,这对 SandstoneDb 很重要。我错了吗?

0 投票
1 回答
243 浏览

linq - Linq 和 i4o 之类的项目是否使面向对象的数据库成为关系数据库的可行替代品?

鉴于 Linq 和i4o等技术,面向对象的数据库管理系统在未来 3 到 5 年内不会成为关系数据库管理系统的可行替代方案,有什么真正的理由吗?

0 投票
2 回答
1042 浏览

.net - 从“本机”OODBMS 迁移到 ORM(实体框架/SQL Server)

不久前,我们开始开发一个新项目,该项目内部有大约 25-30 个不同的类/类型/模型,它们通过 1:n、n:m 或 n:1 关系彼此密切相关。

那时我们使用原生 .net oodbms 系统,主要是因为它允许我们做的是采用我们的对象模型并简单地在这里和那里添加一些与持久性相关的方法(-calls),我们就可以开始了。然而,随着时间的推移,我们遇到了越来越多的警告,非常糟糕、不可修复(在合理的时间范围内)的限制,迫使我们实施缓慢的解决方法,导致性能平庸,可扩展性问题即将出现,许可费用几乎增加了对我们来说是 5 倍,而我们没有任何变化(他们被大公司收购了)。

因此,我们目前开始在可扩展性/性能以及维护方面寻找长期解决方案。我们查看了其他“真正的”oodbms,并且总是遇到主要的破坏者,因此我们开始进一步研究,现在基本上正在考虑 ORM,希望这能让我们将大部分注意力集中在我们的对象上与 SQL 的争吵。

所以基本上这是我的问题:是否有人对 Microsoft 的实体框架或任何其他 .NET ORM 有任何实际经验,可以保持配置尽可能可维护,并在密切/高度相关的实体中表现良好?我们存储的数据量在任何方面都不是惊人的或广泛的(我们预计在未来 3 年内所有实体中总共有 10 万个实例)。

是否有人对 ORM 有任何想法/建议和/或从 oodbms 迁移到 rdbms 的经验?

0 投票
1 回答
11624 浏览

database-design - 面向对象数据库与对象关系数据库

我想知道面向对象的数据建模与对象关系数据建模有何不同?

是不是像把面向对象和关系数据建模的优点结合起来来实现对象关系数据建模?

干杯

0 投票
3 回答
4305 浏览

c# - C#中的多对多对象到对象关系

我正在做一个小型教育项目来锻炼 perst.net。

我们有一个很小的设计问题,就是如何最好地解决两类对象之间的关系,即参与者冠军。这是一个多对多的关系,因为参与者可以参加许多锦标赛,而锦标赛可以有多个参与者

请告知如何在 C# 中做到最好,我应该使用“类似关系数据库”的技术课程吗?

0 投票
2 回答
1486 浏览

rdbms - 主内存数据库与对象数据库

我目前正在尝试选择数据库供应商。

我只是从那里的数据库开发人员那里寻求一些个人意见。

我的问题特别针对以下人群:

1)之前使用过支持复制到磁盘(混合)的主内存数据库(MMDB)(即ExtremeDB

或者

2) 使用过Versant Object Database和/或Objectivity Database和/或Progress ObjectStore

问题确实是:如果您可以根据您的经验推荐适合我的应用程序的数据库供应商。

我的应用程序是一个商业实时(阅读:高性能)面向对象的 C++ GIS 类型的应用程序,我们需要在其中进行大量纬度/经度搜索(即给定一个区域,查找该区域内的所有匹配目标。 ..R-树索引)。

我想存储到数据库中的数据类型都被建模为对象,并且它们使用 std::list 和 std::vector,所以自然地,对象数据库似乎是有意义的。我已经阅读了足够多的文章来说服自己,传统的 RDBMS 可能不是我真正想要的

  1. 性能(用于动态长度数据(如列表/向量)的连接或多个表)
  2. 易于编程(阻抗不匹配)

不过,就性能而言,

  1. 输入数据以大约 40 MB/s 的速度输入系统。

  2. 因此,系统还将以大约每秒 350 次插入的速率插入数据库(其中每个对象从 64KB 到 128KB 不等),

  3. 数据库将始终通过多个线程进行搜索和更新。

据我了解,我在这里列出的所有对象数据库都使用缓存来存储数据库对象。ExtremeDB 声称,由于它是专为内存设计的,因此可以避免缓存逻辑等开销。通过谷歌搜索查看更多信息:主内存与 RAM 磁盘数据库:基于 Linux 的基准测试

所以..我只是有点困惑。对象数据库可以在实时系统中使用吗?它和 MMDB 一样“快”吗?

0 投票
3 回答
434 浏览

database - 关系数据库和面向对象数据库哪个更好,会被压制?

我想知道RDBMS或OODBMS是否会在不久的将来被压制?

今天我阅读了很多关于它们之间差异的文章,并且大多数文章似乎都支持 OODBMS。这是否意味着 RDBMS 将被尚未完善的 OODBMS 压制?如果不是,是什么让你这么认为?

0 投票
1 回答
362 浏览

c# - 您可以将 Lucene 用作 OODB 吗?

鉴于 Lucene 是一个强大的基于文档的搜索引擎,它可以用作简单应用程序(EG、CMS 风格的应用程序)的对象数据库吗?如果可以,您认为有什么好处和限制?

我了解 RDBMS 的作用(并且每天都在使用它们),但我想探索其他技术/想法。

例如说我的域实体是这样的:

我是否可以使用反射并将 Employee 对象的属性值存储为 Lucene 文档中的字段,并将 Employee 对象的二进制序列化版本存储到同一个 Lucene 文档中的另一个字段中?

0 投票
11 回答
681 浏览

database - 有这样的数据库吗?

背景:好的,所以我正在寻找我猜是对象数据库的东西。然而,我所看到的(当然很少)对象数据库是简单的持久层,而不是成熟的 DBMS。我不知道我正在寻找的东西是否甚至被认为是一个对象数据库,因此非常感谢任何帮助我指出正确方向的帮助。


我不想给你两页来描述我在寻找什么,所以我会用一个例子来说明我的观点。假设我有一个需要存储的“BlogPost”对象。像这样的东西,在伪代码中:

(假设Comment是它自己的类。)

现在,在关系数据库中,author将存储为指向 a 的外键User.id,并且使用单独的表将tagsandcomments存储为一对多或多对多关系来存储关系。我想要的是一个执行以下操作的数据库引擎:

  • 使用直接引用而不是使用外键来存储相关对象(authortags等),这需要额外的查找;换句话说,彼此之上的对象应该由数据库本机支持
  • 允许我在博客文章中添加评论或标签,而无需检索整个对象、更新它,然后将其放回数据库(如面向文档的数据库——CouchDB 就是一个例子)

我想我正在寻找的是一个导航数据库,但我不知道。有什么和我想的很相似的吗?如果是这样,它叫什么?(或者更好的是,给我一个实际工作的数据库。)还是我太挑剔了?


编辑:

澄清一下,我不是在寻找 ORM或抽象层或类似的东西。我正在寻找一个在内部执行此操作的实际数据库。对不起,如果我很难,但我已经搜索过,我找不到任何东西。


编辑:

此外,JVM 的某些东西会很棒,但在这一点上,我真的不在乎它运行在什么平台上。

0 投票
6 回答
8206 浏览

oop - 如何在对象数据库中设计多对多关系?

我认为是时候看看 OO 数据库了,并决定在我的下一个小项目——一个小型库中使用 db4o。

考虑以下对象:书籍、类别。

一本书可以在 0-n 个类别中,一个类别可以应用于 0-m 本书。

我的第一个想法是拥有一个诸如 BookCatecory 之类的连接对象,但经过一番谷歌搜索后,我发现这不适合“真正的 OO”。

因此,另一种方法(许多人推荐)是在两个对象中都有一个列表:Book.categories 和 Category.books。一方面处理关系:Book.addCategory 将 Category 添加到 Book.categories 并将 Book 添加到 Category.books。在一个方法调用中更改 2 个对象时如何处理提交和回滚?

你怎么认为?第二种方法具有明显的优势,但至少对我来说,第一种“感觉”是正确的(更好的规范)。