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 — хранение данных, введение by Mind Map: HighLoad — хранение данных,
введение
0.0 stars - reviews range from 0 to 5

HighLoad — хранение данных, введение

CAP-теорема (теорема Брюера)

Принципы

Consisency, согласованность данных

Availability, доступность

Partition tolerance, устойчивость к сбою узлов

Определение

При построении распределенной системы, которая могла бы пережить отказ некоторых из ее компонент необходимо пожертвовать либо доступностью (avalability), либо согласованностью (consistency)

Рабочие комбинации

CA, ACID-СУБД, LDAP

CP

AP, DNS, eventually consystent, weak consistent

BASE

Basically Available, в случае сбоев страдает только часть системы / сессий

Soft-state, возможность жертвовать долговременным хранением состояния сессий

Eventually consistent, обеспечении согласования в практически обозримое время

Транзакционная целостность

ACID

Atomicity, что никакая транзакция не будет зафиксирована в системе частично, commit / rollback

Consistency, Согласованность данных

Isolation, другие процессы не должны видеть данные в промежуточном состоянии

Durability, успешные транзакции обязаны быть сохранены

Распределённые файловые системы

Мотивация

Не справляемся по месту

Не справляемся по нагрузке, Поможет репликация ФС, DRBD, rsync

Виды

Блочные устройства в ОС, часто userspace-реализации, через fuse, Lustre, HDFS, GFS (Google File System), проприетарная, GlusterFS

API-based, MogileFS, Livejournal

хранилище -- самый «капризный» компонент

На примере SQL-СУБД

очистить ресурсы, закрыть соединение

отдать результат

отсортировать данные, in-memory, filesort

index lookup, buffer cache, disk read

построить оптимальный план запроса

разобрать SQL- выражение

проверить кэш запросов

аутентификация

получить запрос

установить соединение, выделить ресурсы