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 — хранение данных, введение 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- выражение

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

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

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

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