Online Mind Mapping and Brainstorming

Create your own awesome maps

Online Mind Mapping and Brainstorming

Even on the go

with our free apps for iPhone, iPad and Android

Get Started

Already have an account? Log In

HighLoad — альтернативы реляционным СУБД (NoSQL) by Mind Map: HighLoad — альтернативы реляционным СУБД
(NoSQL)
5.0 stars - 2 reviews range from 0 to 5

HighLoad — альтернативы реляционным СУБД (NoSQL)

Ключ-значение key / value

Основные особенности

Хорошее горизонтальное масштабирование

Partitioning

Простые API

Отказ от встроенной транзакционной целостности

Нетабличная структура

Возможность сжатия ключей

Примеры

memcached, Memcache::CAS для предотвращения коллизий, уникальный token, теперь мы уверены, что "до нас ничего не меняли", unix-socket на 20% быстрее TCP, tcp / udp, можно одновременно

BerkleyDB, библиотека

MemcacheDB

Redis

MongoDB

tarantool, хранимые процедуры на Lua, атомарные сверхбыстрые транзакции на сервере, сервер бизнес-логики, кортежи, поддержка простого SQL, 100K writes, 260K reads, запросы могут посылаться пачками, поддержка асинхронного выполнения запросов

CouchDB

Membase

Протоколы

UnQL, Unstructured Query Language

Кластеризация k/v NoSQL

Распределение ключей по инстансам, builtin, обращаемся к любому серверу кластера, он отроутит, ручное, crc32($key) % srv_count, consistent_hash (кольцевой алгоритм), устойчивый к вылетанию нод кластера, нагрузка перераспределяется на "ближайшую" ноду, ketama, a consistent hashing algo for memcache clients

Обеспечение избыточности, builtin, ручное, надо дублировать вручную ключи на нескольких серверах, либо мы готовы потерять часть данных :(

Выбор ключа кэширования

serialize($options)

Если получаются длинные ключи?, hash($key)

Советы

Асинхронные операции на изменения (не ожидаем ответа)

Полнотекстовый поиск

sphynx

apache solr

Объектные БД

Caché

FastDB

GigaBase

http://www.garret.ru/gigabase.html

http://www.garret.ru/compare.html

http://en.wikipedia.org/wiki/Comparison_of_object_database_management_systems

Column-based СУБД

Плюсы

Каждую колонку можно отсортировать по своему

Не нужны индексы

Эффективное сжатие данных

Уже посчитанная статистика

примеры

Infobright

InfiniDB

MonetDB

Гибридные механизмы

HandlerSocket

OLAP + OLTP в одном флаконе

Текстовые файлы и текстовые утилиты

Отсортированные файлы

intersection

merge

diff

map

reduce

Неотсортированные файлы

grep

merge (with dups)

map

reduce

Файлы в ФС

иерархическая k/v СУБД

поддержка блокировок

может быть много файлов

xfs

Модели данных

key / value

put

get

get_multy

delete

increment / decrement

append / prepend

extended record

lists, lpush, rpush, lpop, rpop, len, range, ..

sets, add, rem, find, ...

document

кортежи

произвольный набор полей

могут быть индексы