Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Cassandra. Полное руководство. Распределенные данные в масштабе веба

Покупка
Новинка
Артикул: 882745.01.99
Доступ онлайн
599 ₽
В корзину
Из этой книги вы узнаете, как система управления базами данных Cassandra справляется с обработкой сотен терабайтов данных, работая в нескольких ЦОДах и сохраняя высокую доступность. Во втором издании, дополненном и охватывающем версию Cassandra 3.0, вы найдете технические детали и практические примеры, которые помогут запустить эту систему в боевых условиях. Авторы демонстрируют достоинства нереляционного дизайна Cassandra, уделяя особое внимание моделированию данных. Издание предназначено для разработчиков, администраторов баз данных и архитекторов, работающих с «большими данными» и стремящихся решить проблему масштабирования.
Карпентер, Д. Cassandra. Полное руководство. Распределенные данные в масштабе веба : практическое руководство / Д. Карпентер, Э. Хьюитт ; пер. с англ. А. А. Слинкина. – 2-е изд. - Москва : ДМК Пресс, 2017. - 402 с. – ISBN 978-5-97060-453-3. - Текст : электронный. - URL: https://znanium.ru/catalog/product/2260382 (дата обращения: 13.08.2026). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
Джефф Карпентер, Эбен Хьюитт
Cassandra.  
Полное руководство


Jeff Carpenter and Eben Hewitt
Cassandra:  
The Definitive Guide
Distributed data at web scale 
Second edition
Beijing • Boston • Farnham • Sebastopol • Tokyo 


Джефф Карпентер, Эбен Хьюитт
Cassandra.  
Полное руководство
Распределенные данные  
в масштабе веба
Второе издание
Москва, 2017


УДК 004.73:004.65Apache Cassandra
ББК 32.972.134
К26
Карпентер Д., Хьюитт Э.
К26	
Cassandra. Полное руководство. 2-е изд. / пер. с англ. А. А. Слинкина. – М.: ДМК Пресс, 2017. – 400 с.: ил. 
ISBN 978-5-97060-453-3
Из этой книги вы узнаете, как система управления базами данных Cassandra 
справляется с обработкой сотен терабайтов данных, работая в нескольких ЦОДах 
и сохраняя высокую доступность. Во втором издании, дополненном и охватывающем версию Cassandra 3.0, вы найдете технические детали и практические 
примеры, которые помогут запустить эту систему в боевых условиях. Авторы 
демонстрируют достоинства нереляционного дизайна Cassandra, уделяя особое 
внимание моделированию данных.
Издание предназначено для разработчиков, администраторов баз данных 
и архитекторов, работающих с «большими данными» и стремящихся решить 
проблему масштабирования.
УДК  004.73:004.65Apache Cassandra
ББК  32.972.134
Authorized Russian translation of the English edition of Cassandra: The 
Definitive Guide, 2nd Edition.
This translation is published and sold by permission of O’Reilly Media, Inc., 
which owns or controls all rights to publish and sell the same.’
Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без 
письменного разрешения владельцев авторских прав.
Материал, изложенный в данной книге, многократно проверен. Но поскольку вероятность технических ошибок все равно существует, издательство 
не может гарантировать абсолютную точность и правильность приводимых 
сведений. В связи с этим издательство не несет ответственности за возможные 
ошибки, связанные с использованием книги.
ISBN 978-1-491-93366-4 (анг.)	
© 2016 Jeff Carpenter, Eben Hewitt
ISBN 978-5-97060-453-3 (рус.)	
©  Оформление, издание, перевод, 
ДМК Пресс, 2017


Посвящаю своей возлюбленной, Элисон Браун.
Я слышу звуки скрипок задолго до того, как 
они начинают играть1.
– Эбен Хьюитт
Посвящаю Стефани.
Ты для меня источник вдохновения, неизменная опора, любовь всей моей жизни.
— Джефф Карпентер
1	 Цитата из песни Sway (M. D. House). – Прим. перев.


Содержание
Предисловие..................................................... 14
Предисловие..................................................... 16
Вступление....................................................... 18
Глава 1. За пределами реляционных баз данных...... 25
Что не так с реляционными базами данных?.................................................. 25
Краткий обзор реляционных баз данных.......................................................... 30
РСУБД: великие и не очень............................................................................. 31
Масштаб веба.............................................................................................................. 39
Восхождение NoSQL................................................................................................ 40
Резюме........................................................................................................................... 42
Глава 2. Введение в Cassandra.............................. 44
Краткая презентация Cassandra........................................................................... 44
Cassandra в 40 словах.......................................................................................... 44
Распределенная и децентрализованная....................................................... 45
Эластичная масштабируемость....................................................................... 46
Высокая доступность и отказоустойчивость.............................................. 47
Настраиваемая согласованность..................................................................... 48
Теорема CAP Брюера.......................................................................................... 51
Строковая база...................................................................................................... 56
Высокая производительность.......................................................................... 58
Как появилась Cassandra?...................................................................................... 58
История версий..................................................................................................... 60
Подходит ли Cassandra для моего проекта?..................................................... 67
Крупное развертывание..................................................................................... 67
Много операций записи, статистика, анализ.............................................. 67
Территориальная разнесенность..................................................................... 68
Быстро эволюционирующие приложения.................................................. 68
Резюме........................................................................................................................... 70
Глава 3. Установка Cassandra................................ 71
Установка из дистрибутива Apache..................................................................... 71


Содержание    7
Распаковка дистрибутива.................................................................................. 71
Что внутри?............................................................................................................ 72
Сборка из исходного кода....................................................................................... 73
Дополнительные цели сборки......................................................................... 75
ОС Windows........................................................................................................... 76
ОС Linux.................................................................................................................. 77
Запуск сервера....................................................................................................... 77
Остановка Cassandra........................................................................................... 79
Другие дистрибутивы Cassandra.......................................................................... 80
Запуск оболочки CQL............................................................................................. 81
Простые команды cqlsh........................................................................................... 82
cqlsh Help................................................................................................................. 82
Описание окружения в cqlsh............................................................................ 84
Создание пространства ключей и таблицы в cqlsh................................... 84
Запись и чтение данных в cqlsh....................................................................... 88
Резюме........................................................................................................................... 89
Глава 4. Язык Cassandra Query Language................. 90
Реляционная модель данных................................................................................. 90
Модель данных Cassandra...................................................................................... 91
Кластер..................................................................................................................... 95
Пространства ключей......................................................................................... 95
Таблицы................................................................................................................... 95
Столбцы................................................................................................................... 97
Типы данных в CQL................................................................................................. 99
Числовые типы данных...................................................................................... 99
Текстовые типы данных...................................................................................100
Типы времени и идентификации..................................................................101
Прочие простые типы данных.......................................................................103
Коллекции..................................................................................................................104
Пользовательские типы........................................................................................107
Вторичные индексы................................................................................................110
Резюме.........................................................................................................................112
Глава 5. Моделирование данных..........................113
Построение концептуальной модели данных................................................113
Проектирование реляционной базы данных.................................................115
Различия в проектировании для РСУБД и Cassandra..........................115
Определение запросов в приложении..............................................................119


8    Содержание
Построение логической модели данных.........................................................120
Логическая модель данных отеля.................................................................122
Логическая модель данных о бронировании............................................124
Построение физической модели данных........................................................126
Физическая модель данных отеля...............................................................127
Физическая модель данных о бронировании...........................................128
Материализованные представления...........................................................129
Оценка и уточнение................................................................................................131
Вычисление размера раздела.........................................................................132
Оценка места, занятого на диске...................................................................133
Разбиение больших разделов.........................................................................134
Определение схемы базы данных......................................................................135
DataStax DevCenter...........................................................................................138
Резюме.........................................................................................................................139
Глава 6. Архитектура Cassandra...........................140
Центры обработки данных и стойки.................................................................140
Сплетни и обнаружение отказов........................................................................142
Осведомители...........................................................................................................144
Кольца и маркеры....................................................................................................145
Виртуальные узлы...................................................................................................147
Разделители...............................................................................................................147
Стратегии репликации..........................................................................................148
Уровни согласованности.......................................................................................149
Запросы и узлы-координаторы..........................................................................150
Таблицы в памяти, файлы SSTable и журналы фиксаций........................151
Кэширование.............................................................................................................154
Вручение напоминаний.........................................................................................154
Облегченные транзакции и Paxos......................................................................156
Надгробья...................................................................................................................157
Фильтры Блума........................................................................................................158
Уплотнение................................................................................................................159
Антиэнтропия, исправление и деревья Меркла...........................................160
Многоступенчатая событийно-ориентированная архитектура (SEDA).....
162
Диспетчеры и службы............................................................................................164
Демон Cassandra.................................................................................................164
Движок хранения...............................................................................................164
Служба хранения................................................................................................165
Прокси хранения................................................................................................165


Содержание    9
Служба обмена сообщениями........................................................................166
Диспетчер потоков данных.............................................................................166
Сервер транспортного протокола CQL......................................................166
Системные пространства ключей......................................................................167
Резюме.........................................................................................................................169
Глава 7. Настройка Cassandra..............................170
Диспетчер кластера Cassandra............................................................................170
Создание кластера...................................................................................................171
Узлы-распространители........................................................................................175
Разделители...............................................................................................................176
Разделитель Murmur3Partitioner..................................................................176
Разделитель RandomPartitioner....................................................................176
Разделитель OrderPreservingPartitioner....................................................176
Разделитель ByteOrderedPartitioner...........................................................177
Осведомители...........................................................................................................178
Простой осведомитель......................................................................................178
Осведомитель на основе файла свойств.....................................................178
Сплетничающий осведомитель с файлом свойств.................................179
Осведомитель, догадывающийся о стойках..............................................179
Облачные осведомители..................................................................................180
Динамический осведомитель.........................................................................180
Конфигурация узлов..............................................................................................181
Маркеры и виртуальные узлы............................................................................181
Сетевые интерфейсы.........................................................................................182
Хранение данных................................................................................................183
Параметры JVM и протоколирования........................................................185
Добавление узлов в кластер.................................................................................185
Динамическое присоединение к кольцу..........................................................187
Стратегии репликации..........................................................................................188
Стратегия SimpleStrategy................................................................................189
Стратегия NetworkTopologyStrategy...........................................................190
Изменение коэффициента репликации...........................................................191
Резюме.........................................................................................................................192
Глава 8. Клиенты...............................................193
Hector, Astyanax и другие устаревшие клиенты...........................................193
Драйвер DataStax для Java...................................................................................194
Настройка среды разработки.........................................................................195


10    Содержание
Кластеры и точки контакта.............................................................................195
Сеансы и пулы соединений............................................................................197
Объекты Statement............................................................................................199
Политики..............................................................................................................207
Метаданные..........................................................................................................211
Отладка и мониторинг......................................................................................215
Драйвер DataStax для Python.............................................................................217
Драйвер DataStax для Node.js.............................................................................218
Драйвер DataStax для Ruby.................................................................................219
Драйвер DataStax для C#.....................................................................................219
Драйвер DataStax для C/C++.............................................................................220
Драйвер DataStax для PHP..................................................................................222
Резюме.........................................................................................................................222
Глава 9. Чтение и запись данных..........................223
Запись..........................................................................................................................223
Уровни согласованности при записи...........................................................224
Путь записи в Cassandra..................................................................................226
Запись файлов на диск.....................................................................................228
Облегченные транзакции................................................................................230
Пакеты....................................................................................................................233
Чтение..........................................................................................................................235
Уровни согласованности при чтении..........................................................236
Путь чтения в Cassandra..................................................................................238
Исправление на этапе чтения........................................................................241
Запросы по диапазону, упорядочение и фильтрация............................241
Функции и агрегаты..........................................................................................244
Разбиение на страницы....................................................................................249
Упреждающее выполнение.............................................................................252
Удаление.....................................................................................................................252
Резюме.........................................................................................................................254
Глава 10. Мониторинг.........................................255
Протоколирование..................................................................................................255
Динамическое наблюдение за журналом...................................................257
Изучение журналов...........................................................................................258
Мониторинг Cassandra средствами JMX........................................................259
Подключение к Cassandra через JConsole..................................................261
Краткий обзор MBean-объектов...................................................................264


Доступ онлайн
599 ₽
В корзину