Распределенная сеть B + деревья - PullRequest
2 голосов
/ 13 декабря 2011

Я хотел бы построить дерево B +, охватывающее несколько узлов
компьютерная сеть (внутренняя подсеть компьютеров Linux) для
эластичное массивное хранение. Сканирование диапазона важно.

Это в основном базовая структура данных
распределенные системы БД? (Кассандра, HBase)

Есть ли какие-нибудь исследования по распределенным деревьям B +?
Я видел статью в
http://www.cs.yale.edu/homes/aspnes/papers/opodis2005-b-trees-final.pdf
но пропустите BTrees, просто удалите неисправные узлы (что приводит к потере данных)

Меня особенно интересуют деревья B + со встроенной избыточностью
(то есть, если происходит сбой хоста и все узлы, которые он размещает, отключены,
Я бы хотел, чтобы другой реплицированный хост стал основным узлом
сервер и занять место неисправного хоста)

Я не хочу использовать коллекцию экземпляров БД
(1 узел, одна БД), так как шардинг не является хорошим выбором
для крупномасштабной системы хранения (по всему товару
аппаратное обеспечение x86, x64 с ОС FOSS).

Я заново изобретаю колесо?
Должен ли я просто использовать Cassandra или HBase?

1 Ответ

1 голос
/ 17 декабря 2011

Кассандра поддерживает диапазон запросов.

Google Big Table автоматически добавляет новые машины в кластер при включении машины. Это очень эластично и легко добавлять больше машин. К сожалению, его скорость имеет недостаток: запросы очень ограничены. Вы можете сделать несколько запросов диапазона. См. Эту статью для получения списка и более подробной информации: http://geothought.blogspot.com/2009/04/google-app-engine-and-bigtable-very.html

Отличный пример того, как данные хранятся в большой таблице: http://jimbojw.com/wiki/index.php?title=Understanding_Hbase_and_BigTable

Хороший пост переполнения стека: хранение массивных данных упорядоченных временных рядов в больших производных

...