问题标签 [oodb]
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.
scheduling - 在 gemstone 中安排任务的最佳方法是什么?
我的网站在宝石上运行。为了向用户提供统计数据,我需要运行定期任务。这是如何在 gemmtone 中达到最佳效果的?来自宝石内部还是来自操作系统?黄玉是正确的选择吗?
google-app-engine - 如果在 GAE 上修改或删除实体结构,现有数据将如何?
GAE 建议使用 JDO/JPA。但我对像他们一样使用 OODB 有一个严重的问题。JDO 基于用户的类结构。并且数据结构应该随着服务的进步而不断地修改。所以,
- 如果删除数据(实体)类属性,该属性上的现有数据会发生什么情况?
- 如果由于重构原因重命名了数据(实体)类,JDO 如何知道这些重命名?还是所有数据丢失?
重点是“JDO/GAE/BigTable 如何将应用程序级结构(类/属性)的修改应用到数据库上的现有数据中?”。
database - 为什么每个人都想要 NOSQL 而不是大型 Oracle 集群?
oracle 在处理大型应用程序方面享有盛誉,并且可以灵活地扩展到集群环境。为什么每个人都想要 NOSQL?
因为nosql db便宜得多?为什么不切换面向对象的数据库?
android - 需要在 Android 设备上存储大量数据,考虑使用 OODB
我目前正在开发一个基于 Android 的项目。在不涉及许多细节的情况下,该软件将在定制的设备上运行。硬件永远不会改变,永远都是一样的。这是一个明确的优势:)
话虽如此,该项目要求我们在设备上存储负载和数据负载 - 在某些表中超过 3m 行。SQLite 对我们来说很好地处理了这么多行的扫描,当我们开始进行复杂的连接以带回我们需要的所有相关数据时,问题就出现了。我们已经考虑过对数据库进行非规范化,但担心这会将数据库推到可用范围之外。
我们正在研究使用面向对象的数据库,例如 db4o 或 NeoDatis。我们希望通过存储对象,我们可以摆脱行级别的关系并将它们存储在对象上(就像 OOP 一样)。问题是我们无法找到这些 ODB 在 Android 上运行和使用的任何与性能相关的基准(至少不是最近的)。
是否有人对 Android 上的 OODB 和/或存储和访问大量数据有任何经验?如果是这样,您可以提供的任何建议将不胜感激。
- 编辑
这是我们面临的问题的一个例子。它与我们的应用程序无关(我的保密协议说我不能发布任何具体内容),但这个例子很好地代表了这个问题。
想象一下,我们正在构建一个应用程序来监控在任何给定时间在新泽西收费公路上行驶的每一辆车。对于任何给定的汽车,我们需要跟踪汽车的品牌和型号、车内有多少人以及车内人员的人口统计数据。所以基本上你最终得到的数据看起来像 -
车
编号 | 颜色 | make_id | in_toll_lane | model_id
制作
编号 | 姓名
模型
编号 | 姓名 | make_id
car_person
编号 | 年龄 | 性别 | is_driver | car_id
收费车道
编号 | car_in_line | 理想的汽车线 | 理想的住户
这些数据会经常变化。它也将变得相当庞大,因为毫无疑问,在任何特定时间都有很多人沿着 NJ Pike 行驶。
有了这些数据,我们需要能够根据需要对任何在长矛上行驶的人进行快照。我们还需要能够拍摄所有正在开车的男性或收费公路上的所有女性的快照。我们还需要能够按年龄、性别、品牌、型号等进行搜索。
现在想象一下,我们需要根据车内人数、理想乘员人数、已经排队的汽车数量以及应该排队的理想汽车数量来确定每辆车应该进入哪个收费车道.
这是一个非常简单的例子,虽然很能代表我们的问题。
-- 结束编辑
提前致谢!
c# - 从 SQL Server 切换到 Versant OODB 的好处
从 SQL Server 2008 切换到 Versant OODB 对公司(不仅对开发人员)有什么好处(如果有的话)?
有关项目和事实的更多信息以帮助回答(如果您需要更多信息,请告诉我):
- 非常小的团队,几乎从不使用 OODB。
- 项目使用 NHibernate 2。
- 大约 75% 的测试覆盖率。
- ASP.NET MVC 应用程序。
在这个阶段,由于以下几点(与 db4o 相关,而不是 Versant 主流 OODB),我无法证明切换的合理性:
- 与有一堆“经理”、分析器、集成/迁移工具等的 RDBMS 世界相比,工具非常糟糕;
- 根据我的观察,文档非常基本,并且与 Java 大量混合;
- 与 RDBMS 相比,网络上没有那么多资源;
- 切换到其他数据库可能会出现问题(与 RDBMS 不同);
- 开发人员和 IT 团队的学习曲线;
- 额外的许可费用;
- 额外的维护费用;
- 没有与 MSDeployment 集成(包括自动备份、MSBuild、打包等);
c# - 在一个 DB4O 会话中检索一个对象,存储在另一个中(“断开连接的场景”)
我试图弄清楚如何在 DB4O 中的客户端会话之间保持对象可用。据我了解,一旦客户端会话关闭,该对象就不再驻留在任何缓存中,尽管我有一个有效的 UUID,但我无法在它上面调用 Store 而不导致插入重复项。我搜索了一种手动将其重新添加到缓存中的方法,但没有这种机制。重新检索它将迫使我从现在无用的对象中复制所有值。
这是上面的代码段:
最新版本的 Eloquera 通过 [ID] 属性或通过 Store(uid, object) 支持这些场景。
有什么想法吗?
java - db4o(或任何其他 oodb)中的分层嵌套数据结构
真的我的问题是,如果我要在 oodb 中使用嵌套数据结构,我会将类的实例放在数据库中的其他实例中,还是需要某种关系映射。
我对 OODB(面向对象的数据库)感兴趣已经有一年左右的时间了。我本质上是一名网络/应用程序开发人员,一段时间以来,我一直注意到在表示复杂层次结构(如 MS T-SQL 和 MySQL 等关系模型中的网站层次结构)的复杂性和性能方面存在严重限制。
提供一个快速的 java(伪代码)示例:-
类/数据库类型:
因此,如果我们从此类开始,它将能够在 pages 数组(或向量,或集合或其他任何东西)中保存同一类的其他实例,我们最终可能会拥有这样的站点布局:-
- 家
- 第一个家庭孩子
- 1
- 2
- 3
- 第二个家的孩子
- 第三个家的孩子
- 第一个家庭孩子
看看这个,我们可以看到Home项目将有 3 个项目存储在它的pages集合中,而这个集合中的第一个 Home Child项目在它自己的pages集合中还有另外 3 个项目。
如果我们将这个结构存储在 DB4O(或任何其他 OODB)中,这会在性能方面出现问题,因为任何对顶级对象(例如主页)的调用也会返回它们下面的所有项目,假设数据库显着增长?
这个问题可能看起来很主观,为此我提前道歉,但我似乎无法摆脱关系模型,所以在我进入之前甚至试图规划任何类型的数据模型时都遇到了真正的问题进一步的代码工作。
在这个阶段,任何人都可以阐明这一点,我们将不胜感激!提前为任何想法干杯!
c# - 如何在我的数据库中创建对用户系统中 ASP.NET 构建的用户的引用?
我正在尝试在我的 OODB 中保存一个对象,它基本上是一个新闻项目(标题、一些文本、海报和发布日期)。
从 ASP.NET MembershipUser 类中检索用户对象没有问题。
但是当我尝试保存时,似乎并非所有数据都记录在我的数据库中。下面是创建方法代码示例:
例如,当我从数据库加载对象时,它缺少用户名。这是我的加载方法:
有人知道为什么对象的某些变量没有保存吗?
db4o - 通过 db4o 重命名 api 使类名独立
我是 Db4o 的新手
据我检查,当我重构类名或路径(包)时,db4o 不再识别该类并创建一个新的“类别”。
我想制作一个 API,这样我的应用程序中的任何类重构都不会影响数据库。我创建了以下功能...
并让它为我的每一堂课打电话。由于 nameInDB 对于每个类都是常量,无论该类位于何处或它的名称如何。
问题是我不确定这是否可行,而且我不知道这在速度方面是否是一个好主意......我没有找到关于重命名 API 如何工作的 db4o 文档的任何详细信息。有什么帮助吗?
exception - db4o 枚举集异常
我正在使用具有透明激活/持久性的 db4o 8.0 ......我有一个包含 EnumSet (和其他东西)的类。我实例化,将枚举值添加到集合和存储中。当我在 DB 中搜索时,获取它并尝试激活我得到这个异常的对象:
要将 enumSet 存储到 db4o 中,我使用:
我无法弄清楚问题是什么。有任何想法吗?
编辑:
我不知道在哪里可以询问有关 db4o 的问题。SO 社区似乎对 db4o 不太活跃。这是因为 db4o 不是很受欢迎还是有其他地方可以“支持”?
编辑 2:
我在 versant 的论坛上发现该帖子可能相关但无济于事:http:
//community.versant.com/Forums/tabid/98/aft/1046/Default.aspx#3370
我又认出了一件事。没有对 java.util.EnumMap 和 java.util.EnumSet 的内置支持,db4o 将抛出异常,因为没有默认构造函数,并且所有带空参数的构造函数对于这些类都将失败。Db4o.configure().objectClass("java.util.EnumMap").translate(new com.db4o.config.TSerializable()) 当然会解决这个问题。我认为应该支持标准的集合框架。