bookmate game
Клеппман М. .

Высоконагруженные приложения. Программирование, масштабирование, поддержка

Повідомити про появу
Щоб читати цю книжку, завантажте файл EPUB або FB2 на Букмейт. Як завантажити книжку?
  • Андрейцитує2 роки тому
    Представьте, что транзакция записала какие-то данные в базу, но еще не была зафиксирована или была прервана. Может ли другая транзакция увидеть эти незафиксированные данные? Если да, то такая операция чтения называется «грязной» (dirty read)
  • Андрейцитує2 роки тому
    В реплицируемой БД сохраняемость может означать, что данные были успешно скопированы на некоторое количество узлов. Для обеспечения гарантии сохраняемости база должна дожидаться завершения этих операций записи или репликаций, прежде чем сообщать об успешной фиксации транзакции.
  • Андрейцитує2 роки тому
    Сохраня­емость (durability) — обязательство базы не терять записанных (успешно зафиксированных) транзакций данных, даже в случае сбоя аппаратного обеспечения или фатального сбоя самой БД.
  • Андрейцитує2 роки тому
    идея согласованности зависит от точки зрения приложения на инварианты, и формулировать транзакции таким образом, чтобы сохранялась согласованность, — обязанность приложения. База данных не в состоянии это гарантировать, так как не сможет помешать записать «плохие» данные, наруша­ющие условия инвариантов.
  • Андрейцитує2 роки тому
    В контексте ACID под согласованностью понимается то, что база данных находится, с точки зрения приложения, в «хорошем состоянии».
  • Андрейцитує2 роки тому
    Возможность прервать транзакцию при ошибке и игнорировать все ее операции записи — отличительная черта атомарности ACID.
  • Windrushfarerцитує2 роки тому
    Как правило, LSM-деревья обычно быстрее при записи, а B-деревья — при чтении
  • Windrushfarerцитує2 роки тому
    Одна из страниц назначается корнем B-дерева, с него начинается любой поиск ключа в индексе. Данная страница содержит несколько ключей и ссылок на дочерние страницы. Каждая из них отвечает за непрерывный диапазон ключей, а ключи, располагающиеся между ссылками, указывают на расположение границ этих диапазонов.
  • Windrushfarerцитує2 роки тому
    B-деревья разбивают БД на блоки или страницы фиксированного размера, обычно 4 Кбайт (иногда больше), и читают/записывают по одной странице за раз. Такая конструкция лучше подходит для нижележащего аппаратного обеспечения, поскольку диски тоже разбиваются на блоки фиксированного размера.
  • Windrushfarerцитує2 роки тому
    Несмотря на множество нюансов, основная идея LSM-деревьев — применение каскада SS-таблиц, объединяемых в фоновом режиме, — проста и эффективна. Она хорошо работает даже в случае, когда размер набора данных значительно превышает доступный объем оперативной памяти. То, что данные хранятся в отсортированном виде, дает возможность эффективно выполнять запросы по диапазонам
fb2epub
Перетягніть файли сюди, не більш ніж 5 за один раз