欢迎大家赞助一杯啤酒🍺 我们准备了下酒菜:Formal mathematics/Isabelle/ML, Formal verification/Coq/ACL2, C++/F#/Lisp
Apache CouchDB
小 |
|||
(未显示1个用户的30个中间版本) | |||
第1行: | 第1行: | ||
− | Apache CouchDB | + | {{SeeWikipedia}} |
+ | [[Image:Apache-CouchDB-logo.png|right|Apache CouchDB]] | ||
+ | Apache CouchDB | ||
− | + | ==简介== | |
− | + | CouchDB是一个文档数据库;它是一个支持复制的(Replecated)文档数据库,具有REST接口,也就是说可以在HTTP上,用标准的GET、PUT、POST去访问。而且它用JavaScript作为查询语言去建立数据视图(View)。在SQL数据库里,你要定义各种表和表中的数据类型及大小,CouchDB不一样,它是没有Schema的。在CouchDB里,每个文档都是独立的对象,可以是任意的 JSON结构。这是技术上的表述。那么它的优点在哪里呢?它有利于构建很多协作型的应用,很多Web应用都是围绕着文档、上下文、任务、Bug报告,诸如此类的东西。这些就是CouchDB最擅长的方面。 | |
− | + | ||
+ | ==功能== | ||
相似项目: [[MongoDB]] | 相似项目: [[MongoDB]] | ||
− | |||
− | |||
CouchDB和Lotus Notes最接近, 其核心就是文档模型. | CouchDB和Lotus Notes最接近, 其核心就是文档模型. | ||
− | + | [[Image:Apache-CouchDB-Sketch.png|right|thumb|Apache CouchDB Sketch]] | |
[http://www.infoq.com/cn/interviews/CouchDB-Damien-Katz-cn CouchDB创造者Damien Katz畅谈CouchDB] | [http://www.infoq.com/cn/interviews/CouchDB-Damien-Katz-cn CouchDB创造者Damien Katz畅谈CouchDB] | ||
− | == | + | |
+ | ==指南== | ||
+ | |||
+ | ===[[Docker]]=== | ||
+ | [https://github.com/apache/couchdb-docker Apache CouchDB Docker] | ||
+ | |||
===Windows=== | ===Windows=== | ||
先安装 Erlang, 再安装 CouchDB | 先安装 Erlang, 再安装 CouchDB | ||
第20行: | 第25行: | ||
访问 http://localhost:5984/_utils/index.html | 访问 http://localhost:5984/_utils/index.html | ||
− | 更多细节: http://wiki.apache.org/couchdb/Installing_on_Windows | + | 更多细节: http://wiki.apache.org/couchdb/Installing_on_Windows |
+ | |||
==Database== | ==Database== | ||
A CouchDB database is a flat collection of these documents. | A CouchDB database is a flat collection of these documents. | ||
第41行: | 第47行: | ||
emit(null, doc); | emit(null, doc); | ||
} | } | ||
+ | |||
+ | ==Node.js== | ||
+ | 默认的[http://docs.huihoo.com/apache/couchdb/2.1/query-server 查询服务器]使用[[JavaScript]]编写,运行在 Mozilla [[SpiderMonkey]]。 | ||
+ | |||
+ | [[MongoDB]] 也使用 SpiderMonkey 作为服务端 JavasScript 执行引擎。 | ||
+ | |||
+ | [[Node.js]]查询服务器 | ||
+ | npm install -g couchjs | ||
==Python== | ==Python== | ||
第48行: | 第62行: | ||
*[http://www.eflorenzano.com/blog/post/using-couchdb-django/ Using CouchDB with Django] | *[http://www.eflorenzano.com/blog/post/using-couchdb-django/ Using CouchDB with Django] | ||
*[http://lethain.com/entry/2008/aug/18/an-introduction-to-using-couchdb-with-django/ An Introduction to Using CouchDB with Django] | *[http://lethain.com/entry/2008/aug/18/an-introduction-to-using-couchdb-with-django/ An Introduction to Using CouchDB with Django] | ||
− | == | + | |
+ | ==分发版== | ||
+ | *[https://github.com/cloudant/bigcouch BigCouch] A Highly Available, Fault-tolerant, Clustered Version of Apache CouchDB,不再更新,代码合并到CouchDB。 | ||
+ | *[https://www.ibm.com/analytics/us/en/technology/cloud-data-services/cloudant/ IBM Cloudant] | ||
+ | |||
+ | ==用户== | ||
+ | [https://cwiki.apache.org/confluence/display/COUCHDB/CouchDB+in+the+wild CouchDB in the wild] | ||
+ | *[[Hyperledger Project]] [https://www.hyperledger.org/hyperledger-fabric-1-0 使用CouchDB作为状态存储] | ||
+ | *[https://cloudant.com/ IBM Cloudant] | ||
*[[dotCloud]] open-source cloud federation platform | *[[dotCloud]] open-source cloud federation platform | ||
*[[Ajatus CRM]] A CRM that runs as a local Ajax web application | *[[Ajatus CRM]] A CRM that runs as a local Ajax web application | ||
*[[Couchit]] minimal site creator | *[[Couchit]] minimal site creator | ||
*http://scratchpad.cmlenz.net/ | *http://scratchpad.cmlenz.net/ | ||
− | *http:// | + | |
− | == | + | ==图书== |
− | *http://couchdb.apache.org/ | + | *[http://book.huihoo.com/couchdb-the-definitive-guide/ 自由图书 《CouchDB: The Definitive Guide》] |
+ | |||
+ | ==图集== | ||
+ | <gallery> | ||
+ | image:key-value-wide-row-document-relational-graph.png|5类数据库 | ||
+ | image:CAP-Consistency-Apache-CouchDB.png|CAP一致性 | ||
+ | image:Apache-CouchDB-Request.png|请求 | ||
+ | image:MVCC-Apache-CouchDB.png|MVCC | ||
+ | image:Apache-CouchDB-Synchronization-Conflicts.png|同步冲突 | ||
+ | image:apache-couchdb.png|Project Fauxton | ||
+ | </gallery> | ||
+ | |||
+ | ==链接== | ||
+ | *[http://couchdb.apache.org/ CouchDB官网] | ||
+ | *[https://github.com/apache/couchdb CouchDB @ GitHub] | ||
*http://wiki.apache.org/couchdb/ | *http://wiki.apache.org/couchdb/ | ||
*http://groups.google.com/group/couchdb | *http://groups.google.com/group/couchdb | ||
*http://docs.huihoo.com/apache/couchdb/ | *http://docs.huihoo.com/apache/couchdb/ | ||
− | |||
*[http://www.ibm.com/developerworks/cn/opensource/os-cn-couchdb/ 面向文档的数据库 CouchDB] | *[http://www.ibm.com/developerworks/cn/opensource/os-cn-couchdb/ 面向文档的数据库 CouchDB] | ||
− | [[ | + | [[category:NoSQL]] |
− | + | [[category:database]] | |
− | [[ | + | [[category:big data]] |
− | + | [[category:erlang]] | |
− | + | [[category:apache]] | |
+ | [[category:huihoo Foundation]] |
2022年2月13日 (日) 04:10的最后版本
您可以在Wikipedia上了解到此条目的英文信息 Apache CouchDB Thanks, Wikipedia. |
Apache CouchDB
目录 |
[编辑] 简介
CouchDB是一个文档数据库;它是一个支持复制的(Replecated)文档数据库,具有REST接口,也就是说可以在HTTP上,用标准的GET、PUT、POST去访问。而且它用JavaScript作为查询语言去建立数据视图(View)。在SQL数据库里,你要定义各种表和表中的数据类型及大小,CouchDB不一样,它是没有Schema的。在CouchDB里,每个文档都是独立的对象,可以是任意的 JSON结构。这是技术上的表述。那么它的优点在哪里呢?它有利于构建很多协作型的应用,很多Web应用都是围绕着文档、上下文、任务、Bug报告,诸如此类的东西。这些就是CouchDB最擅长的方面。
[编辑] 功能
相似项目: MongoDB
CouchDB和Lotus Notes最接近, 其核心就是文档模型.
CouchDB创造者Damien Katz畅谈CouchDB
[编辑] 指南
[编辑] Docker
[编辑] Windows
先安装 Erlang, 再安装 CouchDB
启动 C:\erl5.7.2\bin\couch_start.bat
访问 http://localhost:5984/_utils/index.html
更多细节: http://wiki.apache.org/couchdb/Installing_on_Windows
[编辑] Database
A CouchDB database is a flat collection of these documents.
[编辑] CouchDB Document
A CouchDB document is simply a JSON object.
A CouchDB document is an object that consists of named fields. Field values may be strings, numbers, dates, or even ordered lists and associative maps. An example of a document would be a blog post:
"Subject": "I like Django" "Author": "Allen" "PostedDate": "5/23/2009" "Tags": ["Python", "Django", "Framework"] "Body": "Django is a high-level Python Web framework that encourages rapid development and clean, I like Django."
[编辑] CouchDB Views
Views are the primary tool used for querying and reporting on CouchDB documents. There are two different kinds of views: permanent and temporary views.
Views are defined with Javascript functions. Here is the very simplest function:
function(doc) { emit(null, doc); }
[编辑] Node.js
默认的查询服务器使用JavaScript编写,运行在 Mozilla SpiderMonkey。
MongoDB 也使用 SpiderMonkey 作为服务端 JavasScript 执行引擎。
Node.js查询服务器
npm install -g couchjs
[编辑] Python
- CouchDB Python Library
- Couchdbkit
- Using CouchDB with Django
- An Introduction to Using CouchDB with Django
[编辑] 分发版
- BigCouch A Highly Available, Fault-tolerant, Clustered Version of Apache CouchDB,不再更新,代码合并到CouchDB。
- IBM Cloudant
[编辑] 用户
- Hyperledger Project 使用CouchDB作为状态存储
- IBM Cloudant
- dotCloud open-source cloud federation platform
- Ajatus CRM A CRM that runs as a local Ajax web application
- Couchit minimal site creator
- http://scratchpad.cmlenz.net/