视频

了解更多
无模式数据库在没有蓝图的情况下管理信息。构建无模式数据库的起点不依赖于符合特定的字段、表或数据模型结构。没有关系数据库管理系统 (RDBMS) 来强制执行任何特定类型的结构。换句话说,它是一种非关系型数据库,可以处理任何数据库类型,无论是键值存储、文档存储、内存、面向列还是图数据模型。NoSQL 数据库的灵活性是无模式方法日益流行的原因,并且通常被认为比扩展模式或 SQL 数据库更易于使用。
使用无模式数据库,您无需对数据结构有一个完全实现的概念。因为它不遵守模式,所以保存在无模式数据库中的所有数据都保持完全完整。另一方面,关系数据库选择保留哪些数据,要么更改数据以适应模式,要么完全删除它。采用无模式方法允许数据的每一个细节都保持不变,并随时完全可访问。对于其运营根据实时数据变化的企业来说,拥有这些未经处理的数据非常重要,因为这些点中的任何一个都可能证明对于数据库后续的更新至关重要。由于没有固定的数据结构,无模式数据库可以添加或删除数据类型、表和字段,而不会产生重大影响,例如复杂的模式迁移和中断。因为它能够承受突发变化并解析任何数据类型,无模式数据库在依赖实时数据运行的行业中非常受欢迎,例如金融服务、游戏和社交媒体。
采用无模式方法允许数据的每一个细节都保持不变,并随时完全可访问。
您对新的数据库设置了解多少?您能提前清楚地看到它的结构并确定它永远不会改变吗?如果是这样,您可能正在处理一个最适合模式数据库的情况。它的严格性是其吸引力的基础。让我们细致地权衡一下选择其中一种方法的优缺点。
模式数据库的优点 | 模式数据库的缺点 |
---|---|
严格测试 | 数据建模和规划必须预先定义且缺乏灵活性 |
规则不灵活 | 难以加快数据库的启动速度 |
代码更易懂 | 这种僵化使得日后更改模式成为一项艰巨的任务 |
简化系统间数据迁移过程 | 实验性地添加字段非常困难 |
无模式数据库的优点 | 无模式数据库的缺点 |
---|---|
所有数据(和元数据)保持不变且可访问 | 没有可用于查询非关系型数据库数据的通用语言 |
没有现有“模式”作为数据结构的依据 | 尽管 NoSQL 社区仍在高速发展,但并非所有故障排除问题都已得到妥善记录 |
可以添加 SQL 数据库无法容纳的额外字段 | 与 SQL 指令缺乏兼容性 |
可容纳键值存储、文档存储、内存、面向列或图数据模型 | 不符合 ACID 级别的一致性,因为其分布式方法可能导致数据检索出现不一致 |