وبلاگ بلیان

Искусство неизменяемой архитектуры: теория и практика управления данными в распределенных системах

معرفی کتاب «Искусство неизменяемой архитектуры: теория и практика управления данными в распределенных системах» نوشتهٔ Майкл Л. Перри; перевод с английского С. В. Минца، منتشرشده توسط نشر ДМК Пресс در سال 2022. این کتاب در فرمت pdf، زبان ru ارائه شده است.

Most textbooks on regression focus on theory and the simplest of examples. Real statistical problems, however, are complex and subtle. This is not a book about the theory of regression. It is about using regression to solve real problems of comparison, estimation, prediction, and causal inference. Unlike other books, it focuses on practical issues such as sample size and missing data and a wide range of goals and techniques. It jumps right in to methods and computer code you can use immediately. Real examples, real stories from the authors' experience demonstrate what regression can do and its limitations, with practical advice for understanding assumptions and implementing methods for experiments and observational studies. They make a smooth transition to logistic regression and GLM. The emphasis is on computation in R and Stan rather than derivations, with code available online. Graphics and presentation aid understanding of the models and model fitting. Об авторе О техническом рецензенте Благодарности Введение Определение Часть I Глава 1 Почему неизменяемая архитектура Решение проблемы неизменяемости Проблемы с неизменяемостью Начинаем новое путешествие Ошибки распределенных вычислений Сеть ненадежна Время задержки не равно нулю Топология не меняется Изменение предположений Неизменяемость меняет все Совместное изменяемое состояние Структурное разделение Проблема двух генералов Заранее подготовленный протокол Уменьшение неопределенности Дополнительное сообщение Доказательство невозможности Смягчение ограничений Переопределение проблемы Решать и действовать Принять истину Действенный протокол Примеры неизменяемой архитектуры Git Блокчейн Docker Глава 2 Формы неизменяемой архитектуры Выведение состояния из истории Исторические записи Опираясь на прошлое Развитие понимания Изменяемые объекты Идентичность Изменение состояния Проекции Два вида состояния Проецирование объектов Поиск событий Генерация событий CQRS DDD Взгляд с точки зрения функций Коммутативные и идемпотентные события Асинхронное обновление представления модели Цикл обновления Однонаправленный поток данных Неизменяемая архитектура приложений Историческое моделирование Частичный порядок Предшественники Преемники Неизменяемые графы Совместная работа Ациклические графы Своевременность Ограничения исторического моделирования Отсутствие центральной власти Отсутствие часов реального времени Отсутствие ограничений уникальности Отсутствие агрегирования Глава 3 Как читать историческую модель Графы типов фактов Шахматная партия Важные атрибуты Цепочка фактов Исход партии Графы экземпляров фактов Бессмертная партия Регистрация ходов Блестящая победа Язык фактологического моделирования Объявление типов фактов Запрос модели Переход по уровням Объединение совпадений Экзистенциальные квантификаторы Текущее значение Правила авторизации Шахматное приложение Примеры использования Интерфейс пользователя Действия Представления ЧАСТЬ II Применение Глава 4 Независимость от местоположения Моделирование с неизменяемостью Синхронизация Изучение соглашений Идентичность Автоинкрементные идентификаторы Зависимость от среды Вставка отношения «родитель–ребенок» Удаленное создание URL-адреса Идентификация, не зависящая от местоположения Естественные ключи GUID Временные метки Кортежи Хеши Открытые ключи Случайные числа Причинность Упорядочивание шагов Транзитивное свойство Параллелизм Частичный порядок Теорема CAP Определение CAP Доказательство теоремы CAP Проверка алгоритма Конечная согласованность Виды согласованности Сильная конечная согласованность в системе ретрансляции Идемпотентность и коммутативность Получение сильной конечной согласованности Система управления контактами Воспроизведение истории Бесконфликтные реплицированные типы данных (CRDT) CRDT, основанные на состоянии Частично упорядоченное состояние Причинная история Векторные часы История фактов Наборы Частичная упорядоченность Обновление Слияние Исторические записи Различение записей Удаление записи Изменение записи Записи причинно-следственно связаны Преимущества явной причинности Исторические факты Заключение Глава 5 Анализ Примеры использования От сценария использования к решению От расширения к преемственности Данные Идентификаторы Кардинальность Изменение Представления Поиск точки старта Аннотированные каркасы Удаление из списков Сотрудничество Регионы Пересечение границ Разговоры Факты о публикации Взаимодействие подсистем Допустимые упорядочения Устранение условий гонки Реагирование на различные допустимые заказы Последствия Индексы Ограничения уникальности Навигация Поиск Ожидаемое количество результатов Отсутствие неявного порядка Агрегаты Итерации Порядок создания Глава 6 Переходы состояний Множество свойств Доставка и выставление счетов Внедрение обратных заказов заказов у поставщика Отмены и возвраты Параллельные конечные автоматы Много дочерних элементов Отслеживание проблем в программном обеспечении Дочернее состояние Составные диаграммы перехода состояний Декларативная функция состояний Условная проверка Допустимость неопределенного состояния Циклы в изменении состояния Сбор данных во время переходов Неизменяемые переходы состояний Вопрос, стоящий за состоянием Перевод конечного автомата в историческую модель Выполнение заказов Отслеживание изменений в программном обеспечении Причины для вычисления состояния Обработка следующего действия Поиск рабочих элементов Выполнение компенсирующих транзакций Единый источник истины Оркестраторы Согласованное состояние Центральная проверка Сходящиеся истории Определение неизменяемых записей Запрос для следующего действия Локальное фиксирование действий Определите компенсирующие действия Глава 7 Безопасность Доказательство авторства Ключевые пары Дайджест Авторизация Факты принципала Запрос авторизации Первоначальная авторизация Предоставление полномочий Ограниченные полномочия Неограниченные полномочия Транзитивная авторизация Отмена Авторизация при получении Конфиденциальность Недоверенные узлы Асимметричное шифрование Асимметричное ограничение размера Шифрование симметричного ключа Шифрование исторических фактов Ограничьте распространение конфиденциальных фактов Правила распространения Доказательства Атаки и контрмеры Секретность Общий симметричный ключ Секретный канал для обсуждения Создание секретного канала Командные правила распространения Ограничение области применения общего ключа Когорты Периоды Глава 8 Шаблоны Структурные шаблоны Сущность Структура Пример Последствия Связанные шаблоны Владение Структура Пример Последствия Связанные шаблоны Удаление Структура Пример Последствия Связанные шаблоны Восстановление Структура Пример Последствия Связанные шаблоны Членство Структура Пример Последствия Связанные шаблоны Изменяемое свойство Структура Пример Последствия Связанные шаблоны Ссылка на сущность Структура Пример Последствия Связанные шаблоны Шаблоны рабочих процессов Транзакция Структура Пример Последствия Связанные шаблоны Очередь Структура Пример Последствия Связанные шаблоны Период Структура Пример Последствия Связанные шаблоны Исходящие Структура Пример Последствия Связанные шаблоны Проектирование на основе ограничений ЧАСТЬ III Реализация Глава 9 Инверсии запросов Механизация проблемы Анатомия запроса Последовательность шагов Фильтр по экзистенциальному состоянию Затронутое множество Вычисление затронутого набора Инвертирование длинных запросов Неудовлетворительные инверсии Движение назад Доказательство полноты Новые результаты Дальнейшая оптимизация Экзистенциальные условия Рекурсивная инверсия Условия хвоста Удаление результатов Когда удаление не является удалением Вложенные подзапросы Тавтологические условия Продолжение доказательства полноты Потенциальные и фактические изменения Удаление отсутствующих результатов Кеши есть множества Инверсия запросов на практике Глава 10 Базы данных SQL Идентичность Хранение с адресацией по содержанию Преимущества Коллизии хешей ВЕРОЯТНОСТЬ КОЛЛИЗИИ ХЕШЕЙ Избегайте использования хешей в качестве первичных ключей Структура таблицы Отношения Вставка преемников Необязательные предшественники Много предшественников Канонический хеш множества Вставка многих предшественников Запросы Соединения Коррелированные подзапросы Производные таблицы Выбор результатов Оптимизация Ложные соединения Охватывающие индексы Where Not Exists Изменяемые свойства Удаление Очереди Интеграция Интеграция унаследованных приложений Сканеры Триггеры Захват изменений данных Создание отчетов из баз данных Агностичные к приложениям хранилища Общая таблица фактов Отношения предшественников Управление версиями Избегайте последовательных номеров версий Структурное версионирование Глава 11 Коммуникация Гарантии доставки Лучшие усилия Подтверждение Безопасные методы Идемпотентные методы Неидемпотентные методы Повторная попытка в пределах соединения Долговечные протоколы Очереди Темы Обработка сообщений Большинство протоколов являются асинхронными HTTP обычно является синхронным Синхронизация данных В рамках организации Опорные точки Многие подписчики Ответы Уведомления Между организациями Асинхронный через HTTP Webhook Эмуляция REST Клиенты, подключающиеся время от времени Очередь на стороне клиента Закладка на стороне клиента Выбор подмножества Предотвращение избыточных загрузок Глава 12 Генерируемое поведение Проекции Определение проекций Конвейеры проекций Заинтересованность Интерес к удаленным сущностям Интерес к прошлым периодам Совместное использование интересов Потеря интереса Неизменяемые среды выполнения Генерация модели Выполнение запросов Тестирование Взаимодействие с пользователем Взаимодействие Неизменяемые организации Основа для принятия решений Глобально распределенные системы "Many textbooks on regression focus on theory and the simplest of examples. Real statistical problems, however, are complex and subtle. This is not a book about the theory of regression. It is a book about how to use regression to solve real problems of comparison, estimation, prediction, and causal inference. It focuses on practical issues such as sample size and missing data and a wide range of goals and techniques. It jumps right in to methods and computer code you can use fresh out of the box."--Page 4 de la couverture Real statistical problems are complex and subtle. This text is about using regression to solve real problems of comparison, estimation, prediction, and causal inference, based on real stories from the authors' experience. It offers practical advice for understanding assumptions and implementing methods through graphics and computing in R and Stan.
دانلود کتاب Искусство неизменяемой архитектуры: теория и практика управления данными в распределенных системах