Статистика

Участников проекта 105
Опубликовано статей 78
Отчет по карме. Топ 20

Новости блога

1 29.11.2013  Сегодня самым активным участникам newblog'а был выплачен доход с sape.
7 02.11.2012  Ура! Свешилось, нашему сайту дали тИЦ 10. Спасибо всем кто принимает участие в развитии нашего блога.
8 21.08.2012  Интеграция с sape.ru. Теперь каждый автор статей на newblog автоматически зарабатывает на рекламе.
Все новости

Топ 5 категорий

Программирование 46
Операционные системы 9
Базы данных 4
Туризм 2
Заметки 2

Последние 5 заметок (90)

gullyar - Закладки gullyar
gullyar - Ваша первая закладка
osadchaya - Закладки osadchaya
Ira0231188 - Закладки Ira0231188
Ira0231188 - Закладки Ira0231188

Ссылки

www.freedev.asia
9 недель беременности это сколько месяцев
Пишет сайт http://oskol-sait.ru

Cassandra, первые шаги в NoSQL. (часть 1. Debain, установка)

18.12.2011 22:45 | Просмотров: 2831 | Доход: 105.65 руб. | Комментариев: 1
[Операционные системы] 
Рейтинг: 3.6/5

Еще давно обратил внимание на Cassandra - распределенную базу данных от apache, но все не доходили руки попробывать ее. Заинтересовало меня в первую очередь то, что эта система позволяет хранить и обрабатывать гигантское количество информации (ведь не зря же это потомок google big table).. К дополнительным плюсам можно отнести то что система крайне отказоустойчива, т.к. каждая запись дублируется на каждом элементе кластера, а также масштабируема и позволяет добавлять сколько угодно узлов в кластер. Стыдно признавать, но с NoSQL до сих пор работать не приходилось вот и решил попробывать. Первое что я сделал - пошел на оффсайт cassandra.apache.org который мне любезно предложил скачать v1.0.6.

Расспаковываем
tar xvf apache-cassandra-1.0.6-bin.tar.gz
 
Создаем директорию для логов и определяем владельца
mkdir -p /var/log/cassandra
chown -R `whoami` /var/log/cassandra
 
Тоже самое подготавливаем для библиотек
mkdir -p /var/lib/cassandra
chown -R `whoami` /var/lib/cassandra
 
Судя по readme дефолтный конфиг вполне подходит для первого запуска. Поэтому не вижу смысла медлить, запускаем..
cd apache-cassandra-1.0.6/bin
./cassandra -f
 
Кассандра весело сообщает нам что она запустилась и бдительно ожидает нас на порту 9160:
 INFO 22:15:18,028 Binding thrift service to localhost/127.0.0.1:9160
 INFO 22:15:18,071 Using TFastFramedTransport with a max frame size of 15728640 bytes.
 INFO 22:15:18,082 Using synchronous/threadpool thrift server on localhost/127.0.0.1 : 9160
 INFO 22:15:18,083 Listening for thrift clients...

 
В комплекте архива оказался консольный клиент, который нетерпелось попробывать:
./cassandra-cli --host localhost
 
Создаю базу данных:
[default@unknown] create keyspace newblog;
51382c40-2994-11e1-0000-242d50cf1fff
Waiting for schema agreement...
... schemas agree across the cluster
 
В глаза сразу бросился uid\хеш. Если верить гуглу, то вся структура базы данных кассандры основана именно на хеш. Выбираем созданную бд.
[default@unknown] use newblog;
Authenticated to keyspace: newblog
 
Создаем таблицу Users. Column family - таблица с возможностью создавать колонки " online".
[default@newblog] create column family Users with comparator=UTF8Type and default_validation_class=UTF8Type and key_validation_class=UTF8Type;
7d6d0c30-2995-11e1-0000-242d50cf1fff
Waiting for schema agreement...
... schemas agree across the cluster
 
Создаем 4ре пробных записи:
[default@newblog] set Users[admin][phone] = '8(123)456789';
Value inserted.
Elapsed time: 115 msec(s).
[default@newblog] set Users[admin][email] = 'mail@newblog.kz';
Value inserted.
Elapsed time: 3 msec(s).
[default@newblog] set Users[user][phone] = '8(123)987654';
Value inserted.
Elapsed time: 3 msec(s).
[default@newblog] set Users[user][email] = 'user@mail.ru';
Value inserted.
Elapsed time: 4 msec(s).
 
Теперь можем получить данные из таблицы:
[default@newblog] get Users[admin];
=> (column=email, value=mail@newblog.kz, timestamp=1324226239804000)
=> (column=phone, value=8(123)456789, timestamp=1324226233022000)
Returned 2 results.
Elapsed time: 180 msec(s).

Пожалуй для первого раза хватит. В следующей статье расскажу про то, как подружить cassandra и php!

© GM
| Комментировать статью |
  • Аноним 0 (21.02.2012 22:49)
    kogda budet sleduiuwaya statya? kak svyazat\' cassandra i "java"
    | Ответить |