NoSQL. Новая методология разработки нереляционных баз данных

Прамодкумар Дж. Садаладж, Мартин Фаулер

Необходимость обрабатывать все более крупные объемы данных является одним из факторов, влияющих на внедрение нового класса нереляционных баз данных NoSQL. Сторонники баз NoSQL утверждают, что их можно использовать для создания более производительных, легче масштабируемых и проще программируемых систем.

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

Первая часть книги посвящена основным концепциям, включая неструктурированные модели данных, агрегаты, новые модели распределения, теорему САР и отображение-свертку. Во второй части авторы исследуют архитектурные и проектные вопросы, связанные с реализацией баз данных NoSQL. Они также описывают реалистичные сценарии использования, демонстрирующие работу баз данных NoSQL и возможности баз Riak, MongoDB, Cassandra и Neo4j.

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

Изложенные темы:

  • Оценка применимости корпоративных приложений NoSQL
  • Архитектурные компромиссы, связанные с развертыванием баз данных NoSQL
  • Использование технологии NoSQL для упрощения разработки и предотвращения проблем, связанных с отображением данных между структурами в памяти и системами RDBMS
  • Сравнение современных возможностей баз данных NoSQL
  • Исследование языков запросов: CQL и Cypher
  • Эффективность управления, надежность, доступность и способность восстанавливаться
  • Использование технологии NoSQL для гибкой разработки программного обеспечения
  • Применение технологии NoSQL для управления поиском и извлечением метаданных, анализа текстов, организации социальных сетей, проведения бизнес-анализа и выполнения финансовых операций
  • Кластеризация баз данных NoSQL для более дешевого решения проблем, связанных с обработкой крупных объемов данных
  • Применение теоремы САР для анализа согласованности, доступности и времени ожидания
  • Анализ возможностей, которые метод отображения-свертки открывает для параллельных вычислений на кластере
  • Почему термин NoSQL не имеет четко определенного содержания

Издательство: Вильямс, 2013 г.

ISBN 978-5-8459-1829-1

Количество страниц: 192.

Содержание книги «NoSQL. Новая методология разработки нереляционных баз данных»:

  • Предисловие
    • 14 Чем интересны базы данных NoSQL
    • 14 Краткое содержание книги
    • 16 Для кого предназначена книга
    • 17 Что такое базы данных
    • 18 Благодарности
  • 21 Часть I. Основы
  • Глава 1. Почему NoSQL?
    • 23 1.1. Значение реляционных баз данных
      • 23 1.1.1. Персистентные данные
      • 24 1.1.2. Параллельность
      • 24 1.1.3. Интеграция
      • 25 1.1.4. (Почти) стандартная модель
    • 25 1.2. Потеря соответствия
    • 26 1.3. Интеграционные базы данных и базы данных приложения
    • 28 1.4. Атака кластеров
    • 29 1.5. Появление баз данных NoSQL
    • 33 1.6. Резюме
  • Глава 2. Агрегированные модели данных
    • 36 2.1. Агрегаты
      • 36 2.1.1. Пример отношений и агрегатов
      • 40 2.1.2. Последствия ориентации на агрегаты
    • 42 2.2. Модель данных «ключ–значение» и документная модель
    • 43 2.3. Хранилища типа «семейство столбцов»
    • 45 2.4. Заключительные замечания об агрегатно-ориентированных базах данных
    • 46 2.5. Рекомендации по дальнейшему чтению
    • 46 2.6. Резюме
  • Глава 3. Более подробно о моделях данных
    • 47 3.1. Отношения
    • 48 3.2. Графовые базы данных
    • 50 3.3. Неструктурированные базы данных
    • 52 3.4. Материализованные представления
    • 54 3.5. Моделирование доступа к данным
    • 58 3.6. Резюме
  • Глава 4. Модели распределения
    • 59 4.1. Односерверная репликация
    • 60 4.2. Фрагментация
    • 62 4.3. Репликация «ведущий–ведомый»
    • 64 4.4. Одноранговая репликация
    • 65 4.5. Сочетания фрагментации и репликации
    • 66 4.6. Резюме
  • Глава 5. Согласованность
    • 67 5.1. Согласованность обновлений
    • 69 5.2. Согласованность чтения
    • 73 5.3. Ослабление согласованности
      • 73 5.3.1. Теорема CAP
    • 77 5.4. Ослабление долговечности
    • 78 5.5. Кворумы
    • 79 5.6. Рекомендации по дальнейшему чтению
    • 79 5.7. Резюме
  • Глава 6. Штампы версий
    • 81 6.1. Коммерческие и системные транзакции
    • 83 6.2. Штампы версий на нескольких узлах
    • 85 6.3. Резюме
  • Глава 7. Отображение–свертка
    • 88 7.1. Основы шаблона Map-Reduce
    • 89 7.2. Разделение и объединение
    • 91 7.3. Составные вычисления в схеме «отображение–свертка»
      • 93 7.3.1. Пример двухэтапной схемы «отображение–свертка»
      • 96 7.3.2. Постепенное отображение-свертка
    • 96 7.4. Рекомендации для дальнейшего чтения
    • 97 7.5. Резюме
  • 99 Часть II. Реализация
  • Глава 8. Базы данных типа «ключ–значение»
    • 101 8.1. Что такое хранилище типа «ключ–значение»
    • 103 8.2. Функциональные возможности хранилищ типа «ключ–значение»
      • 103 8.2.1. Согласованность данных
      • 104 8.2.2. Транзакции
      • 105 8.2.3. Функциональные возможности запросов
      • 106 8.2.4. Структура данных
      • 106 8.2.5. Масштабирование
    • 107 8.3. Примеры использования
      • 107 8.3.1. Хранение информации о сессии
      • 107 8.3.2. Профили пользователей, предпочтения
      • 107 8.3.3. Корзины заказа
    • 108 8.4. Когда хранилища типа «ключ–значение» использовать не следует
      • 108 8.4.1. Отношения между данными
      • 108 8.4.2. Транзакции, состоящие из многих операций
      • 108 8.4.3. Запрос по данным
      • 108 8.4.4. Операции с множествами
  • Глава 9. Документные базы данных
    • 109 9.1. Что такое документная база данных
    • 111 9.2. Функциональные возможности
      • 111 9.2.1. Согласованность данных
      • 112 9.2.2. Транзакции
      • 113 9.2.3. Доступность
      • 114 9.2.4. Функциональные возможности запросов
      • 116 9.2.5. Масштабирование
    • 117 9.3. Примеры использования
      • 117 9.3.1. Регистрация событий
      • 118 9.3.2. Системы управления информационным наполнением, блог-платформы
      • 118 9.3.3. Веб-аналитика и аналитика в реальном времени
      • 118 9.3.4. Приложения для электронной коммерции
    • 118 9.4. Когда документные хранилища использовать не следует
      • 118 9.4.1. Сложные транзакции, охватывающие разные операции
      • 119 9.4.2. Запросы к изменяющейся агрегатной структуре
  • Глава 10. Семейство столбцов
    • 121 10.1. Что такое семейство столбцов
    • 122 10.2. Функциональные возможности
      • 124 10.2.1. Согласованность данных
      • 126 10.2.2. Транзакции
      • 126 10.2.3. Доступность
      • 127 10.2.4. Функциональные возможности запросов
      • 129 10.2.5. Масштабирование
    • 129 10.3. Примеры использования
      • 129 10.3.1. Регистрация событий
      • 130 10.3.2. Системы управления информационным наполнением, блог-платформы
      • 130 10.3.3. Счетчики
      • 130 10.3.4. Срок действия
    • 131 10.4. Когда семейства столбцов использовать не следует
  • Глава 11. Графовые базы данных
    • 133 11.1. Что такое графовая база данных
    • 135 11.2. Функциональные возможности
      • 136 11.2.1. Согласованность данных
      • 136 11.2.2. Транзакции
      • 137 11.2.3. Доступность
      • 137 11.2.4. Функциональные возможности запросов
      • 141 11.2.5. Масштабирование
    • 142 11.3. Примеры использования
      • 142 11.3.1. Связанные данные
      • 143 11.3.2. Маршрутизация, диспетчеризация и геолокационные сервисы
      • 143 11.3.3. Справочные базы данных
    • 143 11.4. Когда не следует использовать графовые базы данных
  • Глава 12. Миграции схем
    • 145 12.1. Изменения схемы
    • 145 12.2. Изменение схем в базах данных RDBMS
      • 146 12.2.1. Миграция в проектах, начинающихся с нуля
      • 148 12.2.2. Миграция в унаследованных проектах
    • 150 12.3. Изменение схем в хранилищах данных NoSQL
      • 151 12.3.1. Постепенная миграция
      • 153 12.3.2. Миграция в графовых базах данных
      • 153 12.3.3. Изменение агрегатной структуры
    • 154 12.4. Рекомендации для дальнейшего чтения
    • 154 12.5. Резюме
  • Глава 13. Многовариантная персистентность
    • 155 13.1. Разброс требований к хранилищам данных
    • 156 13.2. Использование многовариантного хранилища данных
    • 158 13.3. Использование сервисов при работе с хранилищем данных
    • 159 13.4. Расширение функциональных возможностей
    • 160 13.5. Выбор правильной технологии
    • 160 13.6. Многовариантная персистентность в масштабе предприятия
    • 161 13.7. Сложность развертывания
    • 162 13.8. Резюме
  • Глава 14. За рамками технологии NoSQL
    • 163 14.1. Файловые системы
    • 164 14.2. Порождение событий
    • 167 14.3. Образ памяти
    • 167 14.4. Контроль версий
    • 168 14.5. Базы данных XML
    • 168 14.6. Объектные базы данных
    • 169 14.7. Резюме
  • Глава 15. Выбор базы данных
    • 171 15.1. Производительность работы программиста
    • 173 15.2. Эффективность доступа к данным
    • 174 15.3. Продолжение традиций
    • 175 15.4. Подстраховка
    • 175 15.5. Резюме
    • 176 15.6. Заключительные мысли
  • 177 Библиография
  • 181 Предметный указатель

Инструкция как скачать книгу Прамодкумар Дж. Садаладж, Мартин Фаулер: NoSQL. Новая методология разработки нереляционных баз данных в форматах DjVu, PDF, DOC или fb2 совершенно бесплатно.
NoSQL. Новая методология разработки нереляционных баз данных
Рейтинг книги:
0 голосов
2563

Поиск книг:




При поиске учитываются только слова, длина которых больше 3-х символов.

Статистика: