FastNetMon

Friday, 13 March 2009

Сборка и установка MemcacheDB

Что это?

"Memcachedb is a distributed key-value storage system designed for persistent."
(с) пдфка с презентацией этой бд, которую я настоятельно рекомендую пролистать всем: http://memcachedb.org/memcachedb-guide-1.0.pdf


Зачем?

MemcacheDB -- очень быстрая не реляционная БД (основана на ключах), имеющая поддержку транзакций, репликаций, а также имеющая универсальный АПИ (как раз от Memcached`а). Эта БД нужна там, где скорости MySQL / PostgreSQL недостаточно, а их функций предостаточно. По заявлениям разработчиков, скорость записи в MemcacheDB может достигать 20 000 записей в секунду, а чтения -- до 50 000 записей / секунду (на машинке Dell 2950III); не правда ли, неплохо?

+ искаропки мы получаем такую фичу как горячие бэкапы БД.

Кто авторы и где офсайт?

Официальный сайт этой БД: http://memcachedb.org/

Как поставить?

Ставить мы будем стабильную 1.2.0 версию вот отсюда: http://code.google.com/p/memcachedb/downloads/list

Итак, мануал по установке вот тута: http://memcachedb.googlecode.com/svn/trunk/INSTALL

Мануал в целом отличный, но от меня будут следующие правки к нему (диффы, надеюсь, все читать умеют? Для тех, кто не умеет: с минусом строка, которую удаляем, с плюсом -- та, которую добавляем):

BDB:
-$../dist/configure
+$../dist/configure --prefix=/opt/bdb47


libevent:
-$./configure
+$./configure --prefix=/opt/livevent13e


По поводу .so:
Вот это:
Load .so file by add two line in /etc/ld.so.conf:

/usr/local/lib
/usr/local/BerkeleyDB.4.7/lib


Заменяем на:
/opt/livevent13e/lib
/opt/bdb47/lib


MemcachDB:
-$./configure --enable-threads
+$./configure --enable-threads --prefix=/opt/memcacnedb120 --with-libevent=/opt/livevent13e --with-bdb=/opt/bdb47

Правки обусловлены тем, что я не привык засорять систему мусором, поэтому ставлю все, собранное из сорцов, в /opt.

Ну вот и всё, пробуем запустить собраный бинарик: /opt/memcacnedb120/bin/memcachedb -h. О запуске в "продакшен" режиме и о работе с этой БД расскажу в следующих статьях :)

1 comment :

  1. Я написал Source RPM (SRPM) для memcachedb.

    Культурно оформил логирование, вынес конфигурацию в /etc/sysconfig/memcachedb.

    Теперь удобно инсталировать/деинсталировать/апдейтить memcachedb на Redhat-совместимых платформах.

    Скомпилировать под свой дистрибутив очень просто: ставим memcachedb-*.src.rpm и в папке ~/rpmbuild/SPECS/ запускаем

    rpmbuild -ba memcachedb.spec

    ReplyDelete

Note: only a member of this blog may post a comment.