问题标签 [document-based-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 投票
4 回答
2568 浏览

.net - CouchDB - .NET 或 Mono 等效技术

是否有任何使用 .NET 或 Mono 的活动“基于文档”的数据库项目?类似于 CouchDB、SimpleDB、LotusNotes 等的东西……更喜欢开源。

我认为 JScript.NET 技术可用于存储 JSON 文档的 Map 和 Reduce 函数。

0 投票
3 回答
872 浏览

content-management-system - 是否有任何基于文档数据库的 CMS?

我做了一些谷歌搜索,没有多少出现。

0 投票
2 回答
1638 浏览

mysql - 统一使用 MongoDB 和 MySQL

我的 Web 应用程序的某些部分可以很好地与 RDBMS 配合使用,例如用户和 URL 处理 - 我想规范化用户、电子邮件、主机(即 stackoverflow.com)和 url(即https://stackoverflow.com/questions /ask ),以便在一个地方更新事物会更新所有地方的事物并最大程度地减少冗余。

但是我的 web 应用程序的某些部分非常适合基于文档的数据库,比如 Mongo,因为它们有很多组件可以作为嵌入式对象更有效地工作。

将 MySQL 用于关系对象,将 Mongo 用于文档对象是否有意义,或者不必费心管理两种类型的数据库?我知道 Mongo 有参考,但我认为它并没有真正针对参考进行设计和优化。

谢谢!

PS:我读过这个:使用 MySQL 和 MongoDB 的组合,它触及了我所问的问题的边缘,但这确实是一个完全不同的问题。

0 投票
2 回答
989 浏览

data-modeling - 在像 RavenDB 这样的面向文档的数据库系统中,我将如何对分层和关系数据进行建模?

面向文档的数据库(尤其是 RavenDB)真的很吸引我,我想尝试一下它们。然而,作为一个非常习惯关系映射的人,我试图思考如何在文档数据库中正确地建模数据。

假设我的 C# 应用程序中有一个包含以下实体的 CRM(省略了不需要的属性):

我正在考虑将这一切都放在一个Company文档中,因为联系人和任务在公司之外没有目的,并且大多数时候查询任务或联系人也会显示有关关联公司的信息。

问题来自Task实体。假设业务要求任务始终与公司相关联,但也可选择与任务相关联。

在关系模型中,这很容易,因为您只有一个Tasks表并Company.Tasks与公司的所有任务相关,而Contact.Tasks只显示特定任务的任务。

为了在文档数据库中建模,我想到了以下三个想法:

  1. 将任务建模为单独的文档。这似乎是一种反文档数据库,因为大多数时候您查看公司或联系人,您将希望查看任务列表,因此必须对文档执行很多连接。

  2. 将不与联系人关联的任务保留在Company.Tasks列表中,并将与联系人关联的任务放在每个单独联系人的列表中。不幸的是,这意味着如果您想查看公司的所有任务(可能很多),您必须将公司的所有任务与每个联系人的所有任务结合起来。当您想将任务与联系人解除关联时,我还认为这很复杂,因为您必须将其从联系人移至公司

  3. 将所有任务保留在Company.Tasks列表中,每个联系人都有一个与其关联的任务的 id 值列表。Task除了必须手动获取 id 值和必须为联系人制作实体子列表之外,这似乎是一个不错的方法。

在面向文档的数据库中对这些数据建模的推荐方法是什么?

0 投票
1 回答
278 浏览

asp.net-mvc - 在 Raven 文档中保存 ID

乌鸦的新手。我有一个将数据保存到 Raven 文档的 MVC 页面。我能够按预期保存所有字段。我注意到 Id(我的项目中的表/类结构的字段/属性)为空,并且它没有保存到文档中。文档标题中有一个 Raven 系统生成的 Id(如 DocName/123 等...)。如何将 DocName/123 或 123 或其他一些自动生成的 Id 字段保存到 raven 文档中?请帮忙..谢谢

0 投票
1 回答
68 浏览

sql-server - 一种 Db 类型到另一种 - SQL

如果我有 SQL 表 tblA 和 tblB 并且它们之间有一对多的关系.. 我们可以自动创建多个 raven db 文档.. 我可以自动加载 Raven DB 中的文档...从 SQL 服务器表以任何其他方式...使用任何工具?

0 投票
1 回答
768 浏览

c# - MongoDb 与 .net 创建 POCOs id 值

我是 MongoDb 的新手,但有一个现有的应用程序,可以从使用它来存储封装数据以快速检索和更新中受益匪浅。

现在我遇到的问题是我有现有的模型,这些模型只是简单的 POCO,没有任何特定于框架的属性或依赖项,但是它们确实有一个 Id 字段,它是一个 int (有些不同,但更容易假设所有这些都是 int 在这种情况下)。现在,如果不将该对象绑定到 MongoDb(无论是围绕 id 字段的属性还是将其类型更改为 ObjectId 字段),是否有任何方法可以通过外部配置自动获取 id 字段?

如果不是世界末日,我将只创建一个映射到和来自 MongoDb 目的的域对象,就像我在 Nhibernate 中所做的那样。我宁愿不必有两个版本的相同类,只是与 Id 字段不同。在这种情况下,域将是相同的。

0 投票
1 回答
2549 浏览

nosql - Couchbase 数据建模 - 面向文档

这个问题不一定是 Couchbase 2.0 开发预览版特定的,但我认为它可能有助于人们调查新的 Couchbase 产品。

我正在寻找有关数据建模的建议。我们正在调查 Couchbase,以期可能将其用于实时分析。

但是,我找不到任何关于如何最好地为现实世界数据建模的文档。

我将提出一个场景,如果社区可以帮助我或讨论一些关于如何建模的想法,那会非常有用吗?

请注意,这不代表我们的产品,我并不是要求人们为我们解决我们的建模问题,这个问题更适合讨论

让我们假设客户在特定日期/时间购买产品,产品包含 ID、名称、描述和价格等信息,购买是在某个日期执行的。

最初的要求是能够计算两个日期之间的所有购买。任何 1 天都可能有超过 100,000 次购买 - 这是一项相当大的业务;)

如果任何语法不正确,请告诉我 - 欢迎所有建议/帮助。

如果我们像这样对数据进行建模(这可能完全不正确):

用产品购买

因此,鉴于该文档布局,我们可以看到每次购买,我们可以看到该购买中的产品 - 但是我们如何计算两个日期之间的所有购买?另外,您如何按日期降序查看两个日期之间所有购买的日志?

Is this something Couchbase is suited for?

There might be hundreds of thousands of purchases between two dates and the customer doesn't like to wait for reports….as I'm sure everyone has experienced ;)

Would it be best to use the incr functions and if so how would you go about modelling the data?

Many thanks to anyone that reads this - I hope to expland on this further giving more examples of real world modelling problems if possible.

James

0 投票
4 回答
495 浏览

mysql - In-Memory SQL/NoSQL - 保持查询能力 - 也许使用 MySQL 或 SQL Server

我希望能够在数据存储中运行一组记录/文档,但始终让这些记录在 RAM 中保持新鲜。我只需要使用大约 1.5GB 到 2GB 的 RAM(可能更少)。这将是基于服务器的而不是嵌入式的。

我知道内存键值存储对我不起作用,因为我需要丰富的查询能力。

我知道 MySQL 可以做基于内存的表,但不确定人们是否将这个功能用于我的想法。SQL Server 可以在内存中固定表吗?整张桌子?

我应该查看哪些其他数据存储?如果快速,Map/Reduce 样式查询也可以。

0 投票
0 回答
436 浏览

mongodb - 基于文档的关系数据存储

我应该将我的关系数据存储在 MongoDB 中吗?

鉴于我的独特情况(如下所述)的任何见解将不胜感激!与任何项目一样,我的资源极为有限。我希望以尽可能少的成本提高性能。:)

背景

  1. 我正在开发一个具有广泛而复杂的数据模型的项目。
    1. 84 个主表
    2. 44 个视图进入辅助表
    3. 主要项目类型的 60 万个实例
    4. 500,000,000+ 元组支持 600k 主要项目
  2. 该模型被很好地标准化,并且经过深思熟虑。
  3. 许多项目已被非规范化以提高性能。
  4. 我们的数据访问层使用 Hibernate for ORM。

问题陈述

Hibernate 将 84 个表 + 44 个视图连接在一起,将主数据项映射在一起(我将主数据项称为 THEObject)。这种结构非常昂贵(单个 Oracle 数据库节点)。组装 THEObject 及其子项可能需要几分钟。

THEObject 实例之间共享的数据非常少。共享的数据主要是只读的(用户数据之类的东西,对一般配置的引用......)

保存 THEObject 也非常昂贵。

作为一个附带项目,我创建了一组 bean 来表示 THEObject 的数据,将数据从昂贵的 THEObject 实例复制到 bean 中,然后使用 xstream 将 bean 序列化为 XML。从 THEObject 到 bean 的转换、bean 的序列化以及表示 bean 的 XML 的存储仅用了 26 毫秒。(在我们的关系表示上使用休眠将 THEObject 保存回来所需的 6 分钟还很远​​)。哦

我认为基于 Document 的数据库会更好地为我的应用程序提供服务,因为我使用的数据有 3 种主要块类型(思维集合),代表 THEObject 的块共享来自其他主要块的 2 个数据,但不共享THEObject 的其他实例中的任何它自己的数据。这将允许我将 THEObject 作为一个整体来阅读,而不会出现与规范化存储相关的连接或性能下降。

尽管它实际上是关系数据,但将我的数据存储在基于文档的数据库中是否合理?!

相关阅读

为什么我应该使用基于文档的数据库而不是关系数据库?

非关系型数据库设计

MongoDB 与 Cassandra

什么是 NoSQL,它是如何工作的,它有什么好处?