欢迎大家赞助一杯啤酒🍺 我们准备了下酒菜:Formal mathematics/Isabelle/ML, Formal verification/Coq/ACL2, C++/F#/Lisp
Couchbase
来自开放百科 - 灰狐
(版本间的差异)
小 (→链接) |
小 (→OS X) |
||
(未显示1个用户的51个中间版本) | |||
第2行: | 第2行: | ||
Couchbase 是一个开源(Apache V2) 的面向文档的 [[NoSQL]] 数据库。 | Couchbase 是一个开源(Apache V2) 的面向文档的 [[NoSQL]] 数据库。 | ||
+ | |||
+ | Couchbase 基于 [[Apache CouchDB]]、[[Membase]] 合并构建,Couchbase 使用 Membase 替换掉了 [[Memcached]]。 | ||
+ | |||
+ | Couchbase 可用于文档数据库、键/值存储、分布式Cache。 | ||
+ | [[文件:couchbase-server.png|right]] | ||
+ | ==关系== | ||
+ | [http://www.infoq.com/cn/news/2012/05/couchdb-vs-couchbase-membase Couchbase 与 Membase, CouchDB 的关系]: | ||
+ | *Membase公司有一个名为Membase的产品,它是个键/值、持久化、可伸缩的解决方案,使用了memcached wire协议。 | ||
+ | *Membase公司与CouchOne公司合并后,合并之后的公司名取自每个公司名的一部分,即Couchbase。 | ||
+ | *Couchbase产品包含了CouchDB的一个副本,Couchbase产品向CouchDB添加了缓存、集群等功能,[http://www.couchbase.com/couchbase-vs-couchdb 比较了Couchbase与CouchDB]。CouchDB的创建者及Couchbase的联合创始人Damien Katz表示他将专注于Couchbase,因为这是一个很好的机会,可以重新实现CouchDB,抛弃无法满足需求的、强化可用的功能,并将Membase的可伸缩性、速度、集群与缓存特性添加到合并后的Couchbase产品中。Damien对根据意见来决定的Apache项目的速度与进展表示遗憾,人们对于成功的商业产品需求的增长速度是飞快的。CouchDB产品具有更多的特性,如高级的复制与报表功能,但速度上却不尽如人意,也无法应付高负载。这两个产品的融合是成功的,Couchbase终将破茧而出。 | ||
==优点== | ==优点== | ||
*[[Erlang]] 语言带来的优势; | *[[Erlang]] 语言带来的优势; | ||
*[[iOS]]、[[Android]] 移动终端数据存储支持; | *[[iOS]]、[[Android]] 移动终端数据存储支持; | ||
+ | *内置[[MochiWeb]]轻量级HTTP Server; | ||
*产品家族覆盖移动端到数据中心; | *产品家族覆盖移动端到数据中心; | ||
*移动端、单节点、多节点的数据同步; | *移动端、单节点、多节点的数据同步; | ||
第13行: | 第24行: | ||
==安装== | ==安装== | ||
− | cd https://github.com/couchbase/manifest | + | ===iOS/Android=== |
+ | [[iOS]]、[[Android]] [[NoSQL]] 数据库引擎 | ||
+ | |||
+ | [[文件:couchbase-lite.png]] | ||
+ | |||
+ | *[https://github.com/couchbase/couchbase-lite-core Couchbase Lite Core] | ||
+ | *[https://github.com/couchbase/couchbase-lite-ios Couchbase Lite iOS] | ||
+ | *[https://github.com/couchbase/couchbase-lite-android Couchbase Lite Android] | ||
+ | |||
+ | ===Debian=== | ||
+ | 直接下载 [http://packages.couchbase.com/releases/3.0.1/couchbase-server-enterprise_3.0.1-debian7_amd64.deb deb安装包] | ||
+ | dpkg -i couchbase-server-enterprise_3.0.1-debian7_amd64.deb | ||
+ | http://localhost:8091 | ||
+ | Administrator/your password | ||
+ | /etc/init.d/couchbase-server start | ||
+ | 或者 | ||
+ | apt-get install libssl1.0.0 | ||
+ | dpkg -i couchbase-server version.deb // only ubuntu, debian没有提供此包, 需源码安装。 | ||
+ | mkdir ~/bin | ||
+ | export PATH=~/bin:$PATH | ||
+ | curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo | ||
+ | chmod a+x ~/bin/repo | ||
+ | ... 以下类似 OS X 的做法。 | ||
+ | |||
+ | ===OS X=== | ||
+ | 直接下载[https://packages.couchbase.com/releases/6.0.1/couchbase-server-enterprise_6.0.1-macos_x86_64.zip 安装包] | ||
+ | 或者 brew install cmake erlang git icu4c libevent snappy v8 | ||
+ | v8, 3.25.30, is unsupported | ||
+ | cd /usr/local/Library | ||
+ | git checkout 0e4fe7f /usr/local/Library/Formula/v8.rb | ||
+ | brew unlink v8 | ||
+ | brew install v8 | ||
+ | brew pin v8 | ||
+ | git checkout -- /usr/local/Library/Formula/v8.rb | ||
+ | export PATH=$PATH:/usr/local/bin:/usr/local/opt/icu4c/bin | ||
+ | brew install repo | ||
+ | |||
+ | 进入 https://github.com/couchbase/manifest 选择安装版本,如:3.0.2 | ||
$ mkdir couchbase | $ mkdir couchbase | ||
$ cd couchbase | $ cd couchbase | ||
− | $ repo init -u git://github.com/couchbase/manifest.git -m | + | $ repo init -u git://github.com/couchbase/manifest.git -m rel-3.0.2.xml |
$ repo sync | $ repo sync | ||
$ make | $ make | ||
+ | 可能出现的错误: | ||
+ | Undefined symbols for architecture x86_64 | ||
+ | "v8::Function::Call(v8::Handle<v8::Value>, int, v8::Handle<v8::Value>*)", referenced from: ... | ||
+ | ld: symbol(s) not found for architecture x86_64 | ||
+ | clang: error: linker command failed with exit code 1 (use -v to see invocation) | ||
+ | 换个版本安装:repo init -u git://github.com/couchbase/manifest.git -m rel-2.5.2.xml --config-name & repo sync & make 出现错误: | ||
+ | checking for tc_malloc in -ltcmalloc_minimal... no | ||
+ | configure: error: Unable to link with libtcmalloc_minimal" | ||
+ | make[1]: *** [memcached/Makefile] Error 1 | ||
+ | 参考Ubuntu:sudo apt-get install build-essential libtcmalloc-minimal4 && sudo ln -s /usr/lib/libtcmalloc_minimal.so.4 /usr/lib/libtcmalloc_minimal.so | ||
+ | |||
+ | [http://code.google.com/p/google-perftools/ Google-perftools] ,该项目包括TcMalloc、heap-checker、heap-profiler和cpu-profiler共4个组件。在只使用TcMalloc情况下可以不编译其他三个组件。 | ||
+ | |||
+ | 获得 gperftools-2.3.zip | ||
+ | ./configure | ||
+ | make | ||
+ | sudo make install | ||
+ | 再重新 $make //编译通过,OK! | ||
+ | |||
+ | ===Docker=== | ||
+ | |||
+ | ===Hadoop=== | ||
+ | |||
+ | ===Elasticsearch=== | ||
+ | |||
+ | ===Solr=== | ||
+ | *[http://lucidworks.com/fusion/couchbase/ Couchbase Connector for Solr] | ||
+ | |||
+ | ===Spring=== | ||
+ | *[http://projects.spring.io/spring-data-couchbase/ Spring Data Couchbase] | ||
+ | |||
+ | ==系统== | ||
+ | *Cluster Quota is 2335MB per node, this server only has 1336MB 加入集群的要求,可在 Settings > Cluster 设置。 | ||
==文档== | ==文档== | ||
+ | *[http://docs.huihoo.com/amazon/aws/whitepapers/NoSQL-Database-in-the-Cloud-Couchbase-Server-2.0-on-AWS-July-2013.pdf NoSQL Database in the Cloud: Couchbase Server 2.0 on AWS] | ||
*[http://docs.huihoo.com/couchbase/couchbase-20111109.pdf Couchbase介绍] | *[http://docs.huihoo.com/couchbase/couchbase-20111109.pdf Couchbase介绍] | ||
*[http://docs.huihoo.com/couchbase/couchbase-at-paypal-2014.pdf How PayPal Manages 1B Documents & 10TB Data with Couchbase] | *[http://docs.huihoo.com/couchbase/couchbase-at-paypal-2014.pdf How PayPal Manages 1B Documents & 10TB Data with Couchbase] | ||
第29行: | 第111行: | ||
==图片== | ==图片== | ||
<gallery> | <gallery> | ||
+ | image:Couchbase-Cluster-With-Services-Production.png|多维伸缩 | ||
+ | image:Couchbase-Data-Service-Architecture.png|数据服务 | ||
+ | image:Couchbase-Query-Service-Architecture.png|查询服务 | ||
+ | image:Couchbase-Index-Service-Architecture.png|索引服务 | ||
+ | image:Couchbase-Cluster-Manager-Architecture.png|集群管理 | ||
+ | image:Couchbase-vBucket-Replication.png|复制 | ||
+ | image:Couchbase-Ring-Topology-XDCR.png|跨数据中心复制 | ||
+ | image:Couchbase-Groups-Two-Failover-One-Node.png|服务器组意识(Awareness) | ||
+ | image:Couchbase-Size-Limits.png|尺寸大小限制 | ||
+ | image:Couchbase-vBucket-To-Node-Mapping.png|vBucket | ||
+ | image:Couchbase-Compression-Diagram.png|压缩 | ||
+ | image:Couchbase-Caching-and-Persistence.png|缓存和持久化 | ||
image:couchbase-server-3.0.png|Couchbase Server 3.0 | image:couchbase-server-3.0.png|Couchbase Server 3.0 | ||
image:couchbase-server-2.0.png|Couchbase Server 2.0 | image:couchbase-server-2.0.png|Couchbase Server 2.0 | ||
image:couchbase-server-2.0-architecture.png|Couchbase Server 2.0 架构 | image:couchbase-server-2.0-architecture.png|Couchbase Server 2.0 架构 | ||
+ | image:couchbase-enterprise-edition.png|Couchbase企业版 | ||
+ | image:couchbase-vs-rdbms.png|与RDBMS的比较 | ||
image:couchbase-player-document.png|玩家JSON文档 | image:couchbase-player-document.png|玩家JSON文档 | ||
image:couchbase-monster-document.png|怪兽JSON文档 | image:couchbase-monster-document.png|怪兽JSON文档 | ||
+ | image:couchbase-server-architecture.png|架构 | ||
+ | image:couchbase-server-cluster.png|集群 | ||
+ | image:couchbase-cluster-manager-internals.png|集群管理器架构 | ||
+ | image:couchbase-database-engine-architecture.png|数据库引擎架构 | ||
+ | image:couchbase-server-mapreduce-workflow.png|MapReduce工作流 | ||
+ | image:couchbase-server-sharding-and-replicating.png|分片和复制 | ||
+ | image:ranter-components.png|Ranter组件 | ||
+ | image:couchbase-at-paypal-cookie-schema.png|Cookie存储 | ||
+ | image:couchbase-at-paypal-personalization.png|个性化 | ||
+ | image:couchbase-at-paypal-identity-profile-schema.png|身份信息 | ||
</gallery> | </gallery> | ||
==链接== | ==链接== | ||
*[http://www.couchbase.com/ Couchbase官网] | *[http://www.couchbase.com/ Couchbase官网] | ||
− | *[https://github.com/couchbase | + | *[http://www.couchbase.com/open-source Couchbase Open Source Community and Projects] |
+ | *[https://github.com/couchbase/couchdb CouchDB @ GitHub] | ||
+ | *[http://review.couchbase.org/ Couchbase Gerrit Code Review] | ||
+ | *[http://blog.couchbase.com/open-source-community-and-nosql Open Source, Community, and Couchbase] | ||
*[http://docs.huihoo.com/couchbase/couchbase-server/3.0/ Couchbase Server 3.0 文档] | *[http://docs.huihoo.com/couchbase/couchbase-server/3.0/ Couchbase Server 3.0 文档] | ||
*[http://docs.huihoo.com/couchbase/developer-guide/dev-guide-3.0/ Couchbase Server 3.0 开发者指南] | *[http://docs.huihoo.com/couchbase/developer-guide/dev-guide-3.0/ Couchbase Server 3.0 开发者指南] | ||
+ | *[http://www.ibm.com/developerworks/cn/data/library/ba/ba-hadoop-couchbase/index.html 结合使用 Hadoop 和 Couchbase] | ||
+ | *[http://zhang.hu/couchbase/ Couchbase介绍,更好的Cache系统] | ||
[[category:NoSQL]] | [[category:NoSQL]] | ||
[[category:database]] | [[category:database]] | ||
[[category:erlang]] | [[category:erlang]] |
2019年4月4日 (四) 10:32的最后版本
您可以在Wikipedia上了解到此条目的英文信息 Couchbase Thanks, Wikipedia. |
Couchbase 是一个开源(Apache V2) 的面向文档的 NoSQL 数据库。
Couchbase 基于 Apache CouchDB、Membase 合并构建,Couchbase 使用 Membase 替换掉了 Memcached。
Couchbase 可用于文档数据库、键/值存储、分布式Cache。
目录 |
[编辑] 关系
Couchbase 与 Membase, CouchDB 的关系:
- Membase公司有一个名为Membase的产品,它是个键/值、持久化、可伸缩的解决方案,使用了memcached wire协议。
- Membase公司与CouchOne公司合并后,合并之后的公司名取自每个公司名的一部分,即Couchbase。
- Couchbase产品包含了CouchDB的一个副本,Couchbase产品向CouchDB添加了缓存、集群等功能,比较了Couchbase与CouchDB。CouchDB的创建者及Couchbase的联合创始人Damien Katz表示他将专注于Couchbase,因为这是一个很好的机会,可以重新实现CouchDB,抛弃无法满足需求的、强化可用的功能,并将Membase的可伸缩性、速度、集群与缓存特性添加到合并后的Couchbase产品中。Damien对根据意见来决定的Apache项目的速度与进展表示遗憾,人们对于成功的商业产品需求的增长速度是飞快的。CouchDB产品具有更多的特性,如高级的复制与报表功能,但速度上却不尽如人意,也无法应付高负载。这两个产品的融合是成功的,Couchbase终将破茧而出。
[编辑] 优点
- Erlang 语言带来的优势;
- iOS、Android 移动终端数据存储支持;
- 内置MochiWeb轻量级HTTP Server;
- 产品家族覆盖移动端到数据中心;
- 移动端、单节点、多节点的数据同步;
- 缓存、K/V、文档存储的融合;
- 面向游戏,玩家、怪兽数据的JSON格式存储;
- 与Apache Hadoop的集成。
[编辑] 安装
[编辑] iOS/Android
[编辑] Debian
直接下载 deb安装包
dpkg -i couchbase-server-enterprise_3.0.1-debian7_amd64.deb http://localhost:8091 Administrator/your password /etc/init.d/couchbase-server start
或者
apt-get install libssl1.0.0 dpkg -i couchbase-server version.deb // only ubuntu, debian没有提供此包, 需源码安装。 mkdir ~/bin export PATH=~/bin:$PATH curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo chmod a+x ~/bin/repo ... 以下类似 OS X 的做法。
[编辑] OS X
直接下载安装包
或者 brew install cmake erlang git icu4c libevent snappy v8 v8, 3.25.30, is unsupported cd /usr/local/Library git checkout 0e4fe7f /usr/local/Library/Formula/v8.rb brew unlink v8 brew install v8 brew pin v8 git checkout -- /usr/local/Library/Formula/v8.rb export PATH=$PATH:/usr/local/bin:/usr/local/opt/icu4c/bin brew install repo 进入 https://github.com/couchbase/manifest 选择安装版本,如:3.0.2 $ mkdir couchbase $ cd couchbase $ repo init -u git://github.com/couchbase/manifest.git -m rel-3.0.2.xml $ repo sync $ make
可能出现的错误:
Undefined symbols for architecture x86_64 "v8::Function::Call(v8::Handle<v8::Value>, int, v8::Handle<v8::Value>*)", referenced from: ... ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
换个版本安装:repo init -u git://github.com/couchbase/manifest.git -m rel-2.5.2.xml --config-name & repo sync & make 出现错误:
checking for tc_malloc in -ltcmalloc_minimal... no configure: error: Unable to link with libtcmalloc_minimal" make[1]: *** [memcached/Makefile] Error 1
参考Ubuntu:sudo apt-get install build-essential libtcmalloc-minimal4 && sudo ln -s /usr/lib/libtcmalloc_minimal.so.4 /usr/lib/libtcmalloc_minimal.so
Google-perftools ,该项目包括TcMalloc、heap-checker、heap-profiler和cpu-profiler共4个组件。在只使用TcMalloc情况下可以不编译其他三个组件。
获得 gperftools-2.3.zip
./configure make sudo make install
再重新 $make //编译通过,OK!
[编辑] Docker
[编辑] Hadoop
[编辑] Elasticsearch
[编辑] Solr
[编辑] Spring
[编辑] 系统
- Cluster Quota is 2335MB per node, this server only has 1336MB 加入集群的要求,可在 Settings > Cluster 设置。
[编辑] 文档
- NoSQL Database in the Cloud: Couchbase Server 2.0 on AWS
- Couchbase介绍
- How PayPal Manages 1B Documents & 10TB Data with Couchbase
- LinkedIn @ Couchbase Connect Using Couchbase
- The NoSQL Technical Comparison Report
- NoSQL Performance when Scaling by RAM
[编辑] 图片
- 生成缩略图错误:
数据服务
[编辑] 链接
分享您的观点