Член организации Apache Software Foundation (http://www.apache.org/) (ASF) Мэтью Риу (Matthieu Riou) объявил (http://mail-archives.apache.org/mod_mbox/incubator-cassandra...) о том, что распределённое хранилище данных Apache Cassandra (http://incubator.apache.org/cassandra/) отныне становится проектом первого уровня (Apache Top-Level Project, TLP), что знаменует окончание периода нахождения проекта в "инкубаторе (http://incubator.apache.org/)".Изначально проект Cassandra был разработан в недрах компании Facebook, открывшего (http://perspectives.mvdirona.com/2008/07/12/FacebookReleases...) исходные тексты проекта в июле 2008 года. Facebook также принимает участие (http://developers.facebook.com/opensource.php) в разработке некоторых других проектов Apache, включая Thrift (http://incubator.apache.org/thrift/), Hive (http://hadoop.apache.org/hive/) и Apache Hadoop.
Cassandr...URL: http://mail-archives.apache.org/mod_mbox/incubator-cassandra...
Новость: http://www.opennet.me/opennews/art.shtml?num=25539
Клево. Вроде еще и на кошерной Java все работает =)PS как я понимаю Кассандра работает поверх HBase, что есть реализация BigTable поверх Hadoop.
>PS как я понимаю Кассандра работает поверх HBase, что есть реализация BigTable
>поверх Hadoop.Часть Hadoop это HDFS . Ее в кассандре нет . Нет вообще общей файловой системы .
Каждый нод сам по себе и получает данные от "соседей" .
Можно хранить несколько копий данных . Можно настраивать как будет происходить репликация ( например в разные дата центры ) .Нет встроенного понятия map-reduce .
Глюк в 0.5 - невозможно удалить супер колумн . Обещают починить .
Глюк в thrift - генерирует java code с ошибками ( констаны записывает как 0,1 , потом надо их кастить в нужное )А так 0.5 - работает . Закончили dev и препрод циклы . Скоро в прод .
Кстати , дата модель :
5 уровней хеша , ну то есть хеш внутри хеш внутри хеш и т.д .
Для тех кто знаком с перл - ясно сразу .
>Кстати , дата модель :
>5 уровней хеша , ну то есть хеш внутри хеш внутри
>хеш и т.д .
>Для тех кто знаком с перл - ясно сразу .А это же просто супер, а то для хранилищ ключ/значение приходится выдумывать разные хитрые комбинации для сериализации больших хэшей, чтобы лишние данные не дергать туда и обратно.
Значит Кассандра имеет распределенную структуру, но является альтернативой HBase. Правильно?
В целом - да . Но есть ньюансы ;)
А в чем разница с HBase? вроде как обе системы распределенные с балансингом и защитой от сбоя. Обе хранят данные типа BigTable и обе "колоночные"...?
>Клево. Вроде еще и на кошерной Java все работает =)В интервью с главным разрабочиком Twitter http://nosql.mypopescu.com/post/407159447/cassandra-twitter-... было написано, что они долго выбирали распределенную БД и в конце концов остановились на Cassandra. Из вариантов они рассматривали HBase, Voldemort, MongoDB, MemcacheDB, Redis, Cassandra, HyperTable. Видимо надежность и простота управления оказались важнее потери скорости из-за использования Java.
Железо обходится дешевле, чем люди и простои из-за людских ошибок.
Мы смотрели :
Voldemort - java
MongoDB - по моему Erlang
MemcacheDB - C
Redis - CИз всего этого только Voldemort сравним с Cassandra .
MemcacheDB & Redis сами не распаралеливаются .MongoDB вроде да , но он на текст заточен , точнее если хранить в нем документы то получаешь много вкусностей .
Кстати , если не нужно паралелить , Redis - зверь ;)
На скромном железе я из него выжал 80,000 req/s ( 1.5 кб даты за одну запись )
MongoDB - С
CouchDB - Erlang
Mnesia - Erlang.
часть LYME-стэка.
>Мы смотрели :
>
>Voldemort - java
>MongoDB - по моему Erlang
>MemcacheDB - C
>Redis - CА чего HBase не смотрели?
HDFS нам не нужен .
map - reduce - не нужен .У нас здоровый cache , надо будет его расширять постоянно.
С cassandra мы просто добавляем еще железяку и все .
> MongoDB вроде да, но он на текст заточен, точнее если хранить в нем документы то получаешь много вкусностей.Например? Полнотекстовый поиск из коробки там никакой, IIRC.
>Например? Полнотекстовый поиск из коробки там никакой, IIRC.Сам факт что он там есть - это уже не тривиально .
тривиально = просто
Да он там есть... При чем тут "тривиально"? Говорят же - никакой он!
Я бы не стал использовать нечто включающее "динамо". На всякий случай )