Apache Cassandra (база данных NOSQL)

Опубликовано: 2 Июля, 2021

В этой статье мы изучим основы Apache Cassandra и основы операций CQL (Cassandra Query Language), таких как создание, вставка, удаление, выбор и т. Д.

Apache Cassandra:
Apache Cassandra - это база данных с открытым исходным кодом без SQL, которая используется для обработки больших данных. Apache Cassandra может обрабатывать структуру, полуструктуру и неструктурированные данные. Apache Cassandra был первоначально разработан в Facebook, после этого был открыт исходный код в 2008 году, и после этого он стал одним из проектов Apache верхнего уровня в 2010 году.


Рисунок 1.Кольцевая архитектура Cassandra без мастеров

Apache Cassandra - это масштабируемая распределенная база данных, которая строго следует принципу теоремы CAP (доступность согласованности и устойчивость к разделам).




Рисунок 2: Теорема CAP

В Apache Cassandra нет архитектуры мастер-клиент. Он имеет одноранговую архитектуру. В Apache Cassandra мы можем создать несколько копий данных во время создания пространства ключей. мы можем просто определить стратегию репликации и RF (коэффициент репликации) для создания нескольких копий данных.

Пример:

 CREATE KEYSPACE Пример
С репликацией = {'class': 'NetworkTopologyStrategy', 
                             'коэффициент_репликации': '3'};

В этом примере мы определяем RF (коэффициент репликации) равным 3, что просто означает, что мы создаем здесь 3 копии данных на нескольких узлах по часовой стрелке.


Рисунок-3: RF = 3

cqlsh: оболочка CQL
cqlsh - это оболочка командной строки для взаимодействия с Cassandra через CQL (язык запросов Cassandra).

CQL-запрос для базовой операции:
Шаг 1: Для создания пространства ключей используется следующий запрос CQL.

 СОЗДАТЬ КЛЮЧЕВОЕ ПРОСТРАНСТВО Emp
С репликацией = {'class': 'SimpleStrategy', 
                             'коэффициент_репликации': '1'};

Шаг 2: CQL-запрос для использования пространства ключей

 Синтаксис: 
ИСПОЛЬЗОВАТЬ имя-пространства ключей 
USE Emp;

Шаг 3: Для создания таблицы используется следующий CQL-запрос.

 Пример:
СОЗДАТЬ ТАБЛИЦУ Emp_table (
    имя текст ПЕРВИЧНЫЙ КЛЮЧ,
    Emp_id int,
    Текст emp_city,
    Emp_email текст,
    );

Шаг 4: Для вставки в Emp_table используется следующий запрос CQL.

 Вставить в Emp_table (имя, Emp_id, Emp_city, Emp_email) 
  ЦЕННОСТИ ('ashish', 1001, 'Delhi', 'ashish05.rana05@gmail.com');
Вставить в Emp_table (имя, Emp_id, Emp_city, Emp_email) 
  ЦЕННОСТИ («Ашиш Гупта», 1001, «Бангалор», «ashish@gmail.com»);
Вставить в Emp_table (имя, Emp_id, Emp_city, Emp_email) 
  ЗНАЧЕНИЯ ('amit', 1002, 'noida', 'abc@gmail.com');
Вставить в Emp_table (имя, Emp_id, Emp_city, Emp_email) 
  ЗНАЧЕНИЯ ('dhruv', 1003, 'pune', 'xyz@gmail.com');
Вставить в Emp_table (имя, Emp_id, Emp_city, Emp_email) 
  ЦЕННОСТИ ('шиванг', 1004, 'мумбаи', 'test@gmail.com');
Вставить в Emp_table (имя, Emp_id, Emp_city, Emp_email) 
  ЗНАЧЕНИЯ ('aayush', 1005, 'gurugram', 'cass_write@gmail.com');
Вставить в Emp_table (имя, Emp_id, Emp_city, Emp_email) 
  ЦЕННОСТИ ('bhagyesh', 1006, 'chandigar', 'welcome@gmail.com');

Шаг 5: Для чтения данных используется следующий запрос CQl.

 ВЫБРАТЬ * ИЗ Emp_table;