关系数据库在大多数组织中长期占有重要地位。基于由行和列组成的表格数据模型,在 20 世纪 70 年代设计并在 80 年代流行的关系数据库成为管理数据的默认方式。
然而,当开发人员为当今的数字经济构建应用程序时,他们所面临的需求超出了关系系统的极限。这些需求 包括:
- 提高开发人员的生产力,与源源不断的业务创意保持同步,将应用程序发布周期从数月压缩到数天和数周。
- 存储和查询格式和大小各异且快速变化的数据(结构化、半结构化和多态),在这种情况下,预先定义扁平的表格模式是不切实际的。
- 在多个服务器和区域之间分布数据以满足应用程序对弹性、可扩展性和智能地理位置分布的需求。
应对这些挑战推动了开发人员在过去十年中采用非表格数据库,有时也称为“NoSQL”数据库。由它们支持的数据模型定义的非关系数据库有多种风格——键值、宽列和图。但基于类似 JSON 文档的文档数据库,已经发展成为最流行和最广泛使用的传统关系系统的替代品。这是因为文档数据模型是:
- 直观:映射到开发人员的思考和编码方式。
- 灵活:动态适应变化。
- 通用:以任何形式或结构对数据进行建模(有时称为“多模型”)。
- 强大:开发人员能够使用一致且富有表现力的 API 处理几乎任何类别的应用程序数据。
在本指南中,我们探讨了构建现代应用程序的工程团队广泛使用文档数据模型的原因。还讨论了区分文档数据库与其他数据库的特性。