最近的一个项目中要求实现一个分布式数据库。在网上找了一些资料,发现有不少资料都提到了Memcachedb,以前使用Memcached做过Hibernate的二级缓存,不知道这个Memcachedb是个什么动动。后来通过网上找到这个是新浪互动社区事业部贡献的一个开源项目,性能和稳定性都不错,据说新浪的几个重头产品都在使用。好了开篇的题外话就说到这里。
下面简要介绍下Memcachedb,之后详细的介绍下如何安装该数据库(其实Memcachedb并不是一个严格意义上的数据库)。Memcachedb是一款支持高并发的分布式持久存储系统,对任何原有memcached客户端来讲,它仍旧是个memcached(也就说现有的memcachedb仍然可以像访问memcached一样来访问memcachedb),但是,它的数据是可以持久存储的。它使用memcached的网络层,用Berkeley DB来实现数据的持久化存储。下面从网上找到的一份关于Memcachedb读写性能测试的资料(但是我还没有测试过,仅供参考)。
写速度:从本地服务器通过memcache客户端(libmemcache) set 2亿条16字节长的key,10字节长的Value的记录,耗时16572秒,平均速度12000条记录/秒。
读速度:从本地服务器通过memcache客户端(libmemcache) get 100万条16字节长的key,10字节长的Value的记录,耗时103秒,平均速度10000条记录/秒。
再简单说下Berkeley DB(BDB),Berkeley DB(BDB)是一个高性能的,嵌入数据库编程库,和C语言,C++,Java,Perl,Python,Tcl以及其他很多语言都有应用程序编程界面。Berkeley DB可以保存任意类型的键/值对,而且可以为一个键保存多个数据。Berkeley DB可以支持数千的并发线程同时操作数据库,支持最大256TB的数据,广泛用于各
种操作系统包括大多数Unix/Linux类操作系统和Windows操作系统以及实时操作系统。
最后来讲下Ubuntu Linux中安装Memcachedb的步骤。安装前需要下载最新的libevent,memcachedb,Berkeley DB,下载的版本、地址清单如下:
Libevent 1.4.13(最新的稳定版本):http://www.monkey.org/~provos/libevent-1.4.13-stable.tar.gz
Memcachedb 1.2.0(该版本支持Berkeley DB 4.7):http://memcachedb.googlecode.com/files/memcachedb-1.2.0.tar.gz
Berkeley DB 4.7.25(BDB 4.7的最新版本):http://download.oracle.com/berkeley-db/db-4.7.25.tar.gz
程序下载好了我们就开始安装吧(操作系统:Ubuntu 9.04):
先安装libevent,因为在安装Memcachedb的时候需要用到。安装步骤:
root@estone-desktop:/home/estone/download$ tar -zxvf libevent-1.4.13-stable.tar.gz
root@estone-desktop:/home/estone/download$ cd libevent-1.4.13-stable
root@estone-desktop:/home/estone/download/libevent-1.4.13-stable$ ./configure --prefix=/usr/local/libevent && make && make install
之后安装Berkeley Db 。命令如下:
root@estone-desktop:/home/estone/download$ tar -zxvf db-4.7.25.tar.gz
root@estone-desktop:/home/estone/download$ cd db-4.7.25
root@estone-desktop:/home/estone/download/db-4.7.25$ cd build_unix/
root@estone-desktop:/home/estone/download/db-4.7.25/build_unix$ ../dist/configure
root@estone-desktop:/home/estone/download/db-4.7.25/build_unix$ make &&make install
这里需要注意的是如果你没有指定特殊安装路径,编译完成后,需要将Berkeley Db运行库的路径添加到系统配置里,命令如下:
root@estone-desktop:/home/estone/download/db-4.7.25/build_unix$echo "/usr/local/BerkeleyDB.4.7/lib/" >> /etc/ld.so.conf
然后重载系统ldconfig,命令如下:
root@estone-desktop:/home/estone/download/db-4.7.25/build_unix$ ldconfig
之后安装Memcachedb,命令如下:
root@estone-desktop:/home/estone/download$ tar zxvf memcachedb-1.2.0.tar.gz
root@estone-desktop:/home/estone/download$ cd memcachedb-1.2.0
root@estone-desktop:/home/estone/download/memcachedb-1.2.0$ ./configure --prefix=/usr/local/memcachedb-1.2.0 --with-libevent=/usr/local/libevent --
enable-threads
root@estone-desktop:/home/estone/download/memcachedb-1.2.0$ make && make install
这样Memcachedb的安装过程就完成了,为了确保该服务能正常运行,还是测试一下:
启动Memcachedb进程
root@estone-desktop:/home/estone/download$ memcachedb -p21201 -d -r -u root -f 21201.db -H /memcachedb/test -N -P /memcachedb/test/21201.pid
memcachedb: error while loading shared libraries: libdb-4.7.so: cannot open shared object file: No such file or directory
这里出现了一个错误(红字部分),提示找不到BDB的共享对象的文件。我们只要使用下面的命令将该文件加入到系统路径中就可以了(若提示找不到memecachedb命令可以使用绝
对路径):
root@estone-desktop:/home/estone/download$ export D_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/BerkeleyDB.4.7/lib
然后重新启动:
root@estone-desktop:/home/estone/download$ memcachedb -p21201 -d -r -u root -f 21201.db -H /memcachedb/test -N -P /memcachedb/test/21201.pid
使用Telnet进行测试,如果能正常进入,说明服务器已经启动:
root@estone-desktop:/home/estone/download$ telnet 127.0.0.1 21201
到此整个Memcachedb的安装过程就完成了。我也是初次使用Memcachedb,如果有好的发现,再来分享给大家,呵呵。
分享到:
相关推荐
本文将详细介绍如何在Ubuntu 9.04操作系统中安装VMware Tools,并解释每一步的具体操作及其背后的原理。 #### 二、准备工作 在开始安装之前,请确保已经完成了以下准备工作: 1. **确保虚拟机系统是Ubuntu 9.04**...
在本篇文章中,我们将深入探讨如何安装Ubuntu 9.04操作系统,这是一款基于Debian的Linux发行版,因其稳定性、易用性和强大的开源社区支持而受到广大用户的喜爱。Ubuntu 9.04,代号Jaunty Jackalope,发布于2009年,...
在安装过程中,用户首先会遇到的是下载Ubuntu 9.04的ISO镜像文件,这通常可以通过Ubuntu官方网站或者镜像站点完成。下载完成后,用户需要将其刻录到DVD光盘或制作成USB启动盘,以便在目标计算机上进行安装。 安装...
标题中的“硬盘安装Ubuntu 9.04过程详解”指的是在个人计算机的硬盘上安装Linux Ubuntu 9.04操作系统的详细步骤。Ubuntu 9.04,代号“Jaunty Jackalope”,是Ubuntu发布的一个较早的版本,于2009年推出,它提供了对...
对于学习ubuntu 9.04的童鞋很有用滴
请注意,上述命令中的“jaunty”指的是Ubuntu 9.04的代号,确保这些行与您的系统版本匹配。 4. **更新软件包列表**:保存并关闭编辑器后,运行以下命令来更新软件包列表。 ```bash sudo apt-get update ``` ##...
Ubuntu 9.04 ISPconfig设置
在Ubuntu 9.04操作系统中,中文输入法的安装对于使用中文的用户来说是必不可少的。这个压缩包提供了一套完整的解决方案,包含了多种输入法引擎和必要的支持库,以确保用户能够在系统中流畅地输入中文。以下是关于这...
ubuntu 9.04 安装配置优化全记录
Ubuntu-9.04-1gb.7z,是colinux下的Ubuntu 9.04的镜像文件~
### 新手在Windows环境下通过硬盘安装Ubuntu 9.04 的详细步骤 #### 知识点一:理解Ubuntu 9.04与Windows双系统安装背景 - **Ubuntu 9.04** 是一款基于Debian的开源操作系统,提供了一个用户友好的图形界面以及丰富...
OpenERP Installing Ubuntu9.04
标题中的“ubuntu9.04翻译软件stardict词典”指的是在Ubuntu 9.04操作系统上使用的Stardict翻译软件。Stardict是一款开源的、强大的词典和翻译工具,它支持多种语言和词典格式,允许用户在Linux环境下进行高效的词汇...
在Ubuntu 9.04操作系统中,中文输入法的配置对于中文用户来说是必不可少的。这个资源包提供了多种中文输入法方案,包括五笔码和拼音等常见输入方式,使得在Linux环境下输入中文变得更加便捷。下面我们将详细探讨这些...
### Ubuntu 9.04 下 Oracle 10G 安装指南 #### 一、环境与软件准备 本文档旨在指导如何在 Ubuntu 9.04 桌面平台上安装 Oracle 10G 数据库。为了确保安装过程顺利进行,请先确认已经具备以下条件: - **操作系统:*...
教程名称:Ubuntu 9.04 Linux视频教程23讲课程目录:【】01_简介【】02_安装篇_CD【】03_安装篇_Live.USB【】04_安装篇_LiveUSB安装【】05_安装篇_wubi安装【】06_基本命令篇_目录结构【】07_基本命令篇_ls【】08_...