AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题

问题[nosql](dba)

Martin Hope
Imranur Rahman
Asked: 2023-07-19 17:14:39 +0800 CST

适合json类型数据的数据库

  • 5

我正在尝试找出哪个数据库更适合在我的情况下存储 JSON 类型数据。假设我在某个时候有这些数据:

[
  {
    "parent_name": "A",
    "versions": [
      {
        "version": "1.1",
        "dependencies": [
          {
            "dep_name": "B",
            "version": "5.2"
          },
          {
            "dep_name": "C",
            "version": "9.7"
          }
        ]
      }
    ]
  }
]

一次更新后,我得到了这样的信息:

[
  {
    "parent_name": "A",
    "versions": [
      {
        "version": "1.1",
        "dependencies": [
          {
            "dep_name": "B",
            "version": "5.2"
          },
          {
            "dep_name": "C",
            "version": "9.7"
          }
        ]
      },
      {
        "version": "1.2",
        "dependencies": [
          {
            "dep_name": "D",
            "version": "3.9"
          }
        ]
      }
    ]
  }
]

又一个:

[
  {
    "parent_name": "A",
    "versions": [
      {
        "version": "1.1",
        "dependencies": [
          {
            "dep_name": "B",
            "version": "5.2"
          },
          {
            "dep_name": "C",
            "version": "9.7"
          }
        ]
      },
      {
        "version": "1.2",
        "dependencies": [
          {
            "dep_name": "D",
            "version": "3.9"
          },
          {
            "dep_name": "E",
            "version": "20.8"
          }
        ]
      }
    ]
  }
]

也许又一个:

[
  {
    "parent_name": "A",
    "versions": [
      {
        "version": "1.1",
        "dependencies": [
          {
            "dep_name": "B",
            "version": "5.2"
          },
          {
            "dep_name": "C",
            "version": "9.7"
          }
        ]
      },
      {
        "version": "1.2",
        "dependencies": [
          {
            "dep_name": "D",
            "version": "3.9"
          },
          {
            "dep_name": "E",
            "version": "20.8"
          }
        ]
      }
    ]
  },
  {
    "parent_name": "X",
    "versions": [
      {
        "version": "0.2",
        "dependencies": [
          {
            "dep_name": "A",
            "version": "1.2"
          }
        ]
      }
    ]
  }
]

我正在用 Python 编写脚本。我很困惑对于这种特定情况应该选择 SQL 还是 NoSQL 类型数据库。你能告诉我你的想法吗?

nosql
  • 2 个回答
  • 16 Views
Martin Hope
onefootswill
Asked: 2022-07-29 15:01:07 +0800 CST

NoSQL 文档数据库中的数据重复

  • 0

这是一个非常“noobish”的问题,但我正在开发一个带有文档数据库的项目,我认为他们错误地使用了它。因此,我有点想确认这一点,因为我觉得它玷污了我的经历。

简而言之,它们似乎为文档范式带来了关系思维。例如,他们不是在另一个中嵌入特定的 JSON 对象,而是通过 id 在业务层将它们拉到一起(我闻起来很像外键)。

现在,确实在这里避免了数据的重复(嘿,作为一个 SQL 人,我完全是关于第 3 范式),但我认为将数据作为更大文档的一部分放在其中比避免重复更重要数据的。

我知道可能存在权衡,拥有包含所有东西的巨大对象可能不明智,但我希望得到一些指导,了解在这个空间中做事的最佳方式是什么以及这个地方是否(可能)它错了。(如果盲人在领导盲人,NoSQL 是具有挑战性的)。

谢谢

nosql
  • 1 个回答
  • 21 Views
Martin Hope
CorrieJanse
Asked: 2022-03-24 18:07:13 +0800 CST

水平扩展时,SqlServer 还是 NoSql 更经济高效

  • 1

RDBMS 传统上更适合垂直缩放,因为它更难进行水平缩放。因此,NoSql 数据库更便宜,因为它们可以更轻松地水平扩展。

然而,最近 RDBMS 是水平可扩展的——尽管它们可能更难做到。

所以这是我的问题

我认为水平扩展关系数据库仍然比垂直扩展更便宜,但仍然不如 NoSQL 扩展效率高。对或错?

其次,是否有一些比率可以解释关系系统和 NoSql 系统的垂直/水平扩展成本。(我可以想象这些变化取决于可用性 - 但我只想知道粗略的估计,因为我没有做出商业决策 - 我只是在了解它)

sql-server nosql
  • 2 个回答
  • 697 Views
Martin Hope
jstarek
Asked: 2021-10-23 03:45:29 +0800 CST

删除后是否需要压缩 OrientDB?

  • 0

在使用 OrientDB 实例作为数据库后端的 Sonatype Nexus 存储库服务器上,我们观察到数据库稳定增长,尽管存储库内容经常被删除。

我们预计数据库大小会(至少偶尔)缩小并总体保持大致相同的大小。

OrientDB 如何处理删除?有没有办法检查数据库是否包含过时的信息,是否有必要/可能定期“清除”或“压缩”OrientDB?

nosql orientdb
  • 1 个回答
  • 81 Views
Martin Hope
The Quantum Physicist
Asked: 2021-08-26 21:43:08 +0800 CST

当两个事务更改相同的行/值时,正确的数据库行为是什么?

  • 1

我正在为嵌入式 NoSQL 数据库编写 C++ 中的数据库 LRU 缓存以解决性能问题,并且我试图理解其背后的正确假设行为和理念。

假设有一个处于某个状态 X 的 NoSQL 数据库。我们从相同的隔离状态 X 启动事务 1 (tx1) 和事务 2 (tx2)。两个事务都尝试更改相同的键/值对。每笔交易都将值更改为某个值,并且两个值不相等。Tx1 提交,然后 tx2 提交。数据库的正确行为是什么?

  1. 新值是从 tx2 提交的值,因为它覆盖了 tx1
  2. 新值是从 tx1 提交的值,因为提交 tx2 应该会失败

还是答案是别的?

如果它符合 ACID,有人可以详细说明应该如何编程这样的系统吗?

我要缓存的数据库是LMDB,它声称符合 ACID 标准。

transaction nosql
  • 1 个回答
  • 59 Views
Martin Hope
vvs14
Asked: 2021-05-01 04:04:35 +0800 CST

关系数据库中的不一致

  • 4

当使用术语一致性时,我通常会感到困惑。NoSQL 教程总是指读取,而关系教程指的是一致状态(确保引用完整性约束)

当数据分布在多个服务器上时(例如 1 主 - n 从配置)

  1. 关系数据库是否确保读取的一致性?我的意思是提交的写入可以立即被其他事务读取?我怀疑没有给定网络,使关系数据库成为最终一致的数据库。
  2. 关系数据库是否能很好地确保参照完整性约束?
rdbms nosql
  • 3 个回答
  • 306 Views
Martin Hope
ERJAN
Asked: 2021-03-21 00:47:49 +0800 CST

如果 NoSQL 代表“Not only SQL”,那么 SQL 是 NoSQL 的子集吗?

  • 25

这个定义有点令人困惑——基本上我是在问 SQL 是否是 NoSQl 系列的一个子集:

kk

我问这个是因为“不仅”意味着 NoSQL 更大,但仍将 SQL 作为其中的一部分。

另一方面,由于我们不能在 NoSQL 数据库中执行典型的 sql 操作,例如连接,所以 SQL 不是 nosql 的一部分!

我想知道哪个是真的?

rdbms nosql
  • 4 个回答
  • 6154 Views
Martin Hope
aum
Asked: 2021-02-27 03:43:02 +0800 CST

究竟什么是非结构化数据,为什么要使用非关系 DBMS?

  • 2

我在网上阅读了一些关于像这样的非结构化数据的帖子。

它说

非结构化数据是未按照预先设定的数据模型或模式排列的信息,因此无法存储在传统的关系数据库或 RDBMS 中。

但是 RDBMS 允许 BLOB 存储。所以我们可以在传统的RDBMS中存储非结构化数据。

他们为非结构化数据提供的示例是电子邮件、文本文件、媒体文件等。首先,所有这些类型是如何非结构化的?即使它们是,像 MongoDB 这样的非关系 DBMS 如何比 RDBMS 的 BLOB 存储更好地存储/检索它?

我发现几乎无处不在的非结构化数据的一个常见示例是将产品信息存储在像亚马逊这样的电子商务公司中。每个产品都有不同的属性,因此在像 MongoDB 这样的 NoSQL DBMS 中,我们可以有一个名为 Products 的集合,我们将在其中包含所有产品的信息。但是我们可以通过为每个产品创建一个单独的表来使用 RDBMS 存储这些数据。这可能是一种更简洁的数据存储方式。那么为什么要使用非关系型 DBMS 呢?

所以我的问题是:

  1. 数据库上下文中的非结构化数据到底是什么?
  2. 对于非结构化数据,像 MongoDB 这样的非关系 DBMS 如何比 RDBMS 更好?
  3. 你能举一个非结构化数据的真实例子吗?

谢谢!

nosql blob
  • 1 个回答
  • 290 Views
Martin Hope
overexchange
Asked: 2020-12-05 11:15:06 +0800 CST

为什么 Cassandra 不被视为关系数据库?

  • 4

阅读此答案

关系数据库基于关系模型,这是一种在表中表示数据的直观、直接的方式。在关系数据库中,表中的每一行都是具有唯一 ID 的记录,称为键。表的列保存数据的属性,每条记录通常都有每个属性的值,便于建立数据点之间的关系。

Cassandra 有桌子。

CREATE TABLE movies (
    movie_id UUID,
    title TEXT,
    release_year INT,
    PRIMARY KEY (( movie_id ))
);

关系数据与 ACID 属性的支持无关。

关系数据与规范化数据无关


  1. 为什么 Cassandra 不被视为关系数据库?

  2. 为什么 Cassandra 被认为是 NoSQL 数据库?尽管它有桌子

relational-theory nosql
  • 3 个回答
  • 1763 Views
Martin Hope
gugabguerra
Asked: 2020-10-26 18:40:34 +0800 CST

MongoDB - _id 作为 String 而不是 ObjectId ?集合或重复数据之间的关系?

  • 0

场景:一个叫做“accessPoint”的实体有一个叫做“network”的重要属性。应用程序将显示此网络属性的某些部分,因此我决定将其存储在 accessPoint 文档中。

我还决定将所有网络文档(带有附加属性)存储在一个单独的集合中(出于性能原因:它将用于前端的自动完成输入)

accessPoint: {
    id: ObjectId,
    name: String,
    uptime: Number,
    network: {
        subnet: String,
        netmask: Number
    }
}

network: {
    _id: ObjectId
    subnet: String,
    netmask: Number,
    size: Number,
    validatedAt: Date,
    attrX: String,
    attrY: String,
    attrZ: String
}

我有 3 个主要问题: 1 - 将网络存储在单独的集合中是一种好习惯吗?(注意上面的要求)

2 - 在这两个文档(如 SQL DBMS)之间建立关系是否存在任何合规/约定问题?

3 - 而且,我想知道......我可以将 _id 存储为 String 而不是 ObjectId 吗?我已经阅读了一些建议,但我对此没有决定性的意见。例如:(... network: { _id: "192.168.1.0/24" }保证唯一性:D)

谢谢!

nosql mongodb
  • 2 个回答
  • 6015 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve