Справка
x
Поиск
Закладки
Озвучить книгу
Изменить режим чтения
Изменить размер шрифта
Оглавление
Для озвучивания и цитирования книги перейдите в режим постраничного просмотра.
Искусство неизменяемой архитектуры: теория и практика управления данными в распределенных системах
ЧАСТЬ III. РЕАЛИЗАЦИЯ
Предыдущая страница
Следующая страница
Table of contents
Об авторе
О техническом рецензенте
Благодарности
Введение
ЧАСТЬ I. ОПРЕДЕЛЕНИЕ
+
ЧАСТЬ II. ПРИМЕНЕНИЕ
+
ЧАСТЬ III. РЕАЛИЗАЦИЯ
-
Глава 9. Инверсии запросов
Механизация проблемы
Анатомия запроса
Последовательность шагов
Фильтр по экзистенциальному состоянию
Затронутое множество
Вычисление затронутого набора
Инвертирование длинных запросов
Неудовлетворительные инверсии
Движение назад
Доказательство полноты
Новые результаты
Дальнейшая оптимизация
Экзистенциальные условия
Рекурсивная инверсия
Условия хвоста
Удаление результатов
Когда удаление не является удалением
Вложенные подзапросы
Тавтологические условия
Продолжение доказательства полноты
Потенциальные и фактические изменения
Удаление отсутствующих результатов
Кеши есть множества
Инверсия запросов на практике
Глава 10. Базы данных SQL
Идентичность
Хранение с адресацией по содержанию
Структура таблицы
Отношения
Вставка преемников
Необязательные предшественники
Много предшественников
Запросы
Соединения
Коррелированные подзапросы
Производные таблицы
Выбор результатов
Оптимизация
Ложные соединения
Охватывающие индексы
Where Not Exists
Интеграция
Интеграция унаследованных приложений
Создание отчетов из баз данных
Агностичные к приложениям хранилища
Общая таблица фактов
Отношения предшественников
Управление версиями
Преимущества
Коллизии хешей
Вероятность коллизии хешей
Избегайте использования хешей в качестве первичных ключей
Канонический хеш множества
Вставка многих предшественников
Изменяемые свойства
Удаление
Очереди
Сканеры
Триггеры
Захват изменений данных
Избегайте последовательных номеров версий
Структурное версионирование
Глава 11. Коммуникация
Гарантии доставки
Лучшие усилия
Подтверждение
Долговечные протоколы
Обработка сообщений
Большинство протоколов являются асинхронными
HTTP обычно является синхронным
Синхронизация данных
В рамках организации
Между организациями
Клиенты, подключающиеся время от времени
Безопасные методы
Идемпотентные методы
Неидемпотентные методы
Повторная попытка в пределах соединения
Очереди
Темы
Опорные точки
Многие подписчики
Ответы
Уведомления
Асинхронный через HTTP
Webhook
Эмуляция REST
Очередь на стороне клиента
Закладка на стороне клиента
Выбор подмножества
Предотвращение избыточных загрузок
Глава 12. Генерируемое поведение
Проекции
Определение проекций
Конвейеры проекций
Заинтересованность
Интерес к удаленным сущностям
Интерес к прошлым периодам
Совместное использование интересов
Потеря интереса
Неизменяемые среды выполнения
Генерация модели
Выполнение запросов
Тестирование
Взаимодействие с пользователем
Взаимодействие
Неизменяемые организации
Основа для принятия решений
Глобально распределенные системы
Данный блок поддерживает скрол*