文档型数据库有哪些

Z, ZLW 5624

文档型数据库包括但不限于:1、MongoDB,2、Amazon DynamoDB,3、Microsoft Azure Cosmos DB,4、Couchbase,5、Firebase Realtime Database。其中MongoDB是一个基于分布式文件存储的数据库,由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。

文档数据库是一种非关系数据库,旨在将数据作为类 JSON 文档存储和查询。文档数据库让开发人员可以使用他们在其应用程序代码中使用的相同文档模型格式,更轻松地在数据库中存储和查询数据。文档和文档数据库的灵活、半结构化和层级性质允许它们随应用程序的需求而变化。文档模型可以很好地与目录、用户配置文件和内容管理系统等使用案例配合使用,其中每个文档都是唯一的,并会随时间而变化。文档数据库支持灵活的索引、强大的临时查询和文档集合分析。

1、MongoDB

MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。

MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

2、Amazon DynamoDB

Amazon DynamoDB是一个完全托管的NoSQL数据库服务,可以提供快速的、可预期的性能,并且可以实现无缝扩展。只需要在AWS(Amazon Web Service)管理控制台上面,用鼠标轻松点击几下,用户就可以自己创建一个新的Amazon DynamoDB数据库表,并可以根据实际需求对表进行扩展和收缩,这个过程既不需要停止对外服务,也不会降低服务性能。通过AWS管理控制台,用户还可以看见资源利用情况和各种性能指标。Amazon DynamoDB可以使得用户把操作和扩展分布式数据库的沉重负担,交付给AWS来处理,这样,用户就不需要担心硬件配置、复制、软件安装和打补丁包、簇扩展等

3、Microsoft Azure Cosmos DB

Azure Cosmos DB 是一种用于新式应用开发的完全托管的 NoSQL 数据库。 个位数的毫秒响应时间以及自动和即时的可伸缩性,可保证任何规模的速度。 SLA 支持的可用性和企业级安全性可确保业务连续性。 得益于全球各地的统包多区域数据分布、适用于常用语言的开源 API 和 SDK,应用的开发速度更快、效率更高。 作为一项完全托管的服务,Azure Cosmos DB 使用自动管理、更新和修补,使你无需进行数据库管理。 它还通过经济高效的无服务器和自动缩放选项处理容量管理,这些选项可响应应用程序的需求,使容量与需求相匹配。

4、couchbase

couchbase是CouchDB和MemBase的合并。而memBase是基于Memcached的。因此couchbase联合了couchbase的简单可靠和memcached的高性能,以及membase的可扩展性。灵活的数据模型:couchbase中使用json格式存储对象和对象之间的关系。

Nosql数据库的一个特性是不需要定义数据结构,在couchbase中,数据可以存储为key-value对或者json文档,不需要预先定义严格的格式,由于这种特性,couchbase支持以 scale out(水平扩展)方式扩展数据量,提升io性能,只需要在集群中添加更多的服务器就行了。相反,关系数据库管理系统scale up(纵向扩展),通过加更多的CPU,内存和硬盘以扩展容量。Couchbase可用于单机环境,也可以和其他服务器一起提供分布式的数据存储。

5、Firebase Realtime Database

Firebase Realtime Database 是一种托管在云端的数据库。数据以 JSON 格式存储并实时同步到每个连接的客户端。当使用 Apple 平台、Android 和 JavaScript SDK 构建跨平台应用时,所有的客户端共享一个 Realtime Database 实例,并自动接收包含最新数据的更新。

主要功能:

  • 实时
    Firebase Realtime Database 使用的不是常见的 HTTP 请求,而是使用数据同步机制。每当数据发生变化时,任何连接的设备都会以毫秒级的速度收到更新。它可提供协作式与沉浸式体验,而且无需编写网络代码。
  • 离线
    Firebase 应用即使在离线状态仍会保持响应,因为 Firebase Realtime Database SDK 会将您的数据永久保留在磁盘上。一旦重新建立连接,客户端设备会收到期间错过的任何更新,并与当前服务器状态进行同步。
  • 可从客户端设备访问
    移动设备或网络浏览器可以直接访问 Firebase Realtime Database,因此不需要应用服务器。安全和数据验证均通过 Firebase Realtime Database 安全规则提供,这些基于表达式的规则会在读取或写入数据时执行。
  • 扩展到多个数据库
    选择 Blaze 定价方案使用 Firebase Realtime Database 时,可以通过将数据拆分至同一 Firebase 项目中的多个数据库实例,来支持大规模的应用数据需求。在您的项目中使用 Firebase Authentication 可以简化身份验证,并可跨多个数据库实例验证用户。使用针对每个数据库实例的自定义 Firebase Realtime Database 规则,您可以控制对各个数据库中的数据访问。

扩展阅读

文档型数据库的特性

文档型数据库的一些关键特性

  • 文档模型:数据被存储在文档中(而不是像其他数据库那样,以结构化的形式,比如表格、图形的方式存储)。
  • 结构灵活:文档型数据库不要求太严格的数据格式,一个集合中文档和文档之间的字段可以不一致。
  • 分布和弹性:扩展性强。
  • 查询语言:有自己的查询语言和API。

文档型数据库的使用案例

  • 内容管理

文档数据库是内容管理应用程序的一个绝佳选择,例如博客和视频平台。通过文档数据库,应用程序跟踪的每个实体都可以存储为单个文档。 随着需求的发展,对于开发人员来说,可以使用文档数据库更直观地更新应用程序。此外,如果数据模型需要更改,则只需要更新受影响的文档。不需要更新架构,也不需要对数据库停机时间进行更改。 

  • 目录

文档数据库在存储目录信息方面高效且有效。 例如,在电子商务应用程序中,不同的产品通常具有不同数量的属性。在关系数据库中管理数千个属性效率较低,并且阅读性能会受到影响。使用文档数据库,可以在单个文档中描述每个产品的属性,以方便管理和加快阅读速度。更改一个产品的属性不会影响其他产品。

文档型数据库和关系型数据库的区别

  • 数据模式的直观性:文档型数据库中的存储单位“文档”直接对应应用层代码中的“对象”,开发者使用起来更加方便,不需要跨表或者表连接等操作。
  • 使用JSON带来的好处:JSON已经成为数据交换和存储的标准。JSON文档是轻量级的、独立于语言的、人类可读的。开发人员可以按照应用程序需要的方式构造数据——丰富的对象、键值对、表、地理空间和时间序列数据,或者图形的节点和边。
  • 模式的灵活性:因为结构比较灵活,开发者在创建文档时,不用像使用关系型数据库那样,首先去定义它的结构;开发者可以在任意时间根据需要去修改数据的结构。

回复

我来回复
  • 暂无回复内容

注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部