Содержание
Глава 1. За пределами реляционных баз данных
Что не так с реляционными базами данных?
Краткий обзор реляционных баз данных
РСУБД: великие и не очень
Масштаб веба
Восхождение NoSQL
Глава 2. Введение в Cassandra
Краткая презентация Cassandra
Cassandra в 40 словах
Распределенная и децентрализованная
Эластичная масштабируемость
Высокая доступность и отказоустойчивость
Настраиваемая согласованность
Теорема САР Брюера
Строковая база
Высокая производительность
Как появилась Cassandra?
История версий
Подходит ли Cassandra для моего проекта?
Крупное развертывание
Много операций записи, статистика, анализ.
Территориальная разнесенность
Быстро эволюционирующие приложения
Резюме
Глава 3. Установка Cassandra
Установка из дистрибутива Apache
Распаковка дистрибутива
Что внутри?
Сборка из исходного кода
Дополнительные цели сборки
ОС Windows
ОС Linux
Запуск сервера
Остановка Cassandra
Другие дистрибутивы Cassandra
Запуск оболочки CQL
Простые команды cqlsh
cqlsh Help
Описание окружения в cqlsh
Создание пространства ключей и таблицы в cqlsh
Запись и чтение данных в cqlsh
apache cassandra
Резюме
Глава 4. Язык Cassandra Query Language
Реляционная модель данных
Модель данных Cassandra
Кластер
Пространства ключей
Таблицы
Столбцы
Типы данных в CQL
Числовые типы данных
Текстовые типы данных
Типы времени и идентификации
Прочие простые типы данных
Коллекции
Пользовательские типы
Вторичные индексы
Резюме
Глава 5. Моделирование данных
Построение концептуальной модели данных
Проектирование реляционной базы данных
Различия в проектировании для РСУБД и Cassandra
Определение запросов в приложении
Построение логической модели данных
Логическая модель данных отеля
Логическая модель данных о бронировании
Построение физической модели данных
Физическая модель данных отеля
Физическая модель данных о бронировании
Материализованные представления
Оценка и уточнение
Вычисление размера раздела
Оценка места, занятого на диске
Разбиение больших разделов
Определение схемы базы данных
DataStax DevCenter
Резюме
Кольца и маркеры
Виртуальные узлы
Разделители
Стратегии репликации
Глава 6. Архитектура Cassandra
Центры обработки данных и стойки
Сплетни и обнаружение отказов
Осведомители
Уровни согласованности
Запросы и узлы-координаторы
Таблицы в памяти, файлы SSTable и журналы фиксаций
Кэширование
Вручение напоминаний
Облегченные транзакции и Paxos
Надгробья
Фильтры Блума
Уплотнение
Антиэнтропия, исправление и деревья Меркла
Многоступенчатая событийно-ориентированная архитектура (SEDA)
диспетчеры и службы
Демон Cassandra
Движок хранения
Служба хранения
Прокси хранения
Служба обмена сообщениями
Диспетчер потоков данных
Сервер транспортного протокола CQL
Системные пространства ключей
Резюме
Глава 7. Настройка Cassandra
Диспетчер кластера Cassandra
Создание кластера
Узлы-распространители
Разделители
Разделитель Murmur3Partitioner
Разделитель RandomPartitioner
Разделитель OrderPreservingPartitioner
Разделитель ByteOrderedPartitioner
Осведомители
Простой осведомитель
Осведомитель на основе файла свойств
Сплетничающий осведомитель с файлом свойств
Осведомитель, догадывающийся о стойках
Облачные осведомители
Динамический осведомитель
Конфигурация узлов
Маркеры и виртуальные узлы
Сетевые интерфейсы
Хранение данных
Параметры JVM и протоколирования
Добавление узлов в кластер
Динамическое присоединение к кольцу
Стратегии репликации
Стратегия SimpleStrategy
Стратегия NetworkTopologyStrategy
apache cassandra
Изменение коэффициента репликации
Резюме
Глава 8. Клиенты
Hector, Astyanax и другие устаревшие клиенты
Драйвер DataStax для Java
Настройка среды разработки
Кластеры и точки контакта
Сеансы и пулы соединений
Объекты Statement
Политики
Метаданные
Отладка и мониторинг
Драйвер DataStax для Python
Драйвер DataStax для Node.js
Драйвер DataStax для Ruby
Драйвер DataStax для C#
Драйвер DataStax для C/C++
Драйвер DataStax для PH Р
Резюме
Глава 9. Чтение и запись данных
Запись
Уровни согласованности при записи
Путь записи в Cassandra
Запись файлов на диск
Облегченные транзакции
Чтение
Уровни согласованности при чтении
Путь чтения в Cassandra
Исправление на этапе чтения
Запросы по диапазону, упорядочение и фильтрация
Функции и агрегаты
Разбиение на страницы
Упреждающее выполнение
Удаление
Резюме
Глава 10. Мониторинг
Протоколирование
Динамическое наблюдение за журналом
Изучение журналов htbook.ru
Мониторинг Cassandra средствами JMX
Подключение к Cassandra через JConsole
Краткий обзор MBean-объектов
MBean-объекты Cassandra
MBean-объекты, относящиеся к базе данных
MBean-объекты, относящиеся к сети
MBean-объекты, относящиеся к метриках
MBean-объекты, относящиеся к потокам
MBean-объекты, относящиеся к службам
MBean-объекты, относящиеся к безопасности
Мониторинг с помощью nodetool
Получение информации о кластере
Получение статистики
Резюме
Глава 11. Обслуживание
Проверка исправности
Базовое обслуживание
Сброс на диск
Очистка
Исправление
Переиндексирование
Перемещение маркеров
Добавление узлов
Добавление узлов в существующий центр обработки данных
Добавление центра обработки данных в кластер
Обработка отказа узла
Ремонт узлов
Замена узлов
Исключение узлов
Переход на новую версию Cassandra
Резервное копирование и восстановление
Создание снимка
Удаление снимка
Включение инкрементного резервного копирования
Восстановление из снимка
Утилиты для работы с файлами SSTable
Средства обслуживания
DataStax OpsCenter
Netflix Priam
Резюме
Глава 12. Настройка производительности
Управление производительностью
Постановка целей
Мониторинг производительности
Анализ проблем с производительностью
Трассировка
Методика настройки
Кэширование
Кэш ключей
Кэш строк
Кэш счетчиков
Параметры, управляющие сохранением кэшей
Таблицы в памяти
Журналы фиксаций
Файлы SSTable
Вручение напоминаний
Уплотнение
Параллелизм и многопоточность
Сеть и тайм-ауты
Параметры JVM
Память
Сборка мусора
Утилита cassandra-stress
Резюме
Глава 13. Безопасность
Аутентификация и авторизация
Аутентификация по паролю
Использование класса CassandraAuthorizer
Ролевое управление доступом
Шифрование
SSL, TLS и сертификаты
Шифрование трафика между узлами
Шифрование трафика между клиентами и узлами
Безопасность на уровне JMX
Обеспечение безопасности доступа через JMX
MBean-объекты, относящиеся к безопасности
Резюме
Глава 14. Развертывание и интеграция
Планирование развертывания кластера
Оценка размера кластера
Выбор экземпляров
Хранилище
Сеть
Развертывание в облаке
Amazon Web Services
Microsoft Azure
apache cassandra
Google Cloud Platform
Интеграция
Apache Lucene, SOLR и Elasticsearch
Apache Hadoop
Apache Spark
Резюме
Предметный указатель
Книга не 103 мб, а 8,4 МБ