Create your own awesome maps

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

кортежи

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

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