📜  学习CouchDB教程

📅  最后修改于: 2020-11-22 09:33:31             🧑  作者: Mango

CouchDB教程

CouchDB教程提供了CouchDB的基本和高级概念。我们的CouchDB教程专为初学者和专业人士设计。

CouchDB是由Apache软件基金会开发的开源NoSQL数据库。它是用Erlang编程语言编写的。

我们的CouchDB教程包括CouchDB的所有主题,例如带有ouchdb Fauxton的Couchdb教程,http api,安装,couchdb vs mongodb,创建数据库,创建文档,功能,介绍,更新文档,为什么选择ouchdb等。

CouchDB简介

CouchDB是由Apache软件基金会开发的开源NoSQL数据库。它是用Erlang编程语言编写的。

有两种类型的数据库:

  • RDBMS(遵循SQL)
  • NoSQL

RDBMS:关系数据库管理系统

RDBMS基于EF Codd引入的关系模型。它是SQL的基础,大多数数据库系统都遵循RDBMS。这些数据库是:Oracle,MySQL,MS SQL Server,IBM DB2和Microsoft Access等。

在RDBMS中,数据存储在表等数据库对象中。表是相关数据条目的集合,并且包含列和行。它仅存储结构化数据。

NoSQL数据库

NoSQL数据库是其他类型的数据库,除了RDBMS中使用的表格形式外,它还提供了一种存储和检索数据的机制。

NoSQL数据库是无模式的,一致的,支持简单的复制,具有简单的API并可以处理大量数据。

NoSQL数据库的主要目标是:

  • 设计简单。
  • 水平缩放。
  • 更好地控制可用性。

NoSQL数据库比RDBMS更快,因为与关系数据库相比,它使用不同的数据结构。 NoSQL数据库可以存储结构化和非结构化数据,例如音频文件,视频文件,文档等。

根据NoSQL数据库的数据存储性质,它可以分为三种类型:

  • 键值存储
  • 列存储
  • 文件存储

键值存储

这些数据库旨在将数据存储在键值对中。这些数据库没有任何架构,每个数据值都包含一个索引键和该键的值。

键值存储数据库的流行示例是:Cassandra,DynamoDB,BerkeleyDB,Riak等。

列存储

这些数据库用于在单元格中存储数据。这些单元格被分组在数据列中,并且这些列进一步被分组为列族。这些列族可以包含任意数量的列。

列存储数据库的流行示例有:BigTable,HBase和HyperTable等。

文件存储

这些数据库遵循键值存储的基本思想,其中“文档”包含复杂数据,并且每个文档都分配有唯一的键,用于检索文档。

这些数据库用于存储,检索和管理面向文档的信息,也称为半结构化数据。

文档存储数据库的流行示例是:CouchDB,MongoDb等。

什么是CouchDB

CouchDB是专注于易用性的开源NoSQL数据库。它是由Apache开发的。它与Web完全兼容。 CouchDB使用JSON存储数据,使用JavaScript作为查询语言来转换文档,使用MapReduce和使用HTTP作为API。

CouchDB是2005年发布的多主应用程序,2008年成为一个apache项目。

为什么选择CouchDB

Apache CouchDB是最新的数据库之一。 CouchDB具有无模式的文档模型,该模型更适合于普通应用程序。查询数据非常强大。

使用CouchDB的主要原因是什么?

  • CouchDB易于使用。有一个词来描述CouchDB“放松”。这也是CouchDB官方徽标的代名词。

“ Apache CouchDB已经开始。请放松一下。”

  • CouchDB具有基于HTTP的REST API,这使得与数据库的通信非常容易。
  • CouchDB具有简单易懂的HTTP资源和方法(GET,PUT,DELETE)结构。
  • 在CouchDB中,数据存储在基于文档的灵活结构中,因此无需担心数据的结构。
  • CouchDB通过强大的数据映射为用户提供便利,该数据映射允许查询,合并和过滤信息。
  • CouchDB提供易于使用的复制,您可以使用该复制在数据库和计算机之间复制,共享和同步数据。

CouchDB数据模型

  • 数据库是CouchDB中最外部的数据结构/容器。
  • 每个数据库都是独立文档的集合。
  • 每个文档负责维护自己的数据和独立的架构。
  • 文档元数据包含修订信息,这使合并断开数据库时发生的差异成为可能。
  • CouchDB实现了多版本并发控制,以避免在写入过程中锁定数据库字段。

CouchDB体系结构:

CouchDB索引

先决条件

在学习CouchDB之前,您必须具有Basic Sql和MySql Database的基本知识。

听众

我们的CouchDB教程旨在帮助初学者和专业人士。

我们保证您不会在本CouchDB教程中找到任何问题。但是,如果有任何错误,请在联系表格中发布问题。