gpt4 book ai didi

nosql - 对于 NoSQL 数据库来说,无模式意味着什么?

转载 作者:行者123 更新时间:2023-12-03 11:01:16 25 4
gpt4 key购买 nike

Schemaless 是目前在 NoSql 世界中流行的一个术语。

  • 这是什么意思 ?
  • 我今天有一个包含 3 个属性的文档,我用它进入生产环境,那么当我需要向我的文档添加另外 2 个属性时,我的数据会发生什么?
  • 这纯粹是一个迁移问题,我需要管理我的数据迁移,还是 NoSql 数据库可以创建与 RDBMS 一样多的摩擦或以某种方式使其更容易?
  • 最佳答案

    无模式有点用词不当,最好将其视为:

  • SQL = 写入时由 RDBMS 强制执行的架构
  • NoSQL = DBMS 在写入时强制执行的部分模式,在读取时由应用程序完全强制执行的 PLUS 模式(外部化
    架构)

  • 因此,虽然假设的无模式 NoSQL 数据存储理论上允许您存储您喜欢的任何数据(通常是键值对,在文档中),而无需事先了解键或数据类型,但除非您有一些检索和使用数据的机制。所以本质上,模式部分地从 RDBMS 移到了应用程序代码中。我说部分是因为您将索引添加到文档集合和/或对数据进行分区以提高性能,因此 NoSQL DBMS 将在本地定义部分模式,并可能通过唯一约束强制执行。
    至于向商店中的文档/对象添加附加属性。根据文档周围有多少填充(未使用的空间),在其物理数据块中,向文档添加更多的键值对可能会导致文档必须物理移动到更大的连续存储块,并重建了相关的索引。如果您打算在经常使用的查询中使用新键,那么您还需要添加一个合适的新索引,这显然需要一些物理存储,需要一些时间来初步构建并可能导致您要求系统管理员为 DBMS 分配更多内存,以允许缓存新索引。

    关于nosql - 对于 NoSQL 数据库来说,无模式意味着什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15589184/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com