Национальный цифровой ресурс Руконт - межотраслевая электронная библиотека (ЭБС) на базе технологии Контекстум (всего произведений: 638282)
Контекстум
Электро-2024

Семь баз данных за семь недель. Введение в современные базы данных и идеологию NoSQL (3000,00 руб.)

0   0
Первый авторРедмонд
АвторыУилсон Дж.Р.
ИздательствоМ.: ДМК Пресс
Страниц385
ID795307
АннотацияВ книге описаны большинство из современных баз данных с открытым исходным кодом: Redis, Neo4J, CouchDB, MongoDB, HBase, PostgreSQL и Riak. Для каждой базы приведены примеры работы с реальными данными, демонстрирующие основные идеи и сильные стороны. Эта книга прольет свет на сильные и слабые стороны каждой из семи баз данных и научит вас выбирать ту, которая лучше отвечает требованиям. Издание предназначено для программистов разной квалификации, использующих базы данных в своей профессиональной деятельности.
ISBN978-5-97060-615-5
УДК4.6
ББК32.973.26
Редмонд, Э. Семь баз данных за семь недель. Введение в современные базы данных и идеологию NoSQL / Дж.Р. Уилсон; Э. Редмонд .— Москва : ДМК Пресс, 2018 .— 385 с. — ISBN 978-5-97060-615-5 .— URL: https://rucont.ru/efd/795307 (дата обращения: 08.06.2024)

Предпросмотр (выдержки из произведения)

Семь_баз_данных_за_семь_недель._Введение_в_современные_базы_данных_и_идеологию_NoSQL.pdf
УДК 004.6 ББК 32.973.26 Р33 Р33 Эрик Редмонд, Джим. Р. Уилсон Семь баз данных за семь недель. Введение в современные базы данных и идеологию NoSQL. Под редакцией Жаклин Картер / Пер. с англ. Слинкин А. А. – М.: ДМК Пресс, 2018. – 384 с.: ил. В книге описаны большинство из современных баз данных с открытым исходным кодом: Redis, Neo4J, CouchDB, MongoDB, HBase, PostgreSQL и Riak. Для каждой базы приведены примеры работы с реальными данными, демонстрирующие основные идеи и сильные стороны. Эта книга прольет свет на сильные и слабые стороны каждой из семи баз данных и научит вас выбирать ту, которая лучше отвечает требованиям. Издание предназначено для программистов разной квалификации, использующих базы данных в своей профессиональной деятельности. ISBN 978-5-97060-615-5 УДК 004.6 ББК 32.973.26 Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Материал, изложенный в данной книге, многократно проверен. Но, поскольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги. ISBN 978-1-93435-692-0 (англ.) ISBN 978-5-97060-615-5 (рус.) © Pragmatic Programmers, LLC. © Оформление, перевод на русский язык ДМК Пресс
Стр.5
СОДЕРЖАНИЕ ПРЕДИСЛОВИЕ ................................................ 13 БЛАГОДАРНОСТИ ............................................. 15 ВСТУПЛЕНИЕ ................................................... 17 Почему именно семь баз данных? ....................................... 17 Что есть в этой книге? ......................................................... 17 Чего нет в этой книге? ......................................................... 18 Это не руководство по установке ............................................... 18 Руководство администратора? Пожалуй, нет ............................. 19 Замечание для пользователей Windows...................................... 19 Примеры кода и соглашения ............................................... 19 Сетевые ресурсы ................................................................ 20 Глава 1. Введение ............................................. 21 1.1. Все начинается с вопроса ............................................ 21 1.2. Жанры .......................................................................... 23 Реляционные СУБД .................................................................... 24 Хранилища ключей и значений ................................................... 25 Столбцовые базы данных ........................................................... 26 Документо-ориентированные базы данных ................................ 27 Графовые базы данных .............................................................. 28 Многостороннее хранение ......................................................... 28 1.3. Вперед и вверх ............................................................. 29 Глава 2. PostgreSQL .......................................... 30 2.1. Произносится Post-greS-Q-L ........................................ 30 2.2. День 1: отношения, операции CRUD и соединения ....... 32 Введение в SQL .......................................................................... 33
Стр.6
6 Содержание Быстрый поиск с применением индексов ................................... 41 День 1: итоги .............................................................................. 43 День 1: домашнее задание ......................................................... 44 2.3. День 2: более сложные запросы, код и правила ............ 45 Агрегатные функции ................................................................... 45 Оконные функции ....................................................................... 48 Транзакции ................................................................................ 49 Хранимые процедуры ................................................................. 50 Триггеры .................................................................................... 52 Представление о мире ............................................................... 54 Правила ..................................................................................... 55 Создание сводных таблиц с помощью crosstab() ........................ 57 День 2: итоги .............................................................................. 59 День 2: домашнее задание ......................................................... 59 2.4. День 3: полнотекстовый поиск и многомерные кубы..... 60 Нечеткий поиск .......................................................................... 62 Полнотекстовый поиск ............................................................... 65 День 3: итоги .............................................................................. 75 День 3: домашнее задание ......................................................... 75 2.5. Резюме ........................................................................ 75 Сильные стороны PostgreSQL ..................................................... 76 Слабые стороны PostgreSQL ...................................................... 77 Перед расставанием .................................................................. 77 Глава 3. Riak .................................................... 78 3.1. Riak дружит с веб.......................................................... 79 3.2. День 1: CRUD, ссылки и типы MIME .............................. 80 Лучше REST может быть только REST (или как завивать локоны) ...................................................................................... 82 Ссылки ....................................................................................... 85 Типы MIME в Riak ........................................................................ 89 День 1: итоги .............................................................................. 90 День 1: домашнее задание ......................................................... 90 3.3. День 2: mapreduce и кластеры серверов ...................... 91 Скрипт для загрузки данных ....................................................... 91 Введение в Mapreduce ............................................................... 92 Mapreduce в Riak ........................................................................ 95 О согласованности и долговечности......................................... 101 День 2: итоги ............................................................................ 109 День 2: домашнее задание ....................................................... 109
Стр.7
Содержание 7 3.4. День 3: разрешение конфликтов и расширение Riak .. 110 Разрешение конфликтов с помощью векторных часов .............. 110 Расширение Riak ...................................................................... 117 День 3: итоги ............................................................................ 121 День 3: домашнее задание ....................................................... 122 3.5. Резюме ...................................................................... 122 Сильные стороны Riak .............................................................. 123 Слабые стороны Riak ................................................................ 123 Riak и теорема CAP .................................................................. 123 Перед расставанием ................................................................ 124 Глава 4. HBase ................................................ 125 4.1. Введение в HBase ...................................................... 126 4.2. День 1: операции CRUD и администрирование таблиц .............................................................................. 127 Конфигурирование HBase ........................................................ 128 Оболочка HBase ....................................................................... 129 Создание таблицы ................................................................... 129 Вставка, обновление и выборка данных ................................... 131 Добавление данных из программы ........................................... 136 День 1: итоги ............................................................................ 137 День 1: домашнее задание ....................................................... 138 4.3. День 2: работа с «большими данными» ....................... 139 Импорт данных, выполнение скриптов ..................................... 139 Потоковая загрузка XML ........................................................... 140 Загрузка википедии ................................................................. 141 Сжатие и фильтры Блума.......................................................... 143 Контакт? Есть контакт! .............................................................. 143 Знакомство с регионами и мониторингом места на диске ........ 145 Опрос регионов ....................................................................... 146 Сканирование одной таблицы для построения другой .............. 149 Построение сканера ................................................................. 150 Запуск скрипта ......................................................................... 152 Исследование результатов ....................................................... 153 День 2: итоги ............................................................................ 154 День 2: домашнее задание ....................................................... 155 4.4. День 3: переходим в облако ....................................... 156 Разработка «бережливого» приложения для HBase .................. 156 Введение в Whirr ...................................................................... 160 Подготовка к работе с EC2 ....................................................... 160 Подготовка Whirr ...................................................................... 161
Стр.8
8 Содержание Настройка кластера ................................................................. 162 Запуск кластера ....................................................................... 163 Подключение к кластеру ........................................................... 163 Уничтожение кластера ............................................................. 164 День 3: итоги ............................................................................ 164 День 3: домашнее задание ....................................................... 165 4.5. Резюме ...................................................................... 166 Сильные стороны HBase........................................................... 166 Слабые стороны HBase ............................................................ 167 HBase и теорема CAP ............................................................... 167 Перед расставанием ............................................................... 168 Глава 5. MongoDB ........................................... 169 5.1. Монстр ....................................................................... 169 5.2. День 1: операции CRUD и вложенность ...................... 171 Поработаем с командной строкой ............................................ 171 JavaScript ................................................................................. 173 Чтение: продолжаем изучать Mongo ......................................... 175 Копнем глубже ......................................................................... 177 Обновление ............................................................................. 181 Ссылки ..................................................................................... 183 Удаление .................................................................................. 184 Функциональные критерии ....................................................... 185 День 1: итоги ............................................................................ 186 День 1: домашнее задание ....................................................... 186 5.3. День 2: индексирование, группировка, mapreduce ..... 187 Индексирование: когда быстродействия не хватает ................. 187 Агрегированные запросы ......................................................... 191 Команды на стороне сервера ................................................... 194 Mapreduce (и Finalize) ............................................................... 197 День 2: итоги ............................................................................ 201 День 2: домашнее задание ....................................................... 201 5.4. День 3: наборы реплик, сегментирование, пространственные данные и GridFS .................................. 201 Наборы реплик ......................................................................... 202 Сегментирование ..................................................................... 206 Пространственные запросы ..................................................... 208 GridFS ...................................................................................... 210 День 3: итоги ............................................................................ 211 День 3: домашнее задание ....................................................... 211 5.5. Резюме ...................................................................... 212
Стр.9
Содержание 9 Сильные стороны Mongo .......................................................... 212 Слабые стороны Mongo ............................................................ 212 Перед расставанием ................................................................ 213 Глава 6. CouchDB ............................................ 214 6.1. Располагайтесь на кушетке ........................................ 214 Сравнение CouchDB с MongoDB .............................................. 215 6.2. День 1: операции CRUD, Futon и снова cURL .............. 215 Знакомство с Futon .................................................................. 216 Выполнение операций CRUD с помощью REST-интерфейса и cURL ...................................................................................... 219 Чтение документа с помощью GET ........................................... 220 Создание документа с помощью POST ..................................... 221 Обновление документа с помощью PUT ................................... 222 Удаление документа с помощью DELETE .................................. 223 День 1: итоги ............................................................................ 223 День 1: домашнее задание ....................................................... 223 6.3. День 2: создание и опрос представлений ................... 224 Доступ к документам через представления .............................. 224 Создание первого представления ............................................ 226 Сохранение представления в виде проектного документа ........ 229 Поиск исполнителей по имени ................................................. 229 Поиск альбомов по названию ................................................... 230 Опрос представлений исполнителей и альбомов ..................... 231 Импорт данных в CouchDB с помощью программы на Ruby ...... 233 День 2: итоги ............................................................................ 238 День 2: домашнее задание ....................................................... 238 6.4. День 3: более сложные представления, Changes API и репликация данных ........................................................ 239 Создание более сложных представлений с помощью редукторов ............................................................................... 239 Отслеживание изменений в CouchDB ....................................... 243 Непрерывное отслеживание изменений ................................... 249 Фильтрация изменений ............................................................ 250 Репликация данных в CouchDB ................................................. 252 День 3: итоги ............................................................................ 256 День 3: домашнее задание ....................................................... 256 6.5. Резюме ...................................................................... 257 Сильные стороны CouchDB ...................................................... 257 Слабые стороны CouchDB ........................................................ 258 Перед расставанием ................................................................ 258
Стр.10
10 Содержание Глава 7. Neo4J ................................................ 259 7.1. Neo4J дружит с доской ............................................... 259 7.2. День 1: графы, Groovy и операции CRUD .................... 261 Веб-интерфейс Neo4j ............................................................... 262 Neo4j и Gremlin ......................................................................... 264 Конвейеры ............................................................................... 267 Конвейер и вершина ................................................................ 269 Бессхемная социальная сеть.................................................... 270 Дорога меряется шагами ......................................................... 271 Обновляем, удаляем, стираем ................................................. 278 День 1: итоги ............................................................................ 279 День 1: домашнее задание ....................................................... 279 7.3. День 2: REST, индексы и алгоритмы ............................ 279 REST-интерфейс ...................................................................... 279 Интересные алгоритмы ............................................................ 286 День 2: итоги ............................................................................ 292 День 2: домашнее задание ....................................................... 292 7.4. День 3: распределенность и высокая доступность ..... 293 Транзакции .............................................................................. 293 Высокая доступность ............................................................... 294 HA-кластер ............................................................................... 295 Резервное копирование ........................................................... 301 День 3: итоги ............................................................................ 302 День 3: домашнее задание ....................................................... 302 7.5. Резюме ...................................................................... 302 Сильные стороны Neo4j............................................................ 303 Слабые стороны Neo4j ............................................................. 303 Neo4j и теорема CAP ................................................................ 304 Перед расставанием ................................................................ 304 Глава 8. Redis ................................................. 305 8.1. Хранилище сервера структур данных ......................... 305 8.2. День 1: операции CRUD и типы данных ....................... 306 Приступая к работе .................................................................. 307 Транзакции .............................................................................. 309 Составные типы данных ........................................................... 309 Блокирующие списки ............................................................... 313 Диапазоны ............................................................................... 316 Пространства имен .................................................................. 319 И это еще не всё....................................................................... 320
Стр.11
Содержание 11 День 1: итоги ............................................................................ 321 День 1: домашнее задание ....................................................... 321 8.3. День 2: более сложные применения, распределенные вычисления....................................................................... 321 Простой интерфейс ................................................................. 322 Информация о сервере ............................................................ 325 Настройка Redis ....................................................................... 325 Репликация главный-подчиненный ........................................... 330 Загрузка данных ....................................................................... 330 Кластер Redis ........................................................................... 333 Фильтры Блума ........................................................................ 334 SETBIT и GETBIT ....................................................................... 337 День 2: итоги ............................................................................ 338 День 2: домашнее задание ....................................................... 338 8.4. День 3: комбинирование с другими базами данных .... 339 Служба многостороннего хранения .......................................... 339 Заполнение данными ............................................................... 341 Фаза 1: трансформация данных ............................................... 342 Фаза 2: вставка в каноническую систему .................................. 344 Хранилище связей ................................................................... 347 Веб-служба .............................................................................. 349 Развитие веб-службы ............................................................... 351 День 3: итоги ............................................................................ 352 День 3: домашнее задание ....................................................... 353 8.5. Резюме ...................................................................... 353 Сильные стороны Redis ............................................................ 353 Слабые стороны Redis .............................................................. 354 Перед расставанием ................................................................ 354 Глава 9. Подводя итоги .................................... 356 9.1. Снова о жанрах .......................................................... 356 Реляционные базы данных ....................................................... 356 Хранилища ключей и значений ................................................. 357 Столбцовые базы данных ......................................................... 358 Документные базы данных ....................................................... 359 Графовые базы данных ............................................................ 360 9.2. Как сделать выбор? .................................................... 361 9.3. В каком направлении двигаться дальше? ................... 362 ПРИЛОЖЕНИЕ 1. Сравнительный обзор баз данных ......................................................... 363
Стр.12
12 Содержание ПРИЛОЖЕНИЕ 2. Теорема CAP .......................... 367 A2.1. Согласованность в конечном счете ........................... 368 A2.2. CAP на практике ....................................................... 369 A2.3. Компромиссный выбор задержки ............................. 370 СПИСОК ЛИТЕРАТУРЫ ..................................... 371 ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ ............................... 372
Стр.13

Облако ключевых слов *


* - вычисляется автоматически
Периодика по подписке
Антиплагиат система Руконтекст