23 самых популярных вопроса на собеседовании с Кассандрой & Ответы

Anonim

Скачать PDF

1) Объясните, что такое Кассандра?

Cassandra - это система хранения данных с открытым исходным кодом, разработанная Facebook для поиска по входящим сообщениям и предназначенная для хранения и управления большими объемами данных на обычных серверах. Он может работать как

  • Система хранения данных в реальном времени для онлайн-приложений
  • Также как база данных с интенсивным чтением для системы бизнес-аналитики

2) Какая польза от Кассандры и зачем использовать Кассандру?

Cassandra была разработана для обработки рабочих нагрузок с большими данными на нескольких узлах без единой точки отказа. Различные факторы, ответственные за использование Кассандры:

  • Это отказоустойчивый и последовательный
  • Масштабируемость из гигабайт в петабайты
  • Это база данных, ориентированная на столбцы
  • Нет единой точки отказа
  • Нет необходимости в отдельном кэширующем слое
  • Гибкий дизайн схемы
  • Он имеет гибкое хранилище данных, простое распределение данных и быструю запись.
  • Он поддерживает свойства ACID (атомарность, согласованность, изоляция и долговечность).
  • Поддержка нескольких центров обработки данных и облака
  • Сжатие данных

3) Объясните, что такое составной шрифт в Кассандре?

В Cassandra составной тип позволяет определить ключ или имя столбца с объединением данных разного типа. Вы можете использовать два типа составного типа

  • Ключ строки
  • Название столбца

4) Как Кассандра хранит данные?

  • Все данные хранятся в байтах
  • Когда вы указываете валидатор, Cassandra гарантирует, что эти байты закодированы в соответствии с требованиями.
  • Затем компаратор упорядочивает столбец на основе порядка, специфичного для кодировки.
  • В то время как составные - это просто массивы байтов с определенной кодировкой, для каждого компонента он хранит двухбайтовую длину, за которой следует компонент, закодированный в байтах, за которым следует бит завершения.

5) Назовите основные компоненты модели данных Cassandra?

Основные компоненты модели данных Cassandra:

  • Кластер
  • Keyspace
  • Столбец
  • Колонка и семья

6) Объясните, что такое семейство столбцов в Кассандре?

Семейство столбцов в Cassandra относится к коллекции строк.

7) Объясните, что такое кластер в Кассандре?

Кластер - это контейнер для пространств ключей. База данных Cassandra сегментирована по нескольким машинам, которые работают вместе. Кластер - это самый внешний контейнер, который упорядочивает узлы в кольцевом формате и назначает им данные. У этих узлов есть реплика, которая берет на себя ответственность в случае сбоя обработки данных.

8) Перечислите другие компоненты Кассандры?

Остальные компоненты Кассандры:

  • Узел
  • Дата центр
  • Кластер
  • Журнал фиксации
  • Mem-таблица
  • SSTable
  • Цветочный фильтр

9) Объясните, что такое пространство клавиш в Кассандре?

В Cassandra пространство ключей - это пространство имен, которое определяет репликацию данных на узлах. Кластер состоит из одного пространства ключей на узел.

10) Каков синтаксис для создания пространства ключей в Cassandra?

Синтаксис для создания пространства ключей в Cassandra:

СОЗДАТЬ КЛЮЧЕВОЕ ПРОСТРАНСТВО <идентификатор> С <свойства>

11) Укажите, какие значения хранятся в столбце Cassandra?

В Cassandra Column в основном есть три значения

  • Название столбца
  • Ценить
  • Штамп времени

12) Упомяните, когда можно использовать Alter keyspace?

ALTER KEYSPACE можно использовать для изменения таких свойств, как количество реплик и длительная запись пространства ключей.

13) Объясните, что такое Cassandra-Cqlsh?

Cassandra-Cqlsh - это язык запросов, который позволяет пользователям взаимодействовать с его базой данных. Используя Cassandra cqlsh, вы можете делать следующие вещи

  • Определить схему
  • Вставьте данные и
  • Выполнить запрос

14) Упомяните, что определяют команды оболочки «Capture» и «Consistency»?

В Cassandra есть различные команды оболочки Cqlsh. Команда «Захват» фиксирует вывод команды и добавляет его в файл, в то время как команда «Согласованность» отображает текущий уровень согласованности или устанавливает новый уровень согласованности.

15) Что обязательно при создании таблицы в Кассандре?

Хотя создание первичного ключа таблицы является обязательным, он состоит из одного или нескольких столбцов таблицы.

16) Упомяните, о чем нужно позаботиться при добавлении столбца?

При добавлении столбца необходимо позаботиться о том, чтобы

  • Имя столбца не конфликтует с существующими именами столбцов
  • Стол не определен с возможностью компактного хранения

17) Упомяните, что такое Cassandra- CQL-коллекции?

Коллекции Cassandra CQL помогают хранить несколько значений в одной переменной. В Cassandra вы можете использовать коллекции CQL следующими способами

  • Список : используется, когда необходимо поддерживать порядок данных, а значение должно сохраняться несколько раз (содержит список уникальных элементов).
  • SET : используется для хранения группы элементов и возврата в отсортированном порядке (содержит повторяющиеся элементы)
  • MAP : это тип данных, используемый для хранения пары элементов "ключ-значение".

18) Объясните, как Кассандра пишет данные?

Кассандра записывает данные в трех компонентах

  • Запись в журнал фиксации
  • Memtable написать
  • SStable write

Кассандра сначала записывает данные в журнал фиксации, а затем в структуру таблицы в памяти memtable и, наконец, в SStable.

19) Объясните, что такое Memtable в Кассандре?

  • Кассандра записывает данные в структуру памяти, известную как Memtable.
  • Это кеш в памяти с содержимым, хранящимся как ключ / столбец
  • По ключу данные Memtable сортируются
  • Для каждого семейства ColumnFamily существует отдельная таблица Memtable, которая извлекает данные столбца из ключа

20) Объясните, из чего состоит SStable?

SStable состоит в основном из 2 файлов

  • Индексный файл (пары фильтра Блума и ключевых смещений)
  • Файл данных (фактические данные столбца)

21) Объясните, для чего используется фильтр Блума в Кассандре?

Фильтр Блума - это компактная структура данных, которая используется для проверки того, является ли элемент членом набора. Другими словами, он используется, чтобы определить, есть ли в SSTable данные для конкретной строки. В Cassandra он используется для сохранения ввода-вывода при выполнении KEY LOOKUP.

22) Объясните, как Кассандра записывает измененные данные в журнал коммитов?

  • Cassandra объединяет измененные данные в журнал фиксации
  • Commitlog действует как журнал аварийного восстановления данных
  • Пока измененные данные не будут объединены в журнал фиксации, операция записи никогда не будет считаться успешной.

Данные не будут потеряны после сброса журнала фиксации в файл.

23) Объясните, как Кассандра удаляет данные?

SSTables неизменяемы и не могут удалить строку из SSTables. Когда необходимо удалить строку, Cassandra присваивает значение столбца специальное значение, называемое Tombstone. Когда данные считываются, значение Tombstone считается удаленным.