Опубликовано

Вышла книга “Основы инженерии данных: как создавать надёжные системы обработки данных”

Основы инженерии данных: как создавать надёжные системы обработки данных

Базовая книга по инженерии данных. Рассмотрены все аспекты проектирования и эксплуатации различных архитектур данных, а также полный жизненный цикл работы с данными: подготовка, поглощение, преобразование, очистка, сочетание, оркестрация, конвейеризация. Особое внимание уделено облачным технологиям, распределению нагрузки и безопасному хранению данных. Разобраны приёмы формирования запросов, работы с базами данных и отслеживания потоков данных. Книга даёт исчерпывающее представление о проектировании систем для обработки разнородных данных, поддержании этих систем в упорядоченном и доступном виде и о тенденциях развития современной индустрии данных.

Последнее десятилетие инженерия данных бурно развивается, поэтому среди программистов, исследователей и аналитиков данных растёт запрос на комплексное рассмотрение инженерии данных как цельной парадигмы.

Из книги вы узнаете, как проектировать и создавать enterprise-системы для обработкпи данных. Книга помогает оценить разнообразные технологии, доступные в рамках инженерии данных, понять жизненный цикл данных как продукта.

Авторы демонстрируют все тонкости инженерии данных в динамике, рассказывают, как объединять и сочетать различные облачные технологии обработки данных для максимального удовлетворения интересов пользователя. Показано, как организовать генерацию, поглощение, оркестрацию, преобразование, хранение и конвейеризацию данных и управление ими в любой среде, независимо от того, на основе какой базовой технологии она построена.

В этой книге:

  • Краткий обзор технологического ландшафта современной инженерии данных
  • Решение задач по инженерии данных с применением наилучших практик
  • Подбор технологий, выстраивание архитектуры данных, налаживание бизнес-процессов
  • Внедрение практик управления данными и обеспечения безопасности процессов в рамках всего жизненного цикла инженерии данных

Сегодня мир данных активно развивается. Сначала их проектировали, затем укладывали в базах данных. Затем ими занялись шефы. Потом появились архитекторы данных. Эта книга открывает новый этап на пути к зрелости всей индустрии данных. Абсолютно необходимый материал для всех, кто всерьёз желает делать карьеру в области работы с данными.

Билл Инмон, основоположник технологии хранилищ данных

Эта книга — отличное введение в темы передачи, обработки и преобразования данных. Исключительно рекомендую её всем, кто желает быстрее развиваться в инженерии или анализе данных, а также практикующим специалистам, которым требуется заполнить пробелы в знаниях.

Джордан Тигани, основатель и генеральный директор сайта MotherDuck, основатель
и соавтор проекта BigQuery

Книгу “Основы инженерии данных: как создавать надёжные системы обработки данных можно купить со скидкой в интернет-магазине издательства “БХВ“.

Отзывы о книге……………………………………………………………………………………… 17

Предисловие…………………………………………………………………………………………… 20

О чем не расскажет эта книга…………………………………………………………………………………………………… 20

О чем расскажет эта книга………………………………………………………………………………………………………… 20

Для кого предназначена эта книга…………………………………………………………………………………………… 21

Предварительные требования………………………………………………………………………………………………….. 22

Что вы узнаете и как улучшите свои способности…………………………………………………………………. 22

Структура книги………………………………………………………………………………………………………………………… 23

Условные обозначения……………………………………………………………………………………………………………… 24

Благодарности…………………………………………………………………………………………………………………………… 24

Часть I. Основы и компоненты………………………………………………… 27

Глава 1. Понятие инженерии данных…………………………………………………….. 29

Что такое инженерия данных?………………………………………………………………………………………………….. 29

Определение понятия «инженерия данных»………………………………………………………………… 30

Жизненный цикл инженерии данных……………………………………………………………………………. 31

Эволюция инженерии данных……………………………………………………………………………………….. 32

Ранние годы: 1980–2000гг., от хранилищ данных до Интернета……………………… 32

Начало 2000-х годов: Рождение современной инженерии данных…………………… 32

2000–2010-е годы: Инженерия больших данных………………………………………………… 34

2020-е годы: Инженерия жизненного цикла данных…………………………………………… 36

Инженерия данных и наука о данных………………………………………………………………………….. 37

Навыки и деятельность в области инженерии данных…………………………………………………………… 39

Зрелость данных и инженер данных…………………………………………………………………………….. 40

Этап 1. Начало работы с данными………………………………………………………………………. 41

Этап 2. Масштабирование на основе данных…………………………………………………….. 42

Этап 3. Управление на основе данных………………………………………………………………… 43

Подготовка и навыки инженера данных………………………………………………………………………. 44

Деловые обязанности…………………………………………………………………………………………………….. 45

Технические обязанности………………………………………………………………………………………………. 46

Континуум ролей инженеров данных от A до B………………………………………………………….. 49

Инженеры данных в организации…………………………………………………………………………………………….. 50

Инженеры данных, ориентированные на внутренних и внешних потребителей……… 50

Инженеры данных и другие технические специалисты……………………………………………… 51

Заинтересованные стороны выше по потоку обработки……………………………………. 52

Заинтересованные стороны ниже по потоку обработки……………………………………. 53

Инженеры данных и руководство компании……………………………………………………………….. 56

Данные в высшем руководстве……………………………………………………………………………… 56

Инженеры данных и менеджеры проектов…………………………………………………………… 58

Инженеры данных и менеджеры продуктов………………………………………………………… 59

Инженеры данных и другие руководящие должности……………………………………….. 59

Заключение………………………………………………………………………………………………………………………………… 59

Дополнительные ресурсы…………………………………………………………………………………………………………. 60

Глава 2. Жизненный цикл инженерии данных………………………………………. 62

Что такое жизненный цикл инженерии данных?…………………………………………………………………….. 62

Жизненный цикл данных в сравнении с жизненным циклом инженерии данных…….. 63

Генерация: исходные системы………………………………………………………………………………………. 64

Оценка исходных систем: ключевые технические особенности……………………….. 65

Хранение…………………………………………………………………………………………………………………………. 66

Оценка систем хранения данных: ключевые технические особенности…………… 67

О частоте доступа к данным…………………………………………………………………………………. 68

Выбор системы хранения данных………………………………………………………………………… 68

Поглощение…………………………………………………………………………………………………………………….. 69

Ключевые инженерные особенности для фазы поглощения……………………………… 69

Пакетная передача в сравнении с потоковой………………………………………………………. 70

Ключевые особенности пакетного и потокового поглощения данных…………….. 70

Модели Push и Pull………………………………………………………………………………………………….. 71

Преобразование……………………………………………………………………………………………………………… 72

Ключевые особенности этапа трансформации…………………………………………………… 72

Предоставление данных………………………………………………………………………………………………… 74

Аналитика……………………………………………………………………………………………………………….. 74

Машинное обучение………………………………………………………………………………………………. 76

Обратный ETL………………………………………………………………………………………………………… 77

Основные фоновые процессы жизненного цикла инженерии данных………………………………….. 78

Безопасность…………………………………………………………………………………………………………………… 79

Управление данными……………………………………………………………………………………………………… 80

Руководство данными……………………………………………………………………………………………. 81

Качество данных……………………………………………………………………………………………………. 86

Моделирование и проектирование данных…………………………………………………………. 87

Происхождение данных………………………………………………………………………………………… 88

Интеграция данных и совместимость…………………………………………………………………… 88

Управление жизненным циклом данных……………………………………………………………… 89

Этика и конфиденциальность……………………………………………………………………………….. 90

DataOps……………………………………………………………………………………………………………………………. 90

Автоматизация……………………………………………………………………………………………………….. 92

Наблюдаемость и мониторинг……………………………………………………………………………… 93

Реакция на инциденты……………………………………………………………………………………………. 94

Резюмируем DataOps……………………………………………………………………………………………… 95

Архитектура данных……………………………………………………………………………………………………… 95

Оркестровка…………………………………………………………………………………………………………………….. 96

Программная инженерия……………………………………………………………………………………………….. 97

Основной код обработки данных…………………………………………………………………………. 98

Разработка фреймворков с открытым исходным кодом…………………………………….. 98

Потоковая передача данных…………………………………………………………………………………. 99

Инфраструктура как код……………………………………………………………………………………….. 99

Конвейеры как код…………………………………………………………………………………………………. 99

Решение задач общего назначения…………………………………………………………………….. 100

Заключение………………………………………………………………………………………………………………………………. 100

Дополнительные ресурсы……………………………………………………………………………………………………….. 101

Глава 3. Проектирование качественной архитектуры данных…………….. 102

Что такое архитектура данных?…………………………………………………………………………………………….. 102

Определение архитектуры предприятия……………………………………………………………………. 102

Определение из TOGAF……………………………………………………………………………………….. 103

Определение от Gartner……………………………………………………………………………………….. 103

Определение из EABOK……………………………………………………………………………………….. 104

Наше определение……………………………………………………………………………………………….. 104

Определение архитектуры данных…………………………………………………………………………….. 106

Определение из TOGAF……………………………………………………………………………………….. 106

Определение из DAMA………………………………………………………………………………………… 106

Наше определение……………………………………………………………………………………………….. 106

«Качественная» архитектура данных………………………………………………………………………… 107

Принципы качественной архитектуры данных…………………………………………………………………….. 108

Принцип 1: Грамотный выбор общих компонентов………………………………………………….. 109

Принцип 2: Планирование на случай неудачи………………………………………………………….. 110

Принцип 3: Архитектура для обеспечения масштабируемости………………………………. 111

Принцип 4: Архитектура лидерства…………………………………………………………………………… 111

Принцип 5: Всегда заниматься архитектурой…………………………………………………………… 112

Принцип 6: Построение слабосвязанных систем………………………………………………………. 113

Принцип 7: Принимать обратимые решения……………………………………………………………… 114

Принцип 8: Приоритет отдается безопасности…………………………………………………………. 115

Модели безопасности с усиленным периметром и нулевым доверием…………… 115

Модель разделения ответственности…………………………………………………………………. 116

Инженеры данных как инженеры по безопасности………………………………………….. 116

Принцип 9: Освоение FinOps……………………………………………………………………………………….. 117

Основные понятия архитектуры…………………………………………………………………………………………….. 119

Домены и сервисы………………………………………………………………………………………………………… 119

Распределенные системы, масштабируемость и проектирование
с учетом отказов…………………………………………………………………………………………………………… 120

Слабая связанность в сравнении с сильной: уровни, монолиты и микросервисы….. 122

Уровни архитектуры……………………………………………………………………………………………. 122

Монолиты……………………………………………………………………………………………………………… 124

Микросервисы………………………………………………………………………………………………………. 125

Особенности архитектуры данных…………………………………………………………………….. 126

Доступ пользователей: отдельный и мультиарендный подходы…………………………….. 127

Событийно-ориентированная архитектура………………………………………………………………. 127

Сравнение проектов типа Brownfield и Greenfield……………………………………………………… 128

Проекты Brownfield………………………………………………………………………………………………. 128

Проекты Greenfield……………………………………………………………………………………………….. 129

Примеры и типы архитектуры данных………………………………………………………………………………….. 130

Хранилище данных………………………………………………………………………………………………………. 130

Облачное хранилище данных…………………………………………………………………………….. 133

Витрины данных………………………………………………………………………………………………….. 133

Озеро данных………………………………………………………………………………………………………………… 134

Совмещение, озера данных нового поколения и платформы данных…………………….. 135

Современный стек обработки данных……………………………………………………………………….. 136

Лямбда-архитектура……………………………………………………………………………………………………. 137

Каппа-архитектура………………………………………………………………………………………………………. 138

Модель потока данных и унифицированные пакетная и потоковая обработка……. 139

Архитектура для IoT……………………………………………………………………………………………………. 140

Устройства……………………………………………………………………………………………………………. 140

Взаимодействие с устройствами………………………………………………………………………… 141

Поверхностное рассмотрение IoT………………………………………………………………………. 142

Сеть данных………………………………………………………………………………………………………………….. 143

Другие примеры архитектур данных…………………………………………………………………………. 143

Кто участвует в проектировании архитектуры данных?…………………………………………………….. 144

Заключение………………………………………………………………………………………………………………………………. 145

Дополнительные ресурсы……………………………………………………………………………………………………….. 145

Глава 4. Выбор технологий в рамках жизненного цикла
инженерии данных………………………………………………………………………………. 150

Размер и возможности команды……………………………………………………………………………………………… 151

Скорость выхода на рынок…………………………………………………………………………………………………….. 152

Совместимость…………………………………………………………………………………………………………………………. 152

Оптимизация затрат и ценность для бизнеса………………………………………………………………………… 153

Совокупная стоимость владения………………………………………………………………………………… 153

Совокупные альтернативные издержки владения…………………………………………………….. 154

FinOps…………………………………………………………………………………………………………………………….. 155

Сегодняшний день и будущее: неизменяемые и временные технологии……………………………. 156

Наши рекомендации…………………………………………………………………………………………………….. 158

Местоположение……………………………………………………………………………………………………………………… 158

Локально……………………………………………………………………………………………………………………….. 159

В облаке………………………………………………………………………………………………………………………… 159

Гибридное облако………………………………………………………………………………………………………… 163

Мультиоблако………………………………………………………………………………………………………………. 164

Децентрализация: блокчейн и периферия………………………………………………………………….. 165

Наши рекомендации…………………………………………………………………………………………………….. 165

Выбирайте технологии для настоящего, но смотрите в будущее……………………. 166

Аргументы в пользу облачной репатриации……………………………………………………………… 167

Вы — не Dropbox и не Cloudflare………………………………………………………………………… 167

Создание или покупка…………………………………………………………………………………………………………….. 169

Программное обеспечение с открытым исходным кодом………………………………………… 170

OSS под управлением сообщества разработчиков…………………………………………… 171

Коммерческие OSS……………………………………………………………………………………………….. 172

Запатентованные «огороженные сады»…………………………………………………………………….. 174

Независимые предложения…………………………………………………………………………………. 174

Запатентованные сервисные предложения для облачных платформ…………….. 175

Наши рекомендации…………………………………………………………………………………………………….. 175

Монолит или модульная система…………………………………………………………………………………………… 176

Монолит………………………………………………………………………………………………………………………… 176

Модульная система……………………………………………………………………………………………………… 177

Модель распределенного монолита…………………………………………………………………………… 179

Наши рекомендации…………………………………………………………………………………………………….. 179

Серверы или бессерверные вычисления………………………………………………………………………………… 180

Бессерверный подход…………………………………………………………………………………………………… 180

Контейнеры…………………………………………………………………………………………………………………… 181

Как оценивать серверные и бессерверные решения………………………………………………….. 182

Наши рекомендации…………………………………………………………………………………………………….. 183

Оптимизация, производительность и войны бенчмарков…………………………………………………….. 184

Большие данные… для 1990-х годов…………………………………………………………………………… 185

Бессмысленные сравнения затрат………………………………………………………………………………. 185

Асимметричная оптимизация………………………………………………………………………………………. 186

Caveat Emptor, или Будьте бдительны!……………………………………………………………………… 186

Фоновые процессы и их влияние на выбор технологий……………………………………………………….. 186

Управление данными…………………………………………………………………………………………………… 186

DataOps………………………………………………………………………………………………………………………….. 187

Архитектура данных……………………………………………………………………………………………………. 187

Пример оркестровки: Airflow……………………………………………………………………………………….. 187

Программная инженерия……………………………………………………………………………………………… 188

Заключение………………………………………………………………………………………………………………………………. 189

Дополнительные ресурсы……………………………………………………………………………………………………….. 189

Часть II. Жизненный цикл инженерии данных в деталях 191

Глава 5. Генерация данных в исходных системах………………………………… 193

Источники данных: как формируются данные?……………………………………………………………………. 194

Исходные системы: основные идеи……………………………………………………………………………………….. 194

Файлы и неструктурированные данные…………………………………………………………………….. 194

API………………………………………………………………………………………………………………………………….. 195

Базы данных приложений (OLTP-системы)……………………………………………………………….. 195

ACID-транзакции…………………………………………………………………………………………………. 196

Атомарные транзакции……………………………………………………………………………………….. 196

OLTP и аналитика………………………………………………………………………………………………… 197

Системы интерактивной аналитической обработки…………………………………………………. 197

Захват изменения данных……………………………………………………………………………………………. 198

Журналы……………………………………………………………………………………………………………………….. 198

Кодирование журнала…………………………………………………………………………………………. 199

Разрешение журнала……………………………………………………………………………………………. 199

Задержка записи в журнал: пакетный режим
или режим реального времени…………………………………………………………………………….. 199

Журналы базы данных………………………………………………………………………………………………… 199

CRUD……………………………………………………………………………………………………………………………… 200

Только вставка……………………………………………………………………………………………………………… 201

Сообщения и потоки…………………………………………………………………………………………………….. 201

Типы времени………………………………………………………………………………………………………………… 203

Исходные системы: практические сведения………………………………………………………………………….. 203

Базы данных…………………………………………………………………………………………………………………. 204

Основные соображения для понимания технологий баз данных……………………. 204

Реляционные базы данных………………………………………………………………………………….. 205

Нереляционные базы данных: NoSQL……………………………………………………………….. 206

API………………………………………………………………………………………………………………………………….. 213

REST………………………………………………………………………………………………………………………. 213

GraphQL………………………………………………………………………………………………………………… 214

Веб-хуки………………………………………………………………………………………………………………… 214

RPC и gRPC…………………………………………………………………………………………………………… 215

Совместное использование данных……………………………………………………………………………. 215

Сторонние источники данных…………………………………………………………………………………….. 216

Очереди сообщений и платформы потоковой передачи событий…………………………… 217

Очереди сообщений……………………………………………………………………………………………… 217

Платформы потоковой передачи событий………………………………………………………… 219

С кем вам предстоит работать……………………………………………………………………………………………….. 221

Фоновые процессы и их влияние на исходные системы………………………………………………………. 222

Безопасность…………………………………………………………………………………………………………………. 223

Управление данными…………………………………………………………………………………………………… 223

DataOps………………………………………………………………………………………………………………………….. 224

Архитектура данных……………………………………………………………………………………………………. 225

Оркестровка………………………………………………………………………………………………………………….. 226

Программная инженерия……………………………………………………………………………………………… 226

Заключение………………………………………………………………………………………………………………………………. 227

Дополнительные ресурсы……………………………………………………………………………………………………….. 227

Глава 6. Хранение………………………………………………………………………………… 229

Базовые компоненты для хранения данных………………………………………………………………………….. 231

Накопитель на жестких магнитных дисках (HDD)……………………………………………………. 231

Твердотельный накопитель…………………………………………………………………………………………. 233

Оперативная память и оперативное запоминающее устройство (ОЗУ)………………….. 234

Сети и центральный процессор…………………………………………………………………………………… 235

Сериализация……………………………………………………………………………………………………………….. 236

Сжатие…………………………………………………………………………………………………………………………… 237

Кеширование………………………………………………………………………………………………………………… 237

Системы хранения данных……………………………………………………………………………………………………… 238

Хранилище на одной машине в сравнении с распределенным хранилищем…………. 238

Согласованность в конечном счете в сравнении с сильной согласованностью…….. 239

Файловое хранилище…………………………………………………………………………………………………… 240

Локальное дисковое хранилище…………………………………………………………………………. 241

Сетевое хранилище……………………………………………………………………………………………… 242

Сервисы облачных файловых систем………………………………………………………………… 242

Блочное хранилище……………………………………………………………………………………………………… 243

Приложения блочного хранения данных…………………………………………………………… 243

RAID………………………………………………………………………………………………………………………. 243

Сеть хранения данных…………………………………………………………………………………………. 244

Облачное виртуализированное блочное хранилище……………………………………….. 244

Локальные экземпляры томов…………………………………………………………………………….. 245

Объектное хранилище………………………………………………………………………………………………….. 246

Объектные хранилища для приложений инженерии данных………………………….. 248

Поиск объектов…………………………………………………………………………………………………….. 249

Согласованность и версии объектов………………………………………………………………….. 250

Классы и уровни хранения данных……………………………………………………………………. 251

Файловые системы с хранилищем объектов……………………………………………………… 252

Системы хранения данных на основе памяти и кеша……………………………………………….. 253

Пример: Memcached и легкое кеширование объектов……………………………………… 253

Пример: Redis, кеширование памяти с дополнительной персистентностью….. 253

Распределенная файловая система Hadoop (HDFS)…………………………………………………. 253

Hadoop мертв. Да здравствует Hadoop!…………………………………………………………….. 254

Потоковое хранилище………………………………………………………………………………………………….. 254

Индексы, разбиение и кластеризация…………………………………………………………………………. 255

Эволюция от строк к столбцам…………………………………………………………………………… 255

От индексов к разделам и кластеризации………………………………………………………….. 256

Пример: Микроразбиение Snowflake…………………………………………………………………. 256

Абстракции хранения в инженерии данных………………………………………………………………………….. 257

Хранилище данных………………………………………………………………………………………………………. 258

Озеро данных………………………………………………………………………………………………………………… 258

Хранилище Data Lakehouse………………………………………………………………………………………… 259

Платформы данных……………………………………………………………………………………………………… 259

Архитектура потоково-пакетного хранения данных………………………………………………… 260

Выдающиеся идеи и тенденции в области хранения данных……………………………………………… 260

Каталог данных……………………………………………………………………………………………………………. 261

Интеграция приложения и каталога…………………………………………………………………… 261

Автоматизированное сканирование…………………………………………………………………… 261

Портал данных и социальный уровень……………………………………………………………… 261

Варианты использования каталога данных……………………………………………………… 261

Совместное использование данных……………………………………………………………………………. 262

Схема…………………………………………………………………………………………………………………………….. 262

Разделение вычислений и хранения……………………………………………………………………………. 263

Колокация вычислительных систем и хранения данных…………………………………. 263

Разделение вычислений и хранения данных……………………………………………………… 263

Гибридный подход к разделению и колокации…………………………………………………. 264

Клонирование с нулевым копированием…………………………………………………………… 266

Жизненный цикл хранения данных и их сохранность……………………………………………… 267

Горячие, теплые и холодные данные…………………………………………………………………. 267

Сохранность данных…………………………………………………………………………………………… 269

Одноарендные и мультиарендные системы хранения данных………………………………… 270

С кем вам предстоит работать……………………………………………………………………………………………….. 272

Фоновые процессы…………………………………………………………………………………………………………………… 272

Безопасность…………………………………………………………………………………………………………………. 272

Управление данными…………………………………………………………………………………………………… 273

Каталоги данных и управление метаданными…………………………………………………. 273

Версии данных в объектном хранилище……………………………………………………………. 273

Конфиденциальность…………………………………………………………………………………………… 273

DataOps………………………………………………………………………………………………………………………….. 274

Мониторинг систем……………………………………………………………………………………………… 274

Наблюдаемость и мониторинг данных……………………………………………………………… 274

Архитектура данных……………………………………………………………………………………………………. 274

Оркестровка………………………………………………………………………………………………………………….. 275

Программная инженерия……………………………………………………………………………………………… 275

Заключение………………………………………………………………………………………………………………………………. 275

Дополнительные ресурсы……………………………………………………………………………………………………….. 275

Глава 7. Поглощение данных………………………………………………………………. 277

Что такое поглощение данных?……………………………………………………………………………………………… 277

Ключевые инженерные особенности фазы поглощения………………………………………………………. 279

Ограниченность и неограниченность данных…………………………………………………………… 279

Частота………………………………………………………………………………………………………………………….. 280

Синхронное и асинхронное поглощение……………………………………………………………………. 282

Сериализация и десериализация………………………………………………………………………………… 283

Пропускная способность и масштабируемость………………………………………………………… 283

Надежность и устойчивость………………………………………………………………………………………… 284

Полезная нагрузка………………………………………………………………………………………………………… 285

Род…………………………………………………………………………………………………………………………. 285

Форма……………………………………………………………………………………………………………………. 285

Размер……………………………………………………………………………………………………………………. 286

Схема и типы данных………………………………………………………………………………………….. 286

Метаданные………………………………………………………………………………………………………….. 287

Модели Push, Pull и Poll………………………………………………………………………………………………… 288

Особенности пакетного поглощения данных……………………………………………………………………….. 289

Мгновенные снимки или дифференциальное извлечение…………………………………………. 290

Экспорт и поглощение данных на основе файлов…………………………………………………….. 290

ETL в сравнении с ELT…………………………………………………………………………………………………. 290

Вставки, обновления и размер пакета………………………………………………………………………… 291

Миграция данных…………………………………………………………………………………………………………. 291

Особенности поглощения сообщений и потоков………………………………………………………………….. 292

Эволюция схем……………………………………………………………………………………………………………… 292

Данные, поступающие с задержкой……………………………………………………………………………. 292

Порядок и многократная доставка……………………………………………………………………………… 293

Воспроизведение………………………………………………………………………………………………………….. 293

Время жизни………………………………………………………………………………………………………………….. 293

Размер сообщения………………………………………………………………………………………………………… 294

Обработка ошибок и очереди недоставленных сообщений…………………………………….. 294

Pull и Push для потребителей……………………………………………………………………………………….. 294

Местоположение………………………………………………………………………………………………………….. 295

Способы поглощения данных………………………………………………………………………………………………… 295

Прямое подключение к базе данных…………………………………………………………………………… 295

Захват изменения данных……………………………………………………………………………………………. 297

Пакетно-ориентированный CDC………………………………………………………………………… 297

Непрерывный CDC………………………………………………………………………………………………. 297

CDC и репликация баз данных……………………………………………………………………………. 298

Особенности CDC………………………………………………………………………………………………… 298

API………………………………………………………………………………………………………………………………….. 299

Очереди сообщений и платформы потоковой передачи событий…………………………… 300

Управляемые коннекторы данных……………………………………………………………………………… 301

Перемещение данных с помощью объектного хранилища………………………………………. 302

EDI…………………………………………………………………………………………………………………………………. 302

Базы данных и экспорт файлов…………………………………………………………………………………… 302

Практические вопросы, связанные с распространенными форматами файлов……… 303

Оболочка……………………………………………………………………………………………………………………….. 304

SSH…………………………………………………………………………………………………………………………………. 304

SFTP и SCP…………………………………………………………………………………………………………………….. 305

Веб-хуки………………………………………………………………………………………………………………………… 305

Веб-интерфейс………………………………………………………………………………………………………………. 306

Веб-скрейпинг……………………………………………………………………………………………………………….. 306

Устройства переноса для миграции данных……………………………………………………………… 307

Совместное использование данных……………………………………………………………………………. 308

С кем вам предстоит работать……………………………………………………………………………………………….. 308

Заинтересованные стороны выше по потоку обработки………………………………………….. 308

Заинтересованные стороны ниже по потоку обработки………………………………………….. 309

Фоновые процессы…………………………………………………………………………………………………………………… 309

Безопасность…………………………………………………………………………………………………………………. 310

Управление данными…………………………………………………………………………………………………… 310

Изменения схемы………………………………………………………………………………………………….. 310

Этика работы с данными, конфиденциальность и соответствие
нормативным требованиям…………………………………………………………………………………. 311

DataOps………………………………………………………………………………………………………………………….. 312

Проверка качества данных…………………………………………………………………………………. 313

Оркестровка………………………………………………………………………………………………………………….. 314

Программная инженерия……………………………………………………………………………………………… 315

Заключение………………………………………………………………………………………………………………………………. 315

Дополнительные ресурсы……………………………………………………………………………………………………….. 316

Глава 8. Запросы, моделирование и преобразование……………………………. 317

Запросы…………………………………………………………………………………………………………………………………….. 318

Что такое запрос?…………………………………………………………………………………………………………. 318

DDL. Язык описания данных………………………………………………………………………………. 319

DML. Язык манипулирования данными…………………………………………………………….. 319

DCL. Язык управления данными………………………………………………………………………… 319

TCL. Язык управления транзакциями………………………………………………………………… 320

Жизненный цикл запроса…………………………………………………………………………………………….. 320

Оптимизатор запросов…………………………………………………………………………………………………. 321

Повышение производительности запросов………………………………………………………………… 321

Оптимизируйте стратегию и схему соединения………………………………………………… 321

Планируйте выполнение и разберитесь в производительности запроса………… 323

Избегайте полного сканирования таблиц………………………………………………………….. 323

Изучите, как ваша база данных обрабатывает фиксации……………………………….. 324

Очистите базу данных от «мертвых» записей…………………………………………………… 326

Кешируйте результаты запросов……………………………………………………………………….. 327

Запросы к потоковым данным…………………………………………………………………………………….. 327

Основные шаблоны запросов к потокам……………………………………………………………. 328

Окна, триггеры, выдаваемая статистика и данные,
поступающие с задержкой………………………………………………………………………………….. 329

Объединение потоков с другими данными………………………………………………………… 332

Моделирование данных………………………………………………………………………………………………………….. 334

Что такое модель данных?…………………………………………………………………………………………… 335

Концептуальная, логическая и физическая модели данных…………………………………….. 336

Нормализация………………………………………………………………………………………………………………. 337

Методы моделирования пакетных аналитических данных…………………………………….. 341

Подход Инмона…………………………………………………………………………………………………….. 341

Подход Кимбалла………………………………………………………………………………………………… 344

Модель Data Vault……………………………………………………………………………………………….. 348

Широкие денормализованные таблицы…………………………………………………………….. 352

Моделирование потоковых данных…………………………………………………………………………… 354

Преобразования……………………………………………………………………………………………………………………….. 356

Пакетные преобразования…………………………………………………………………………………………… 357

Распределенные соединения……………………………………………………………………………….. 357

ETL, ELT и конвейеры обработки данных…………………………………………………………. 359

Средства преобразования на основе SQL и кода……………………………………………… 360

Шаблоны обновлений………………………………………………………………………………………….. 363

Изменения схемы………………………………………………………………………………………………….. 366

Выпас данных………………………………………………………………………………………………………. 367

Пример: Преобразование данных в Spark…………………………………………………………. 368

Бизнес-логика и производные данные……………………………………………………………….. 368

Модель MapReduce……………………………………………………………………………………………… 370

После MapReduce………………………………………………………………………………………………… 371

Материализованные представления, федерация и виртуализация запросов…………. 372

Представления……………………………………………………………………………………………………… 372

Материализованные представления………………………………………………………………….. 372

Составные материализованные представления……………………………………………….. 373

Федеративные запросы……………………………………………………………………………………….. 373

Виртуализация данных……………………………………………………………………………………….. 374

Потоковые преобразования и обработка…………………………………………………………………… 375

Основы…………………………………………………………………………………………………………………… 375

Преобразования и запросы представляют собой континуум………………………….. 376

Потоковые DAG……………………………………………………………………………………………………. 376

Микропакетный и истинно потоковый подходы………………………………………………. 377

С кем вам предстоит работать……………………………………………………………………………………………….. 378

Заинтересованные стороны выше по потоку обработки………………………………………….. 378

Заинтересованные стороны ниже по потоку обработки………………………………………….. 379

Фоновые процессы…………………………………………………………………………………………………………………… 379

Безопасность…………………………………………………………………………………………………………………. 379

Управление данными…………………………………………………………………………………………………… 380

DataOps………………………………………………………………………………………………………………………….. 381

Архитектура данных……………………………………………………………………………………………………. 381

Оркестровка………………………………………………………………………………………………………………….. 382

Программная инженерия……………………………………………………………………………………………… 382

Заключение………………………………………………………………………………………………………………………………. 383

Дополнительные ресурсы……………………………………………………………………………………………………….. 384

Глава 9. Предоставление данных для аналитики, машинного обучения и обратного ETL         386

Общие рекомендации по предоставлению данных………………………………………………………………. 387

Доверие………………………………………………………………………………………………………………………….. 387

Каков сценарий использования и кто будет пользователем?…………………………………… 388

Информационные продукты………………………………………………………………………………………… 389

Самостоятельная работа или нет?……………………………………………………………………………… 390

Описание данных и логика………………………………………………………………………………………….. 392

Сеть данных………………………………………………………………………………………………………………….. 393

Аналитика………………………………………………………………………………………………………………………………… 393

Бизнес-аналитика…………………………………………………………………………………………………………. 394

Операционная аналитика……………………………………………………………………………………………. 396

Встроенная аналитика…………………………………………………………………………………………………. 398

Машинное обучение……………………………………………………………………………………………………………….. 399

Что должен знать инженер данных о машинном обучении…………………………………………………. 400

Способы предоставления данных для аналитики и машинного обучения………………………… 401

Обмен файлами…………………………………………………………………………………………………………….. 402

Базы данных…………………………………………………………………………………………………………………. 403

Потоковые системы………………………………………………………………………………………………………. 404

Федеративные запросы………………………………………………………………………………………………… 404

Совместное использование данных……………………………………………………………………………. 405

Семантические и метрические слои……………………………………………………………………………. 406

Предоставление данных в блокнотах………………………………………………………………………… 407

Обратный ETL………………………………………………………………………………………………………………………….. 409

С кем вам предстоит работать……………………………………………………………………………………………….. 411

Фоновые процессы…………………………………………………………………………………………………………………… 412

Безопасность…………………………………………………………………………………………………………………. 412

Управление данными…………………………………………………………………………………………………… 413

DataOps………………………………………………………………………………………………………………………….. 414

Архитектура данных……………………………………………………………………………………………………. 415

Оркестровка………………………………………………………………………………………………………………….. 415

Программная инженерия……………………………………………………………………………………………… 416

Заключение………………………………………………………………………………………………………………………………. 416

Дополнительные ресурсы……………………………………………………………………………………………………….. 417

Часть III. Безопасность, конфиденциальность
и будущее инженерии данных……………………………………………….. 419

Глава 10. Безопасность и конфиденциальность……………………………………. 421

Люди…………………………………………………………………………………………………………………………………………. 422

Сила негативного мышления………………………………………………………………………………………. 422

Всегда будьте параноиками………………………………………………………………………………………… 423

Процессы………………………………………………………………………………………………………………………………….. 423

Театр безопасности или привычки соблюдения безопасности……………………………….. 423

Активная безопасность………………………………………………………………………………………………… 424

Принцип наименьших привилегий………………………………………………………………………………. 424

Разделение ответственности в облаке………………………………………………………………………… 425

Всегда создавайте резервные копии данных…………………………………………………………….. 425

Пример политики безопасности………………………………………………………………………………….. 425

Технологии……………………………………………………………………………………………………………………………….. 427

Системы исправлений и обновлений………………………………………………………………………….. 427

Шифрование………………………………………………………………………………………………………………….. 427

Шифрование в состоянии покоя………………………………………………………………………….. 427

Шифрование при передаче по сети…………………………………………………………………….. 427

Ведение журнала, мониторинг и оповещение……………………………………………………………. 428

Доступ к сети………………………………………………………………………………………………………………… 429

Безопасность при низкоуровневой инженерии данных……………………………………………. 430

Исследование вопросов внутренней безопасности…………………………………………… 430

Заключение………………………………………………………………………………………………………………………………. 431

Дополнительные ресурсы……………………………………………………………………………………………………….. 431

Глава 11. Будущее инженерии данных…………………………………………………. 432

Жизненный цикл инженерии данных никуда не денется……………………………………………………… 432

Снижение сложности и подъем простых в использовании инструментов обработки данных 433

Облачная ОС данных и улучшение взаимодействия……………………………………………………………. 434

«Корпоративная» инженерия данных……………………………………………………………………………………. 436

Названия и обязанности будут меняться………………………………………………………………………………. 437

Переход от современного стека данных к потоковому………………………………………………………… 438

Потоковый стек данных……………………………………………………………………………………………….. 439

Потоковые конвейеры и аналитические базы данных реального времени…………….. 439

Объединение данных и приложений…………………………………………………………………………… 441

Сильная обратная связь между приложениями и машинным обучением……………….. 441

Темная материя в сфере данных и восход… электронных таблиц?!………………………… 442

Заключение………………………………………………………………………………………………………………………………. 442

Приложение А. Технические детали сериализации и сжатия……………….. 444

Форматы сериализации…………………………………………………………………………………………………………… 444

Сериализация на основе строк……………………………………………………………………………………. 444

CSV: Нестандартный стандарт………………………………………………………………………….. 444

XML……………………………………………………………………………………………………………………….. 445

JSON и JSONL……………………………………………………………………………………………………….. 445

Avro……………………………………………………………………………………………………………………….. 445

Сериализация столбцов……………………………………………………………………………………………….. 445

Parquet…………………………………………………………………………………………………………………… 446

ORC……………………………………………………………………………………………………………………….. 447

Apache Arrow или сериализация в памяти…………………………………………………………. 447

Гибридная сериализация…………………………………………………………………………………………….. 448

Hudi……………………………………………………………………………………………………………………….. 448

Iceberg……………………………………………………………………………………………………………………. 449

Подсистема хранения базы данных………………………………………………………………………………………. 449

Сжатие: gzip, bzip2, Snappy и т. д…………………………………………………………………………………………… 449

Приложение Б. Облачные сети…………………………………………………………….. 451

Топология облачных сетей…………………………………………………………………………………………………….. 451

Плата за извлечение данных……………………………………………………………………………………….. 451

Зоны доступности………………………………………………………………………………………………………… 451

Регионы………………………………………………………………………………………………………………………….. 452

Специфические для GCP сети и мультирегиональное резервирование…………………… 453

Прямые сетевые подключения к облачным сервисам……………………………………………….. 454

CDN…………………………………………………………………………………………………………………………………………… 454

Будущее платы за извлечение данных………………………………………………………………………………….. 454

Предметный указатель…………………………………………………………………………. 456

Об авторах……………………………………………………………………………………………. 462

Об изображении на обложке………………………………………………………………… 463

Джо Рис

Джо Рис (Joe Reis) — специалист по инженерии и архитектуре данных для enterprise-задач

 

 

Мэтт Хоусли

Мэтт Хоусли (Matt Housley) — консультант по инженерии данных и облачным технологиям

Опубликовано

Новинка: “Обработка данных на Python. Data Wrangling и Data Quality”

Обработка данных на Python. Data Wrangling и Data Quality

Книга посвящена первичной обработке данных (Data Wrangling) на Python  и  оценке их качества (Data Quality). Материал содержит основополагающие концепции, экспертные советы и  ресурсы, необходимые для первичной обработки, извлечения, оценки и анализа данных. Все темы раскрыты на простых и наглядных примерах из практики. Даны необходимые и достаточные сведения о языке программирования  Python 3.8+ для чтения, записи и преобразования данных из различных источников, а также  для обработки данных в больших масштабах. Приведены лучшие практики  документирования и структурирования кода. Описан сбор данных из файлов, веб-страниц и API. Рассмотрены приемы проведения базового статистического анализа наборов данных, а также наглядные и убедительные способы визуализации и представления  данных. Изложение рассчитано как на новичков по обработке данных, так и на профессионалов. Электронный архив на сайте издательства содержит цветные иллюстрации к книге.

Для специалистов по обработке данных

Начните работу с чтения, очистки и анализа данных

Мир вокруг нас полон данных, которые содержат уникальные и ценные сведения, но полезную информацию из этих «сырых» данных нужно уметь извлечь!

Книга содержит основополагающие концепции, экспертные советы и  ресурсы, необходимые для первичной обработки, извлечения, оценки и анализа данных, а также инструменты для эффективного представления выводов. Она предназначена для специалистов по обработке данных любого уровня — от новичков до опытных профессионалов — и предлагает простые, понятные всем и эффективные  способы обработки.

В этой книге ярко проявляется опыт Сьюзан Макгрегор в преподавании журналистики данных (data journalism) студентам всех уровней. Она приводит примеры из реальной жизни и объясняет, как подходить к поиску, проверке и анализу данных доступным способом.
 Джоанна С. Као , технический руководитель журналистики данных в газете Файнэншл Таймс

  • Применяйте Python 3.8+ для чтения, записи и преобразования данных из различных источников, а также для обработки данных в больших масштабах.
  • Организуйте, документируйте и структурируйте свой код, используя лучшие практики
  • Собирайте данные из файлов, веб-страниц и API
  • Проводите базовый статистический анализ, чтобы осмыслить наборы данных
  • Визуализируйте и представляйте данные наглядным и убедительным образом

Книгу “Обработка данных на Python. Data Wrangling и Data Quality” можно купить со скидкой в интернет-магазине издательства “БХВ“.

Введение. 11

Для кого предназначена эта книга?. 12

Поедете сами или возьмете такси?. 12

Кому не следует читать эту книгу?. 13

Что ожидать от этой книги. 13

Типографские соглашения. 14

Использование примеров кода. 15

Цветные иллюстрации. 16

Возможности онлайнового обучения от компании O’Reilly. 16

Как связаться с нами. 16

Благодарности. 17

ГЛАВА 1. Введение в первичную обработку (выпас) и качество данных. 19

Что такое выпас данных?. 20

Что такое качество данных?. 22

Целостность данных. 23

Соответствие данных. 23

Почему мы выбрали Python?. 25

Универсальность. 25

Доступность. 25

Удобочитаемость. 26

Сообщество. 26

Альтернативы языку Python. 27

Написание и исполнение программ на языке Python. 27

Работа с кодом Python на локальном устройстве. 30

Введение в работу с командной строкой. 30

Установка языка Python, среды Jupyter Notebook и редактора кода. 33

Работа с кодом Python в режиме онлайн. 39

Hello World! 39

Создание файла автономного сценария Python при помощи Atom.. 39

Создание блокнота кода Python в Jupyter Notebook. 41

Создание блокнота кода Python в Google Colab. 42

Создаем программу. 43

В файле автономного сценария. 43

В блокноте. 43

Исполняем программу. 43

В файле автономного сценария. 43

В блокноте. 44

Документирование, сохранение и управление версиями своего кода. 44

Документирование. 44

Сохранение. 46

Управление версиями. 46

Заключение. 56

ГЛАВА 2. Введение в Python. 57

“Части речи” языков программирования. 58

Существительные ≈ переменные. 59

Важно ли конкретное имя?. 61

Наилучшие практики для именования переменных. 62

Глаголы ≈ функциям. 62

Применение пользовательских функций. 67

Библиотеки: занимаем пользовательские функции у других программистов. 68

Структуры управления: циклы и условные операторы. 69

Циклы. 69

Условные операторы. 72

Понимание ошибок. 77

Синтаксические ошибки. 78

Ошибки времени исполнения. 79

Логические ошибки. 83

Отправляемся в путь с данными Citi Bike. 85

Начинаем с создания псевдокода. 86

Масштабирование. 92

Заключение. 93

ГЛАВА 3. Понимание качества данных. 95

Оценка соответствия данных. 97

Достоверность данных. 98

Надежность данных. 100

Репрезентативность данных. 101

Оценка целостности данных. 104

Необходимые, но недостаточные. 106

Важные. 108

Достижимость. 111

Улучшение качества данных. 114

Очистка данных. 115

Аугментация данных. 115

Заключение. 116

ГЛАВА 4. Работа с файловыми и канальными данными
на языке Python. 117

Структурированные и неструктурированные данные. 119

Работа со структурированными данными. 123

Файловые табличные форматы данных. 124

Выпас табличных данных посредством языка Python. 126

Выпас реальных данных: понимание безработицы. 133

XLSX, ODS и все остальные. 136

Данные фиксированной ширины. 143

Канальные данные — интерактивные обновления через Интернет. 147

Выпас канальных данных средствами языка Python. 150

Формат JSON: данные следующего поколения. 160

Работа с неструктурированными данными. 165

Текст на основе изображений: доступ к данным в формате PDF. 165

Выпас PDF-данных, используя Python. 166

Обращение к таблицам PDF посредством Tabula. 171

Заключение. 171

ГЛАВА 5. Доступ к интернет-данным.. 173

Доступ к веб-данным XML и JSON.. 175

Знакомство с API-интерфейсами. 178

Базовые API-интерфейсы на примере поисковой системы. 179

Специализированные API-интерфейсы: добавление простой
аутентификации. 181

Получение ключа для API-интерфейса FRED.. 181

Использование ключа API для запроса данных. 182

Чтение документации по API-интерфейсу. 183

Защита своего ключа API при использовании сценариев Python. 186

Создание файла учетных данных. 188

Использование учетных данных в отдельном сценарии. 189

Основы работы с файлом .gitignore. 190

Специализированные API-интерфейсы: работа с протоколом OAuth. 193

Получение учетной записи разработчика Twitter 194

Создание приложения и учетных данных Twitter 196

Кодирование ключа API и ключа секрета API 201

Запрос токена доступа и данных из API-интерфейса Twitter 202

Этические нормы при работе с API-интерфейсами. 206

Извлечение веб-данных: источник данных последней надежды. 207

Осторожно извлекаем данные с веб-сайта УГПТ. 210

Использование средств инспектирования браузера. 211

Решение Python для извлечения данных из веб-страницы:
библиотека Beautiful Soup. 214

Заключение. 218

ГЛАВА 6. Оценка качества данных. 219

Пандемия и программа PPP. 221

Оценка целостности данных. 222

Имеют ли данные известное происхождение?. 223

Актуальны ли данные?. 223

Полные ли данные?. 224

Хорошо ли данные аннотированы?. 236

Являются ли данные крупномасштабными?. 242

Непротиворечивы ли данные?. 244

Многомерны ли наши данные?. 248

Атомарны ли данные?. 250

Понятны ли данные?. 250

Размерностно структурированы ли данные?. 252

Оценка соответствия данных. 253

Достоверность данных. 253

Надежность данных. 257

Репрезентативность данных. 258

Заключение. 259

ГЛАВА 7. Очистка, преобразование и дополнение данных. 261

Выбор подмножества данных системы Citi Bike. 262

Простое разбиение. 263

Регулярные выражения: супермощное средство сопоставления строк. 265

Создание дат. 270

Удаление хлама из файлов данных. 272

Декодирование дат Excel 276

Создание настоящих данных CSV из данных фиксированной ширины. 279

Исправление разнообразности написаний. 282

Тернистый путь к “простым” решениям. 288

Опасные подводные камни. 290

Дополнение данных. 292

Заключение. 294

ГЛАВА 8. Структурирование и рефакторинг кода. 296

Обзор пользовательских функций. 296

Многократное использование кода. 297

Аккуратное и понятное документирование. 297

Недостаточная функциональность по умолчанию.. 298

Область видимости. 298

Определение параметров функции. 301

Доступные опции. 302

Предоставление аргументов. 303

Возвращаемые значения. 303

Работа со стеком. 305

Рефакторинг для получения удовольствия и прибыли. 306

Функция для определения рабочих дней. 306

Опрятные метаданные. 309

Использование pydoc для документирования сценариев и пользовательских функций. 317

О полезности аргументов командной строки. 321

Отличия во взаимодействии со сценариями в автономных файлах и блокнотах. 325

Заключение. 325

ГЛАВА 9. Введение в анализ данных. 327

Вся суть — в контексте. 328

Одинаковые, но не совсем. 329

Что типично? Оценка центральной тенденции. 329

Что это значит?. 330

Поразмыслим нестандартно: выявляем выбросы. 332

Визуализация для анализа данных. 332

Какова форма наших данных? Учимся понимать гистограммы. 336

Вопрос за $2 миллиона. 346

Пропорциональный ответ. 359

Заключение. 362

ГЛАВА 10. Представление данных. 364

Основы визуального красноречия. 365

Сформулируйте свои данные. 367

Диаграммы, графики и картограммы — вот это да! 368

Круговые диаграммы. 369

Линейчатые и столбчатые диаграммы. 372

Линейные диаграммы. 377

Диаграмма рассеяния. 380

Картограммы. 383

Элементы красноречивых визуальных эффектов. 386

“Мелкие” детали действительно имеют значение. 386

Доверяйте своим глазам (и экспертам) 387

Выбор масштаба. 388

Выбор цветовой гаммы. 389

Прежде всего делайте аннотации! 389

От базового к красивому: настройка визуализации с помощью seaborn и matplotlib. 390

Выйдите за рамки основ. 395

Заключение. 396

ГЛАВА 11. За пределами Python. 397

Дополнительные инструменты для анализа данных. 398

Программы для работы с электронными таблицами. 398

OpenRefine. 399

Дополнительные инструменты для обмена и представления данных. 402

Редактирование изображений в форматах JPG, PNG и GIF. 402

Программное обеспечение для редактирования SVG и других векторных форматов. 402

Размышления об этике. 404

Заключение. 405

Приложение А. Другие ресурсы по программированию на Python. 406

Официальная документация Python. 406

Установка ресурсов Python. 407

Где искать библиотеки. 407

Следите за остротой своих инструментов. 408

Где получить больше информации. 409

Приложение Б. Еще несколько слов о Git 410

Вы запускаете команду git push/pull и оказываетесь в странном текстовом редакторе. 410

Ваша команда git push/pull отклоняется. 412

Выполните команду git pull 412

Краткое руководство по Git 414

приложение В. Поиск данных. 416

Репозитории данных и API 416

Эксперты по предметным вопросам. 417

Запросы FOIA/L. 418

Кастомные методы сбора данных. 419

приложение Г. Ресурсы для визуализации и информационного дизайна. 421

Основополагающие книги по визуализации информации. 421

Краткое руководство, за которым вы потянетесь. 422

Источники вдохновения. 422

Об авторе. 423

Колофон. 424

Предметный указатель. 425

Susan McGregor

Сьюзен Макгрегор (Susan McGregor) — исследователь Института науки о данных Колумбийского университета. На протяжении более десяти лет она применяет свой успешный подход к преподаванию программирования и анализа данных для студентов нетехнических специальностей.

Опубликовано

Встречайте: “Конфиденциальность данных”

Конфиденциальность данных

Во всех деталях рассматривается обеспечение конфиденциальности данных в масштабах большой и/или растущей компании. Уделено внимание защите конкурентных преимуществ, корпоративной репутации, а также пользовательских личных данных.  Затронуты вопросы классификации данных по степени важности их защиты, вопросы масштабирования и репликации хранилищ данных без ущерба конфиденциальности, соответствие юридическим нормам, различные инструменты, обеспечивающие отслеживание и защиту данных. Также рассказано, как с нуля выстроить защиту конфиденциальных данных в крупной компании, в том числе активно использующей облачные хранилища данных.

Для сетевых инженеров, специалистов по безопасности, системных администраторов и руководителей ИТ-компаний

Эта книга  рассказывает о том, как найти золотую середину между строгим соблюдении требований безопасности и нуждами реального бизнеса.

Соблюдать конфиденциальность данных важно всегда, независимо от специфики вашего бизнеса. Утечки данных, недоработанная политика конфиденциальности, недопонимание при коммуникации – всё это может подорвать доверие пользователей к вашему приложению. Если вы не сможете защитить пользовательские данные, то это также чревато серьёзными юридическими неприятностями. К счастью, при обеспечении конфиденциальности данных очень легко учиться на чужих ошибках, и в этой отрасли уже выработаны чёткие рекомендации и практики, обобщённые в этой книге. Следуйте им – и ваши данные будут в безопасности, а пользователи останутся довольны.

Эта книга  рассказывает о том, как найти золотую середину между строгим соблюдении требований безопасности и нуждами реального бизнеса. Из нее вы узнаете, как проектировать и внедрять программы обеспечения конфиденциальности, которые легко масштабировать и автоматизировать. Ни о какой бюрократии нет и речи – только прикладные решения и информация о том, как переориентировать имеющиеся инструменты обеспечения безопасности на новые цели.

Ключевые аспекты книги

  • Классификация данных по их важности с точки зрения конфиденциальности
  • Настройка возможностей для юридически грамотного экспорта данных
  • Выработка процесса рецензирования, позволяющего оценить риски, касающиеся обеспечения конфиденциальности
  • Проектирование платформы для получения пользовательского согласия

Книга предназначена как для технических специалистов, так и для руководителей бизнеса, стремящихся повысить

 

Книгу “Конфиденциальность данных” можно купить со скидкой в интернет-магазине издательства “БХВ“.

Вступительное слово. 13

Предисловие. 17

Благодарности. 19

О книге. 20

Кому следует прочитать эту книгу. 20

Структура книги. 20

О коде. 22

Об авторе. 23

Об иллюстрации на обложке. 24

Часть I. Конфиденциальность, данные и ваш бизнес. 25

Глава 1. Инженерия конфиденциальности: зачем нужна
и как ее масштабировать. 27

1.1. Что такое конфиденциальность. 28

1.2. Как данные поступают в компанию и перемещаются внутри нее. 32

1.3. Почему конфиденциальность имеет значение. 34

1.3.1. Штрафы реальны. 34

1.3.2. Погоня за эффективностью в начале пути может вызвать проблемы конфиденциальности в будущем  36

Gamesbuster: анализ конкретного примера. 36

1.3.3. Расследования нарушений конфиденциальности — не просто преграда
на пути к успеху. 39

Еврокомиссия оштрафовала компанию WhatsApp на 110 млн евро
за искажение данных. 40

Антимонопольный регулятор Италии оштрафовал WhatsApp
на 3 млн евро. 41

Пять органов ЕС по надзору за соблюдением законодательства
по защите данных подают иски к корпорации Facebook
за изменения политики в 2014-м и другие действия с данными. 42

1.3.4. Защита конфиденциальности как возможность для бизнеса:
реальный пример. 44

1.4. Конфиденциальность: ментальная модель. 46

1.5. Как конфиденциальность влияет на бизнес на макроуровне. 49

1.5.1. Конфиденциальность и безопасность: период ковида. 49

1.5.2. Конфиденциальность и правила: циклический процесс. 51

1.6. Инструменты и техники защиты конфиденциальности: возможности
и варианты. 53

1.6.1. Дилемма: разрабатывать или покупать. 54

1.6.2. Инструменты защиты конфиденциальности от сторонних
разработчиков: они действительно работают и масштабируются?. 56

Платформенные решения для обеспечения конфиденциальности:
BigID и OneTrust 56

Специализированные решения для защиты конфиденциальности: Privicera, Collibra, DataGrail, Informatica, SailPoint 59

1.6.3. Риски при покупке сторонних инструментов защиты конфиденциальности. 60

1.7. В чем эта книга не поможет. 61

1.8. Как изменение роли инженеров повлияло на защиту конфиденциальности. 61

Резюме. 64

Глава 2. Представление о данных и конфиденциальности. 65

2.1. Что следует из понятия конфиденциальности. 65

2.1.1. Почему обеспечить конфиденциальность трудно. 66

2.1.2. Инженерия конфиденциальности на местах: чего необходимо добиться. 67

2.1.3. Конфиденциальность, системы данных и соблюдение политики. 70

2.2. Это могла бы быть ваша компания. 72

2.3. Данные, стратегия развития бизнеса и конфиденциальность. 76

2.4. Примеры нарушения конфиденциальности данных. 78

2.4.1. Equifax. 78

2.4.2. Нарушение в работе Службы управления персоналом. 80

2.4.3. Компании LabCorp и Quest Diagnostics 82

2.5. Конфиденциальность и нормативно-правовая база. 83

2.5.1. Как нормативные акты влияют на ваш продукт и его пользователей. 83

2.5.2. Как ваша программа должна помочь подготовиться к изменению законодательства о защите конфиденциальности данных. 85

2.6. Конфиденциальность и пользователь. 86

2.6.1. Превращение в полноправного американца и конфиденциальность. 86

2.6.2. Опасения современных пользователей по поводу конфиденциальности. 87

2.7. После создания инструментов наступает самое сложное: разработка
программы. 88

2.8. Разрабатывая программу, сначала сформируйте корпоративную культуру, ориентированную на конфиденциальность данных. 92

Резюме. 95

Часть II. Упреждающая программа защиты конфиденциальности: управление данными  97

Глава 3. Классификация данных. 99

3.1. Классификация данных в контексте клиента. 100

3.2. Зачем нужна классификация данных. 101

3.2.1. Классификация как часть управления данными. 102

3.2.2. Классификация данных: как она помогает выстраивать приоритеты. 103

Как определяются приоритеты защиты данных. 103

Сегментация данных. 106

Упражнение по защите данных: линза определения приоритетов. 108

3.2.3. Сопоставление примеров по классификации данных в отрасли технологий. 110

3.2.4. Неструктурированные данные и управление. 111

3.2.5. Классификация данных как этап на пути к зрелости. 112

Что такое зрелость организации. 113

Классификация данных и зрелость организации. 114

3.3. Как применить классификацию данных для повышения
конфиденциальности. 116

3.3.1. Классификация данных и варианты доступа к ним. 116

3.3.2. Классификация данных, управление доступом и конфиденциальность: пример 1  118

3.3.3. Классификация данных, управление доступом и конфиденциальность: пример 2  120

3.4. Классификация данных согласно законам о конфиденциальности. 121

3.4.1. Классификация данных как выделение главного в законах
о конфиденциальности. 121

3.4.2. Классификация данных для разрешения противоречий
в интерпретациях законов о конфиденциальности. 122

3.5. Процесс классификации данных. 124

3.5.1. Работа над классификацией данных с участниками из разных отделов. 124

3.5.2. Оформление и переработка классификации данных. 127

3.5.3. Процесс классификации данных: шаблон Microsoft 128

3.6. Классификация данных: пример. 129

Резюме. 133

Глава 4. Учет данных. 134

4.1. Учет данных: что это такое и зачем это нужно. 135

4.2. Машиночитаемые метки. 138

4.2.1. Что такое метки для учета данных. 138

4.2.2. Метки для учета данных: конкретный пример. 139

4.3. Разработка базовой версии. 143

4.4. Техническая архитектура. 145

4.4.1. Структурированные и неструктурированные данные. 145

4.4.2. Архитектурные возможности учета данных. 148

4.4.3. Рабочий процесс учета данных. 150

4.5. Представление о данных. 153

4.5.1. Процесс определения метаданных. 154

4.5.2. Процесс обнаружения метаданных. 156

4.6. Когда следует приступать к учету данных. 157

4.6.1. Почему процесс учета данных так сложен?. 157

4.6.2. Учет данных: лучше раньше, чем позже. 158

4.7. Учет данных — небинарный процесс. 161

4.7.1. Первый уровень учета данных. 161

4.7.2. Второй уровень учета данных. 163

4.7.3. Третий уровень учета данных. 164

Поддержка функций загрузки личных данных и запросы субъекта
на доступ к персональным данным. 165

Поддержка функции удаления данных. 165

Получение информации о бизнесе. 166

4.8. Как выглядит успешный процесс учета данных. 167

4.8.1. Объективные показатели успешности учета данных. 167

4.8.2. Субъективные показатели успешности учета данных. 168

Резюме. 169

Глава 5. Совместное использование данных. 171

5.1. Совместное использование данных: зачем компаниям ими делиться. 172

5.1.1. Совместное использование данных: службы такси. 173

5.1.2. Совместное использование данных: интернет-реклама. 174

5.1.3. Конфиденциальность в рекламе. 178

5.2. Как безопасно обмениваться данными: безопасность — союзник конфиденциальности  180

5.2.1. Отслеживание президента Трампа. 180

5.2.2. Защита передаваемых данных. 182

5.2.3. Защита данных в состоянии покоя. 183

Контроль доступа как инструмент защиты конфиденциальности. 184

Шифрование как инструмент защиты конфиденциальности. 185

5.3. Методы обфускации для безопасного обмена данными. 187

5.3.1. Обмен данными и национальная безопасность США.. 188

5.3.2. Анонимизация данных: связь между точностью и сроком хранения. 189

5.3.3. Анонимизация данных: взаимосвязь между точностью и доступом. 191

5.3.4. Анонимизация данных: сопоставление универсальных
идентификаторов с внутренними. 194

5.4. Передача внутренних идентификаторов третьим лицам. 196

5.4.1. Сценарий использования № 1: минимальная сессия
(без связи видов деятельности пользователя) 197

Предлагаемые методы псевдонимизации. 198

5.4.2. Сценарий использования № 2: одна сессия на каждый набор данных (связывание действий одного пользователя в рамках набора данных) 198

Предлагаемые методы псевдонимизации. 198

5.4.3. Сценарий использования № 3: наборы данных, охватывающие
всю сессию (связывание между наборами данных) 199

Предлагаемые методы псевдонимизации. 199

5.4.4. Восстановление псевдонимизированных значений. 200

Таблица сопоставления. 200

Двусторонняя криптографическая функция. 200

5.5. Измерение воздействия на конфиденциальность. 201

5.5.1. K-анонимность. 201

K-анонимность с неточными данными. 202

K-анонимность с точными данными. 203

K-анонимность и лучшая практика в отрасли. 204

5.5.2. L-разнообразие. 205

5.6. Ущерб конфиденциальности: это не учения. 206

5.6.1. Facebook и Cambridge Analytica. 207

5.6.2. Совместное использование данных и слабые места. 208

Резюме. 209

Часть III. Инструменты и процессы.. 211

Глава 6. Техническая проверка защиты конфиденциальности. 213

6.1. Что такое проверка защиты конфиденциальности. 214

6.1.1. Оценка воздействия на конфиденциальность. 216

6.1.2. Оценка воздействия на защиту данных. 217

Определите необходимость оценки воздействия на защиту данных. 219

Опишите процесс обработки данных. 220

Опишите отношения с пользователем. 221

Консультация. 222

Проведите оценку риска. 222

Определите меры по смягчению риска. 223

6.2. Внедрение процесса юридической проверки защиты конфиденциальности. 223

6.3. Обоснование необходимости технической проверки защиты конфиденциальности. 226

6.3.1. Сроки и объем. 226

6.3.2. Что входит в техническую проверку, но не входит в юридическую.. 228

6.4. Интеграция технических проверок защиты конфиденциальности в процесс внедрения инноваций  231

6.4.1. Когда проводится техническая проверка защиты конфиденциальности. 232

6.4.2. Как реализовать техническую защиту конфиденциальности. 234

6.5. Масштабирование процесса технической проверки защиты конфиденциальности. 240

6.5.1. Совместное использование данных. 240

6.5.2. Модели машинного обучения. 241

Машинное обучение и данные. 241

Машинное обучение, данные и конфиденциальность. 243

6.6. Примеры технических проверок защиты конфиденциальности. 244

6.6.1. Приложения-мессенджеры и приложения для взаимодействия:
связаны ли они?. 244

6.6.2. Маски и отслеживание контактов. 247

Резюме. 249

Глава 7. Удаление данных. 250

7.1. Почему компания должна удалять данные. 251

7.2. Как выглядит современная архитектура сбора данных. 253

7.2.1. Распределенная архитектура и микросервисы: как компании
собирают данные. 253

7.2.2. Как хранятся получаемые в реальном времени данные
и как организуется к ним доступ. 255

7.2.3. Хранение архивных данных. 255

7.2.4. Другие места хранения данных. 257

7.2.5. Как хранилище данных превращается из коллекции в архив. 258

7.3. Как работает архитектура сбора данных. 260

7.4. Удаление данных на уровне учетной записи: отправная точка. 262

7.4.1. Удаление учетной записи: разработка инструментария и процесса. 262

7.4.2. Масштабирование удаления учетной записи. 263

7.5. Удаление данных на уровне учетной записи: автоматизация
и масштабирование для распределенных услуг. 265

7.5.1. Регистрация сервисов и полей данных для удаления. 267

7.5.2. Планирование удаления данных. 269

7.6. Удаление конфиденциальных данных. 270

7.7. Кто должен управлять удалением данных. 274

Резюме. 276

Глава 8. Экспорт пользовательских данных:
запрос субъекта на доступ к персональным данным.. 277

8.1. Что такое DSAR. 278

8.1.1. Какие права предоставляют пользователям нормативные положения
о DSAR. 281

8.1.2. Обзор процесса выполнения DSAR. 283

8.2. Настройка процесса работы с DSAR. 285

8.2.1. Ключевые этапы создания системы выполнения DSAR. 286

8.2.2. Создание панели мониторинга состояния DSAR. 288

8.3. Автоматизация DSAR, структуры и потоки данных. 290

8.3.1. Компоненты DSAR. 290

8.3.2. Модели в форме параллелепипеда: подмножество данных
запроса DSAR. 292

8.3.3. Шаблоны DSAR. 295

8.3.4. Источники данных для шаблонов DSAR. 297

8.4. Интерфейсы и информационные панели для сотрудников. 299

Резюме. 307

Часть IV. Безопасность, масштабирование и кадровое обеспечение. 311

Глава 9. Разработка платформы управления согласием.. 311

9.1. В чем важность управления согласием. 312

9.1.1. Управление согласием и нормативные документы в области защиты конфиденциальности  313

9.1.2. Управление согласием и изменения в технологической отрасли. 315

9.1.3. Управление согласием и ваш бизнес. 317

9.2. Платформа управления согласием. 318

9.3. Модель схемы данных для управления согласием. 320

9.3.1. Отношения элементов, помогающие структурировать CMP. 321

9.3.2. Схемы отношений элементов: база данных CMP. 322

Таблица Feature. 323

Таблица Disclosure_Version. 325

Таблица «Согласие пользователя». 326

Таблица Locale_Copy. 328

Таблица LocaleTerritory. 329

9.4. Код согласия: объекты. 330

9.4.1. API для проверки статуса согласия. 331

9.4.2. API для получения документа о разглашении данных. 333

9.4.3. API для обновления статуса согласия на документ о разглашении
данных. 336

9.4.4. API для обработки нескольких документов о разглашении данных. 339

9.4.5. API для регистрации в сервисе получения согласия. 342

9.4.6. Полезные определения для сервиса получения согласия. 343

9.5. Другие полезные возможности CMP. 345

9.6. Интеграция управления согласием в рабочий процесс продукта. 347

Резюме. 351

Глава 10. Закрытие уязвимостей системы безопасности. 352

10.1. Защита конфиденциальности путем уменьшения поверхности атаки. 354

10.1.1. Управление поверхностью атаки. 354

10.1.2. Как тестирование может вызвать риски нарушения безопасности
и конфиденциальности. 356

Использование производственных данных в тестировании. 356

Гибкое тестирование, но с расширенной поверхностью атаки. 358

Потенциальные способы смягчения последствий изучены
и отвергнуты. 358

Выводы для инженеров и технических специалистов. 359

10.1.3. Модель риска предприятия для обеспечения безопасности и конфиденциальности  360

Автоматизированное обнаружение для управления поверхностью
атаки. 360

Внедрение управления рисками безопасности. 362

Сегментация сервисов. 364

Глубокая защита. 365

Обеспечение поддержки. 366

10.2. Защита конфиденциальности путем управления доступом к периметру. 367

10.2.1. Взлом компании Target 368

Разведка с целью обнаружения сетевых уязвимостей. 370

Получение несанкционированного доступа к стороннему

поставщику. 370

Использование уязвимости веб-приложения. 371

Поиск данных о клиентах. 372

Получение и поддержание доступа к данным клиентов. 372

Расширение доступа к данным клиента. 373

Кража личных данных клиентов и данных кредитных карт. 373

Отправка украденных данных за пределы сети компании. 374

10.2.2. Слабые места безопасности системы MongoDB. 376

10.2.3. Лучшие практики в сфере авторизации. 379

Принудительное разделение политики авторизации и кода. 379

Как сделать авторизацию безопасной, ориентированной на сервисы
и легко интегрируемой. 380

Проверка надежности каналов передачи данных и подтверждение подлинности личности  384

10.2.4. Почему важен непрерывный мониторинг учетных записей
и учетных данных. 387

10.2.5. Удаленная работа и риск для конфиденциальности. 389

10.3. Защита конфиденциальности путем устранения пробелов в управлении доступом. 391

10.3.1. Как работает уязвимость IDOR. 392

10.3.2. Тестирование на уязвимость IDOR и смягчение последствий. 394

Резюме. 396

Глава 11. Масштабирование, найм и рассмотрение правил. 397

11.1. Модель зрелости для инженерии конфиденциальности. 399

11.1.1. Идентификация. 401

Управление активами. 402

Управление конфиденциальностью.. 403

Управление рисками. 404

11.1.2. Защита. 406

Управление идентификацией и доступом. 406

Управление уязвимостями. 408

Безопасность и конфиденциальность разработки программного обеспечения. 409

Защита данных в облаке. 411

Защита данных на основе инфраструктуры. 412

11.1.3. Обнаружение. 415

Разведка угроз безопасности. 415

Непрерывный мониторинг. 416

Инсайдерская угроза. 417

11.1.4. Смягчение последствий. 419

Управление реагированием на инциденты. 419

11.2. Область инженерии конфиденциальности: необходимые навыки. 420

Разработчики программного обеспечения для защиты конфиденциальности. 421

Специалисты по соблюдению нормативно-правовых требований. 421

Аналитики по вопросам конфиденциальности. 422

Менеджеры по продуктам для защиты конфиденциальности. 422

Аналитики данных. 422

Специалисты по инфраструктуре конфиденциальности. 423

UX-дизайнеры в области защиты конфиденциальности. 423

Архитекторы конфиденциальности. 423

11.3. Защита конфиденциальности и нормативно-правовой климат. 424

Резюме. 428

Предметный указатель. 429

NISHANT BHAJARIA

Нишант Бхаджария (Nishant Bhajaria)– руководитель отдела стратегии и технологии конфиденциальности в компании Uber. Ранее возглавлял отделы инженерии конфиденциальности в компании Netflix, а также обеспечения безопасности данных в Google.

Опубликовано

Представляем: “Data Mesh. Новая парадигма работы с данными”

Data Mesh. Новая парадигма работы с данными

Впервые на русском языке книга об инновационной парадигме Data Mesh, продиктованной современным развитием, децентрализацией больших данных и подходами к их обработке.  Изложенная концепция развивает идеи предметно-ориентированного проектирования (DDD) и озера данных (Data Lake), раскрывает принципы федеративного цифрового управления данными.

Книга адресована (преимущественно руководящим) специалистам по работе с данными, а также разработчикам серверных и облачных продуктов.   

Наступает момент, когда существующие технологии управления данными нуждаются в коренном пересмотре. Налицо пролиферация источников данных, растущая важность человеческого фактора при их обработке. Кроме того, данные активно генерируются искусственным интеллектом и аналитическими инструментами, всё сильнее обособляясь по предметным областям.

В этой книге впервые сделан подробный практический разбор новой парадигмы Data Mesh. Объяснено, как она встраивается в имеющуюся информационную инфраструктуру, как добиться самодостаточной и частично самообслуживаемой конфигурации распределённых данных в компании. Книга продолжает идеи предметно-ориентированного проектирования (DDD) и озера данных (Data Lake), раскрывает принципы федеративного цифрового управления данными. Адресована (преимущественно руководящим) специалистам по работе с данными, а также разработчикам серверных и облачных продуктов, поможет уверенно ориентироваться в технологическом ландшафте и имеющихся практиках при управлении гетерогенными и динамично меняющимися источниками информации.

Отзывы читателей на Amazon.com

В этой книге разобрано, как сформировалась парадигма «data mesh» – современная альтернатива таким архитектурам, как хранилища и озёра данных. Автор рассказывает, как качественнее и эффективнее нарабатывать ценность имеющихся данных и монетизировать их – чего не всегда позволяют добиться более традиционные подходы.

Концепции, представленные в книге, не привязаны к конкретным технологиям и актуальны при работе с любыми базами данных и облаками. Книга обязательна для изучения и особенно полезна потому, что помогает задать понятный контекст для сложных и, казалось бы, разрозненных проблем. Картинки тоже очень классные.

Книгу “Data Mesh. Новая парадигма работы с данными” можно купить со скидкой в интернет-магазине издательства “БХВ“.

Об авторе. 13

Отзывы о книге. 14

Предисловие. 16

Предисловие к русскому изданию.. 18

Введение. 20

Зачем я написала эту книгу и почему сейчас. 21

Для кого предназначена эта книга. 22

Как читать данную книгу. 23

Условные обозначения в книге. 24

Благодарности. 24

Пролог, или Представьте Data Mesh. 26

Data Mesh в действии. 27

Культура любознательности и жажды экспериментов. 28

Партнерские сервисы, данные и машинное обучение. 29

Невидимая платформа и политики. 35

Неограниченное масштабирование с автономными data-продуктами. 37

Положительный сетевой эффект. 37

Почему необходим переход на Data Mesh?. 38

Дальнейшее развитие. 40

Часть I. Что такое Data Mesh?. 41

ГЛАВА 1. Коротко о Data Mesh. 43

Результаты. 43

Переход. 44

Принципы. 46

Принцип доменного владения. 46

Принцип данных как продукта. 47

Принцип платформы данных самообслуживания. 48

Принцип федеративного цифрового регулирования данных. 48

Взаимодействие принципов. 49

Взгляд на модель Data Mesh. 50

Данные. 51

Операционные данные. 51

Аналитические данные. 52

Резюме. 53

ГЛАВА 2. Принцип доменного владения. 55

Краткое описание стратегии предметно-ориентированного проектирования. 57

Применение стратегии предметно-ориентированного проектирования к данным. 58

Архетипы данных домена. 61

Выровненные с источником данные домена. 62

Агрегированные данные домена. 64

Выровненные с потребителем данные домена. 64

Переход к доменному владению.. 65

Смещение владения данными “вверх по течению”. 65

Определение множества связных моделей. 66

Единый источник истины. 67

Размещение конвейера данных внутри домена. 67

Резюме. 68

ГЛАВА 3. Принцип данных как продукта. 70

Применение концепции продуктового мышления к данным. 72

Базовые атрибуты удобства использования data-продукта. 74

Переход к данным как к продукту. 83

Включение владения data-продуктом в домены. 83

Новый взгляд на используемую терминологию.. 84

Данные как продукт, а не просто актив. 84

“Доверяй, но проверяй” в культуре отношения к данным. 85

Объединение данных и вычислений в один логический элемент. 86

Резюме. 87

ГЛАВА 4. Принцип платформы данных самообслуживания. 88

Платформа Data Mesh: сходства и различия. 90

Обслуживание автономных доменно-ориентированных команд. 90

Управление автономными функционально совместимыми data-продуктами. 92

Платформа с операционными и аналитическими возможностями. 92

Акцент  на использование большинством специалистов широкого профиля. 93

Децентрализованные технологии. 95

Независимые от домена функции. 95

Платформенное мышление в Data Mesh. 96

Возможность автономных команд получать ценность из данных. 98

Обмен ценностью с автономными, но совместимыми data-продуктами. 100

Ускорение обмена ценностью путем снижения когнитивной нагрузки. 101

Масштабирование обмена данными. 102

Поддержка культуры встроенных инноваций. 104

Переход на платформу самообслуживания Data Mesh. 104

Разработайте API и протоколы вначале. 105

Подготовьтесь к попаданию технологии в широкий обиход. 105

Проведите ревизию и упростите сервисы платформы. 106

Разработайте высокоуровневые API для управления data-продуктами. 106

Создайте опыт, а не механизм. 107

Начните с простой основы и развивайте ее. 107

Резюме. 108

ГЛАВА 5. Принцип федеративного цифрового регулирования данных. 109

Системный подход к регулированию данных в Data Mesh. 112

Поддержка динамического равновесия между автономностью доменов
и глобальной совместимостью.. 113

Внедрение динамической топологии по умолчанию.. 117

Использование автоматизации и распределенной архитектуры. 117

Внедрение федерализации в модель регулирования данных. 118

Федеративная команда. 119

Отраслевые эксперты. 121

Политики. 124

Стимулы. 125

Цифровизация модели регулирования данных. 127

Стандарты, выраженные в коде. 127

Политики, выраженные в коде. 128

Автоматизация тестирования. 129

Автоматизация мониторинга. 129

Переход к федеративному цифровому регулированию.. 130

Переход ответственности к доменам. 130

Внедрение исполнения политик в каждый data-продукт. 130

Автоматизация через интервенцию.. 131

Моделирование данных. 131

Измерение сетевого эффекта. 132

Изменения вместо постоянства. 132

Резюме. 132

Часть II. Почему Data Mesh?. 147

ГЛАВА 6. Переломный момент. 137

Большие надежды, возлагаемые на использование данных. 138

Фундаментальное разделение данных. 140

Новые типы масштабирования. 142

Естественная необходимость. 143

Приближение к плато в извлечении выгоды. 144

Резюме. 145

ГЛАВА 7. После переломного момента. 147

Положительное отношение к изменениям в условиях сложноорганизованного бизнеса. 148

Выравнивание бизнеса, технологий и аналитических данных. 149

Устранение разрыва между операционными и аналитическими данными. 150

Локализация изменений данных в пределах предметных областей. 152

Уменьшение непреднамеренной сложности конвейеров данных. 152

Поддержание скорости работы в условиях расширения. 153

Устранение узких мест, возникающих при централизации и монолитности. 154

Уменьшение зависимости конвейеров данных. 154

Меньше координации в регулировании данных. 156

Внедрение автономности. 157

Повышение соотношения возврата ценности из данных к инвестициям. 158

Абстрагирование технической сложности при помощи платформы данных. 158

Повсеместное внедрение продуктового мышления. 159

Выход за пределы. 159

Резюме. 160

ГЛАВА 8. До переломного момента. 163

Эволюция архитектур аналитических данных. 163

Первое поколение: архитектура хранилища данных. 164

Второе поколение: архитектура озера данных. 165

Третье поколение: многомодульная облачная архитектура. 167

Характеристики архитектуры аналитических данных. 168

Монолитность. 169

Централизованное владение данными. 174

Ориентация на технологии. 175

Резюме. 179

Часть III. Как спроектировать архитектуру Data Mesh. 181

ГЛАВА 9. Логическая архитектура. 183

Доменно-ориентированные интерфейсы для обмена аналитическими данными. 186

Дизайн программного интерфейса. 188

Дизайн интерфейсов аналитических данных. 188

Междоменные зависимости аналитических данных. 189

Data-продукт как архитектурный квант. 190

Структурные компоненты data-продукта. 191

Взаимодействие для обмена данными data-продукта. 197

API для обеспечения поиска и мониторинга данных. 199

Многоплоскостная платформа данных. 199

Плоскость платформы. 200

Плоскость инфраструктуры данных. 201

Плоскость data-продукта. 202

Плоскость mesh. 202

Пример. 202

Внедрение цифровых политик. 203

Sidecar data-продукта. 205

Вычислительный контейнер data-продукта. 206

Порт контроля. 206

Резюме. 207

ГЛАВА 10. Многоплоскостная архитектура платформы данных. 211

Ориентированность на пользовательское восприятие при разработке платформы. 214

Путь разработчика data-продукта. 215

Начало разработки, исследование, начальная загрузка и определение
источника. 217

Сборка, тестирование, развертывание и запуск. 220

Поддержка, развитие и прекращение поддержки. 224

Пользовательское восприятие data-продукта. 227

Начало разработки, исследование, начальная загрузка и определение
источника. 229

Сборка, тестирование, развертывание, запуск. 230

Поддержка, развитие и прекращение поддержки. 231

Резюме. 231

Часть IV. Как спроектировать архитектуру data-продукта. 233

ГЛАВА 11. Проектирование data-продукта на основе возможностей. 235

Возможности data-продукта. 236

Характеристики архитектуры data-продукта. 240

Проектирование модели на основе простоты сложных адаптивных систем. 242

Эмерджентное поведение на основе простых локальных правил. 242

Отсутствие центральной оркестровки. 243

Резюме. 243

ГЛАВА 12. Проектирование возможностей потребления, преобразования и предоставления данных  245

Предоставление данных. 245

Потребности пользователей данных. 245

Свойства проектирования данных. 248

Модель предоставления данных. 261

Потребление данных. 263

Архетипы источников данных. 264

Расположение потребляемых данных. 268

Модель потребления данных. 269

Преобразование данных. 271

Программные и непрограммные преобразования данных. 272

Преобразование на основе потока данных. 273

Преобразования данных с использованием машинного обучения. 275

Преобразования данных с временнóй зависимостью.. 275

Проектирование преобразований данных. 275

Резюме. 277

ГЛАВА 13. Проектирование возможностей поиска, интерпретации
и компоновки данных. 278

Поиск, интерпретация, проверка и исследование. 278

Саморегистрация data-продукта для возможности поиска. 281

Поиск при помощи глобального URI 281

Семантические и синтаксические модели. 282

Гарантии данных. 283

Форма данных. 287

Документация. 288

Обнаружение, изучение и понимание data-продуктов. 288

Компоновка данных. 289

Свойства модели потребления данных. 291

Традиционные подходы к компонуемости данных. 292

Модель компонуемости данных. 296

Резюме. 299

ГЛАВА 14. Проектирование возможностей управления, регулирования
и мониторинга данных. 301

Управление жизненным циклом. 301

Модель управления жизненным циклом. 302

Компоненты манифеста data-продукта. 303

Регулирование данных. 304

Модель регулирования данных. 305

Стандартизация политик. 306

Объединение политик и данных. 308

Связывание политик. 309

Отслеживание, отладка и аудит. 309

Проектирование наблюдаемости. 310

Резюме. 314

Часть V. С чего начать. 315

ГЛАВА 15. Стратегия и реализация. 317

Следует ли сегодня переходить на Data Mesh?. 317

Data Mesh как элемент стратегии данных. 322

Фреймворк для реализации Data Mesh. 325

Бизнес-ориентированная реализация. 326

Сквозная итеративная реализация. 332

Эволюционная реализация. 333

Резюме. 349

ГЛАВА 16. Организация и культура. 350

Процесс изменения. 352

Культура. 354

Ценности. 355

Вознаграждение. 358

Внутренняя мотивация. 358

Внешняя мотивация. 359

Структура. 360

Принятие существующей организационной структуры. 360

Определение границ data-продукта. 369

Люди. 373

Роли. 373

Развитие профессиональных навыков. 376

Процесс. 378

Ключевые изменения в процессах. 379

Резюме. 381

Предметный указатель. 382

Дегани Жамак

Дегани Жамак – автор и идеолог парадигмы Data Mesh, технический директор компании Thoughtworks. Профессиональные интересы – распределённые системы и архитектура данных в компании. Выступает за технологическую децентрализацию на всех уровнях, в частности при работе с данными, приложениями и зонами ответственности.

Опубликовано

Как сохранить свои данные и конфиденциальность в безопасности?

Мои данные. Моя конфиденциальность. Мой выбор

Представляем книгу “Мои данные. Моя конфиденциальность. Мой выбор”.

Книга дает наглядные практические советы по сохранению анонимности в Интернете, а также предотвращению утечки конфиденциальных данных для пользователей мобильных телефонов, ноутбуков, настольных компьютеров и планшетных устройств. Рассмотрены способы предотвратить “слежку” за пользователем со стороны различных веб-сайтов и сервисов. Даны рекомендации по настройкам популярных ОС. Приводится информация о безопасной работе в социальных сетях, программах и сервисах для повышения конфиденциальности и обеспечения анонимности в сети. Читателю предлагается оценить качество защиты своих данных путем подсчета условных баллов, которые начисляются за выполнение каждого задания и ответы на контрольные вопросы.

Издание ориентировано на широкий круг читателей, не обладающих какими-либо специальными знаниями в области защиты информации  и компьютерных технологий, а также может быть использовано корпоративными ИТ-отделами в качестве справочника для разработки практических методов обеспечения безопасности и учебных модулей для сотрудников.

 

Книгу “Мои данные. Моя конфиденциальность. Мой выбор” можно купить со скидкой в интернет-магазине издательства “БХВ“.

Об этой книге. 11

Отзывы.. 13

Об авторе. 14

Благодарности. 15

О русском издании книги. 16

Предисловие. 17

Глава 1. Пролог. 21

Введение. 21

Прежде чем мы начнем… 21

Кому стоит прочитать эту книгу?. 22

Как читать эту книгу?. 23

Что такое #РохитРекомендует?. 23

Базовый уровень. 24

Средний уровень. 24

Высокий уровень. 25

Экспертный уровень. 25

Заключение. 27

Глава 2. Интернет и конфиденциальность. 28

Введение. 28

Конфиденциальность? Какая конфиденциальность?! 29

Microsoft 30

Facebook. 31

Cambridge Analytica. 31

Злоумышленники и угрозы.. 32

Пассивные злоумышленники. 33

Активные злоумышленники. 33

Навязчивая реклама. 34

Невидимые угрозы.. 34

Что мы уже знаем о вас. 34

Основы шпионажа. 36

Расширенный поиск или OSINT.. 37

Заключение. 38

Глава 3. Устройства с операционной системой Android. 40

Введение. 40

Экосистема Google-Android. 40

Android Open-Source Project (AOSP) 42

Почему Google делает это?. 43

Что такое ROM (постоянное запоминающее устройство, ПЗУ)?. 43

Официальные прошивки. 44

Пользовательские прошивки. 44

Официальные прошивки против пользовательских. 45

Android и конфиденциальность. 47

Телеметрия от Google. 47

Телеметрия не от Google. 49

Телеметрия от OnePlus. 49

Телеметрия от Xiaomi и утечка данных. 49

…и от других! 50

Рекомендации и предложения. 50

Датчики. 50

Разрешения. 51

#РохитРекомендует. 52

Телеметрия от Google. 52

Базовый уровень (1 балл) 53

Средний уровень (2 балла) 54

Высокий уровень (3 балла) 55

Экспертный уровень (5 баллов) 56

Телеметрия не от Google. 56

Базовый уровень (1 балл) 57

Датчики. 57

Базовый уровень (1 балл) 58

Разрешения. 59

Базовый уровень (1 балл) 59

Средний уровень (2 балла) 62

Заключение. 63

Глава 4. Apple iPhone. 64

Введение. 64

Экосистема Apple. 65

iOS. 66

iCloud. 66

Джейлбрейк. 67

Apple и конфиденциальность. 69

Датчики. 70

Разрешения. 70

Приложение Настройки (Settings) 71

Аналитика и реклама. 71

#РохитРекомендует. 73

iOS и iCloud. 73

Датчики. 75

Разрешения. 76

Настройки | Конфиденциальность (Settings | Privacy) 79

Аналитика и реклама. 80

Заключение. 82

Глава 5. Приложения для смартфона. 84

«Мусорное» ПО.. 84

Как определить «мусорные» приложения на Android?. 85

Вредоносное ПО.. 85

Какие существуют виды вредоносных программ?. 85

Как я узнаю, что стал жертвой вредоносного ПО?. 87

Тогда почему никто ничего не делает?. 87

Как я могу предотвратить атаки вредоносных программ?. 88

Технология «песочниц». 89

Разрешения. 89

#РохитРекомендует. 90

«Мусорные» приложения. 91

На Android. 91

Удаление «мусорных» программ на устройствах Apple. 95

Вредоносное ПО.. 95

Технология «песочниц». 96

Разрешения. 97

Заключение. 98

Глава 6. «Умные» устройства и Интернет вещей. 99

Введение. 99

Интернет вещей. 100

Уязвимости безопасности в Интернете вещей и «умных» устройствах. 101

Приложение Strava. 102

Смарт-телевизоры.. 102

Alexa, Siri и Google. 103

«Умные» устройства. 104

#РохитРекомендует. 104

Заключение. 107

Глава 7. Операционные системы для настольных компьютеров. 108

Введение. 108

Операционные системы.. 109

Microsoft Windows. 109

Современные версии Windows (11, 10, 8.1, и 8) 110

Windows 7 и более ранние версии. 111

macOS. 112

Linux. 113

Конфигурации с несколькими ОС.. 115

Пользователь по умолчанию: администратор vs гость. 117

Телеметрия. 118

Телеметрия Windows 10/11. 119

Диагностика и обратная связь. 119

Регистрация нажатий клавиш.. 121

Cortana. 122

Wi-Fi Sense. 123

Keychain и KeySteal от Apple. 124

Другие настройки конфиденциальности. 124

#РохитРекомендует. 125

Операционная система (ОС) 125

Шпион против шпиона! 128

Телеметрия. 129

Другие настройки конфиденциальности. 130

macOS. 132

Linux. 133

Заключение. 134

Глава 8. Приложения для настольных компьютеров. 136

Введение. 136

Приложения. 137

«Мусорное» ПО.. 138

Утилиты под торговой маркой производителя. 139

Сторонние приложения и утилиты.. 140

Интегрированное «мусорное» ПО.. 141

Программное обеспечение безопасности. 142

Брандмауэры.. 142

Антивирусы и защита от вредоносных программ.. 142

#РохитРекомендует. 142

Приложения. 143

Песочницы.. 145

Шифрование файлов. 145

Восстановление системы.. 146

Удаление «мусорного» ПО.. 147

Windows 10 и 11. 147

Apple (macOS) 151

Linux. 151

Обеспечение безопасности программными средствами. 152

Windows. 152

Брандмауэры.. 152

Антивирусы и антивредоносное ПО.. 153

macOS и Linux. 154

Брандмауэры.. 154

Антивирус и антивредоносное ПО.. 155

Брандмауэры.. 156

Антивирусы и антивредоносное ПО.. 156

Заключение. 157

Глава 9. Браузеры для настольных компьютеров. 159

Введение. 159

Как работают современные браузеры?. 159

Популярные браузеры.. 160

Браузеры с защитой конфиденциальности. 161

Браузер Brave. 161

Браузер Epic. 162

Браузер Tor 162

Является ли Tor действительно анонимным?. 163

Настройки конфиденциальности. 164

Приватные окна. 165

Отказ от телеметрии. 165

Синхронизация и персонализация. 165

Интеграция с поисковой системой. 165

Файлы cookie, отслеживание и блокировка контента. 166

Формы и автозаполнение. 166

Разрешения и настройки сайтов. 166

Плагины и расширения. 167

Разница между плагинами и расширениями. 167

Плагины и расширения принципиально разные. 167

Потенциальные проблемы безопасности из-за плагинов. 168

Потенциальные проблемы безопасности, связанные с расширениями. 169

#РохитРекомендует. 170

Средний уровень (10 баллов) 177

Высокий уровень (15 баллов) 180

Экспертный уровень (25 баллов) 182

Заключение. 184

Глава 10. Службы — электронная почта. 186

Введение. 186

Электронная почта. 186

Доступ к электронной почте. 187

Веб-порталы.. 187

Почтовые приложения-клиенты.. 188

Компрометация электронной почты.. 188

Фишинг. 188

Слабые пароли. 189

Вредоносное ПО.. 190

Реклама по электронной почте. 191

Размещение собственного почтового сервера. 191

Использование почтового сервиса, заботящегося о конфиденциальности. 192

Спам.. 192

#РохитРекомендует. 193

Доступ к вашей электронной почте. 193

Компрометация электронной почты.. 195

Фишинг. 195

Пароли и аутентификация. 196

Вредоносное ПО.. 197

Реклама по электронной почте. 199

Спам.. 200

Предотвращение утечки данных и смягчение последствий. 202

Заключение. 204

Глава 11. Программное обеспечение как услуга
(Software-as-a-Service, SaaS) 206

Введение. 206

Итак, что такое SaaS?. 207

Типы SaaS. 208

Социальные услуги SaaS. 208

SaaS для шопинга. 208

Финансовые услуги SaaS. 209

Прочие услуги SaaS. 210

Вопросы конфиденциальности и безопасности. 211

Условия использования и политика конфиденциальности. 211

Надежность сервиса. 213

Безопасность и прозрачность. 213

Нарушение безопасности данных и реакция на них. 214

Обновления безопасности. 215

Доступ к данным.. 215

#РохитРекомендует. 216

Виды SaaS. 217

Проблемы конфиденциальности сервисов SaaS. 221

Заключение. 224

Глава 12. Сети: связь и Интернет. 225

Введение. 225

Итак, как работают сети?. 225

Проводные сети. 226

Беспроводные сети. 226

Распространенные векторы атак. 228

Идентификация. 228

Перехват. 229

Векторы атак на беспроводные сети. 230

Bluetooth. 232

NFC.. 233

#РохитРекомендует. 233

Базовый уровень (1 балл) 234

Средний уровень (2 балла) 235

Высокий уровень (3 балла) 236

Экспертный уровень (5 баллов) 239

Заключение. 241

Глава 13. Операционная безопасность (Operational Security, OPSEC) 242

Введение. 242

Видеть во всех противников. 243

Процесс OPSEC.. 244

Что можно и чего нельзя делать. 245

Мобильная связь. 245

Безопасность устройств. 246

Новые учетные записи. 247

Заключение. 248

Глава 14. Эпилог. 250

Введение. 250

Подсчет баллов. 251

Заключение. 252

Глава 15. Бонус: полезные советы и рекомендации. 254

10 разрешений Android в категории «Опасные». 254

Как настроить Android без служб Google. 257

Полезные приложения, об установке которых стоит задуматься. 260

Альтернативные магазины приложений. 263

Для Android. 264

Для Apple. 265

Заключение. 265

Проверка электронной почты на неизвестном компьютере. 266

Оценка степени вашей конфиденциальности. 267

Предметный указатель. 269

Рохит Шриваства — серийный предприниматель, обладатель степени Microsoft MVP в области “Безопасность предприятий”. Консультирует ряд военных ведомств, правоохранительных органов, корпоративных и правительственных структур разных стран в сфере кибербезопасности. Рохит – основатель первой в Индии конференции и сообщества хакеров под названием “ClubHack”. Участвовал во многих технических и новостных мероприятиях, связанных с кибервойнами и кибербезопасностью, выступал на различных конференциях по всему миру, включая TEDx и Microsoft Digital Crime Convention. Разработал курс M.Tech по информационной безопасности, который в настоящее время преподается в Университете г. Пуна. Является приглашенным преподавателем в нескольких высших учебных заведениях, таких как Индийский институт технологии (IITs), Индийский институт управления (IIMs), Институт технологии и науки имени Бирлы (BITS) и др.