1) Объясните, что такое Кассандра?
Cassandra — это система хранения данных с открытым исходным кодом, разработанная на Facebook для поиска в почтовых ящиках и предназначенная для хранения и управления большими объемами данных на обычных серверах. Это может сервер как
- Система хранения данных в реальном времени для онлайн-приложений
- Также в качестве интенсивно читаемой базы данных для системы бизнес-аналитики
2) Какая польза от Кассандры и зачем использовать Кассандру?
Cassandra была разработана для обработки больших объемов данных на нескольких узлах без единой точки отказа. Различные факторы, ответственные за использование Cassandra:
- Это отказоустойчивый и последовательный
- Масштабируемость от гигабайтов до петабайтов
- Это столбцовая база данных
- Нет единой точки отказа
- Нет необходимости в отдельном слое кэширования
- Гибкий дизайн схемы
- Имеет гибкое хранилище данных, простое распределение данных и быструю запись
- Он поддерживает свойства ACID (атомарность, согласованность, изоляция и долговечность)
- Мульти-дата-центр и облачные технологии
- Сжатие данных
3) Объясните, что такое составной тип в Кассандре?
В Cassandra составной тип позволяет определять имя ключа или столбца с объединением данных разного типа. Вы можете использовать два типа составного типа
- Ключ строки
- Название столбца
4) Как Кассандра хранит данные?
- Все данные хранятся в байтах
- Когда вы указываете валидатор, Cassandra гарантирует, что эти байты закодированы в соответствии с требованием
- Затем компаратор упорядочивает столбец на основе порядка, определенного для кодировки.
- Хотя составные являются просто байтовыми массивами с определенным кодированием, для каждого компонента он хранит двухбайтовую длину, за которой следует компонент с байтовым кодированием, за которым следует бит завершения.
5) Укажите, какие основные компоненты модели данных Cassandra?
Основными компонентами модели данных Cassandra являются
- кластер
- пространство ключей
- колонка
- Колонна и Семья
6) Объясните, что такое семейство колонн в Кассандре?
Семейство колонн в Кассандре указано для коллекции строк.
7) Объясните, что такое кластер в Кассандре?
Кластер — это контейнер для ключей. База данных Cassandra разделена на несколько машин, которые работают вместе. Кластер является самым внешним контейнером, который размещает узлы в кольцевом формате и присваивает им данные. Эти узлы имеют реплику, которая берет на себя ответственность в случае сбоя обработки данных.
8) Перечислите другие компоненты Кассандры?
Другие компоненты Кассандры
- Узел
- Дата центр
- кластер
- Записать журнал
- Mem стол
- SSTable
- Bloom Filter
9) Объясните, что такое пространство клавиш в Кассандре?
В Cassandra пространство ключей — это пространство имен, которое определяет репликацию данных на узлах. Кластер состоит из одного пространства ключей на узел.
10) Каков синтаксис для создания пространства ключей в Кассандре?
Синтаксис для создания пространства ключей в Кассандре
CREATE KEYSPACE <идентификатор> С <свойствами>
11) Укажите, какие значения хранятся в колонке Кассандры?
В колонке Кассандра, в основном, есть три значения
- Название столбца
- Ценность
- Отметка времени
12) Укажите, когда вы можете использовать Alter keyspace?
ALTER KEYSPACE можно использовать для изменения свойств, таких как количество реплик и durable_write пространства ключей.
13) Объясните, что такое Cassandra-Cqlsh?
Cassandra-Cqlsh — это язык запросов, который позволяет пользователям общаться с его базой данных. Используя Cassandra cqlsh, вы можете делать следующие вещи
- Определить схему
- Вставьте данные и
- Выполнить запрос
14) Укажите, что определяет команды оболочки «Захват» и «Согласованность»?
В Кассандре есть различные команды оболочки Cqlsh. Команда «Capture» фиксирует выходные данные команды и добавляет их в файл, а команда «Consistency» отображает текущий уровень согласованности или устанавливает новый уровень согласованности.
15) Что является обязательным при создании таблицы в Кассандре?
Хотя создание первичного ключа таблицы является обязательным, оно состоит из одного или нескольких столбцов таблицы.
16) Укажите, что нужно позаботиться при добавлении столбца?
При добавлении столбца вы должны позаботиться о том, чтобы
- Имя столбца не конфликтует с существующими именами столбцов
- Таблица не определяется с опцией компактного хранения
17) Укажите, что такое коллекции Cassandra- CQL?
Коллекции Cassandra CQL помогают хранить несколько значений в одной переменной. В Cassandra вы можете использовать коллекции CQL следующими способами
- Список : используется, когда необходимо поддерживать порядок данных, а значение должно храниться несколько раз (содержит список уникальных элементов).
- SET : используется для хранения элементов группы и возврата в отсортированных порядках (содержит повторяющиеся элементы).
- MAP : это тип данных, используемый для хранения пары ключ-значение
18) Объясните, как Кассандра пишет данные?
Кассандра записывает данные в три компонента
- Commitlog написать
- Памятная запись
- SStable write
Кассандра сначала записывает данные в журнал фиксации, а затем в структуру таблицы в памяти memtable и, наконец, в SStable
19) Объясните, что такое Memtable в Кассандре?
- Кассандра записывает данные в структуру памяти, известную как Memtable
- Это кэш в памяти, содержимое которого хранится в виде ключа / столбца.
- По ключу Memtable данные сортируются
- Для каждого ColumnFamily существует отдельный Memtable, который извлекает данные столбца из ключа.
20) Объясните, из чего состоит SStable?
SStable состоит в основном из 2 файлов
- Индексный файл (фильтр Блума и пары смещения ключа)
- Файл данных (фактические данные столбца)
21) Объясните, для чего в Кассандре используется Bloom Filter?
Фильтр Блума — это компактная структура данных, которая используется для проверки того, является ли элемент членом набора. Другими словами, он используется для определения того, имеет ли SSTable данные для конкретной строки. В Кассандре это используется для сохранения ввода-вывода при выполнении KEY LOOKUP.
22) Объясните, как Кассандра записывает измененные данные в commitlog?
- Cassandra объединяет измененные данные в commitlog
- Commitlog действует как журнал восстановления данных после сбоя
- До тех пор, пока измененные данные не будут объединены с операцией фиксации журнала, она никогда не будет считаться успешной.
Данные не будут потеряны после того, как commitlog будет сброшен в файл
23) Объясните, как Кассандра удаляет данные?
SSTables являются неизменными и не могут удалить строку из SSTables. Когда необходимо удалить строку, Кассандра назначает значение столбца специальным значением, называемым надгробная плита. Когда данные читаются, значение Tombstone считается удаленным.