Издательство: Вильямс, 2020
Переплёт: Мягкая обложка, 192 страницы
Категория: Базы данных
ISBN: 978-5-907144-91-0
Тираж: 100
Формат: 235x165x8 мм, 268 г
📙 Необходимость обрабатывать все более крупные объемы данных является одним из факторов, влияющих на внедрение нового класса нереляционных баз данных NoSQL. Сторонники баз NoSQL утверждают, что их можно использовать для создания более производительных, легче масштабируемых и проще программируемых систем.
В этой книге описано краткое, но полное введение в эту быстро развивающуюся технологию. Авторы объясняют, как работают базы данных NoSQL и демонстрируют, в каких ситуациях они могут стать более успешной альтернативой традиционным системам RDMBS. Авторы излагают материал в быстром темпе, знакомя читателей с критериями, которые необходимо применять, чтобы принять правильное решение, стоит ли использовать базы NoSQL, и какие технологии следует при этом выбирать.
Первая часть книги посвящена основным концепциям, включая неструктурированные модели данных, агрегаты, новые модели распределения, теорему САР и отображение-свертку. Во второй части авторы исследуют архитектурные и проектные вопросы, связанные с реализацией баз данных NoSQL. Они также описывают реалистичные сценарии использования, демонстрирующие работу баз данных NoSQL и возможности баз Riak, MongoDB, Cassandra и Neo4j.
Кроме того, основываясь на новаторской работе Прамодкумара Садаладжа, авторы книги показывают, как реализовать эволюционное проектирование на основе миграции схем - важный метод, необходимый для применения баз данных NoSQL.
Книга завершается описанием новой эры многовариантной персистентности, открытой благодаря технологии NoSQL. В этом мире сосуществуют разнообразные базы данных, и архитектор может выбирать технологию, наилучшим образом подходящую для обеспечения любого вида доступа к данным.
Изложенные темы:
Оценка применимости корпоративных приложений NoSQL
Архитектурные компромиссы, связанные с развертыванием баз данных NoSQL
Использование технологии NoSQL для упрощения разработки и предотвращения проблем, связанных с отображением данных между структурами в памяти и системами RDBMS
Сравнение современных возможностей баз данных NoSQL
Исследование языков запросов: CQL и Cypher
Эффективность управления, надежность, доступность и способность восстанавливаться
Использование технологии NoSQL для гибкой разработки программного обеспечения
Применение технологии NoSQL для управления поиском и извлечением метаданных, анализа текстов, организации социальных сетей, проведения бизнес-анализа и выполнения финансовых операций
Кластеризация баз данных NoSQL для более дешевого решения проблем, связанных с обработкой крупных объемов данных
Применение теоремы САР для анализа согласованности, доступности и времени ожидания
Анализ возможностей, которые метод отображения-свертки открывает для параллельных вычислений на кластере
Почему термин NoSQL не имеет четко определенного содержания
Об авторах
Прамодкумар Дж. Садаладж, главный консультант компании ThoughtWorks, занимается редким делом - наведением мостов между специалистами в области баз данных и разработчиками приложений. Он регулярно консультирует клиентов, испытывающих особенно большие сложности при обработке данных и нуждающихся в новых технологиях и методах. Садаладж разработал новаторский метод, позволяющий разрабатывать реляционные базы данных эволюционным путем с помощью контролируемой миграции схем, сопровождающейся контролем версий. Вместе со Скоттом Эмблером (Scott Ambler) он написал книгу Рефакторинг баз данных (Addison-Wesley, 2006).
Мартин Фаулер, главный научный сотрудник компании ThoughtWorks, занимается исследованием оптимальных способов разработки программного обеспечения и повышения производительности разработчиков. Он - автор книг Шаблоны корпоративных приложений; UML. Основы, Третье издание; Предметно-ориентированные языки программирования (в соавторстве с Ребеккой Парсонс); Рефакторинг. Улучшение существующего кода (в соавторстве с Кентом Беком, Джоном Брантом и Уильямом Апдайком). Все они изданы компанией Addison-Wesley и переведены на русский язык.