Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Разница между Hbase и Cassandra.docx
Скачиваний:
6
Добавлен:
12.02.2024
Размер:
29.51 Кб
Скачать

МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ

Ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования

«Московский технический университет связи и информатики»

Кафедра «Математическая кибернетика и информационные технологии»

Дисциплина «Большие данные»

РЕФЕРАТ

на тему «Разница между Hbase и Cassandra»

Выполнил: студент группы БСТ 2104

Станишевский И.А.

Проверил:

Иевлев К.О.

_______

Москва 2023 г.

Содержани

1 Hbase: определение, структура, особенности 3

2 Cassandra: определение, структура, особенности 6

3 Вывод 8

1 Hbase: определение, структура, особенности 3

2 Cassandra: определение, структура, особенности 6

3 Вывод 8

1 Hbase: определение, структура, особенности

Hbase (Hadoop base) – это распределенная и нереляционная база данных, которая основана и запрограммирована на языке Java. Hbase является одним из инструментов Hadoop, который работает поверх распределенной файловой системы HDFS (Hadoop Distributed File System). Hbase является полноценной NoSQL (Not Only SQL) базой данных, которой имеет все плюсы и недостатки NoSQL БД. Основной задачей Hbase - является обеспечение быстрого доступа к огромным объемам данных в режиме реального времени для выполнений операций над данными таких как чтение и запись.

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

Модель данных Hbase можно представить, как: <table, RowKey, Column Family, Column, timestamp> -> Value:

  • table - это контейнер, который содержит набор строк, в которых хранятся данные. В HBase, <table> представляет собой организацию данных в виде таблицы.

  • RowKey - это уникальный идентификатор для каждой записи (строки) в таблице. С его помощью за короткое время найти и получить доступ к нужным данным.

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

  • Column - это конкретный столбец внутри семейства столбцов. Столбец в HBase состоит из семейства столбцов и «:» спецификатора столбца, разделенных символом (двоеточие).

  • timestamp - это временная метка, которая указывает, когда было записано значение столбца. Она позволяет сохранять несколько версий значений для одного столбца.

  • Value - это собственно значение, которое хранится в каждом столбце. Может представлять собой любой тип данных, такой как числовые значения, строки, массивы и т. д.

Данные, организованные в таблицах, имеют индекс в виде первичного ключа, который называется RowKey. Для каждого RowKey ключа может храниться неограниченное количество атрибутов (или колонок).

Колонки организованны в группы колонок (Column Family). По умолчанию, в одну группу объединяют колонки, которые имеют одинаковый шаблон использования и хранения данных при этом список и названия групп колонок имеет фиксированное значение. Вовремя создании группы колонок задаются параметры: time to live (TTL) и максимальное количество хранимых версий.

В данной системе каждый атрибут может иметь несколько версий, каждая из которых характеризуется своим временным отметкой (timestamp). Физическое хранение данных предусматривает сортировку атрибутов, принадлежащих одной группе колонок и соответствующих одному ключу, в виде отсортированного списка. Если разница между временной отметкой определенной версии атрибута и текущим временем превышает установленный порог (TTL), то запись будет отмечена для удаления. Кроме того, если количество версий атрибута превышает заданный лимит, запись также будет помечена для удаления.

Физическое хранение записей осуществляется в отсортированном порядке по RowKey. При этом данные, соответствующие разным Column Family, хранятся отдельно, что позволяет выбирать данные только из необходимого семейства колонок, при необходимости.

В HBase для организации распределенной работы с данными два основных компонента: Region Server и Master Server. Region Server обслуживает регионы, которые представляют собой диапазоны записей с одинаковыми RowKey. Master Server является главным узлом кластера и отвечает за управление распределением регионов по серверам, ведение реестра, выполнение задач и другие организационные действия.

В HBase доступны четыре основных действия для работы с данными. Эти действия выполняются через экземпляры таблиц:

  • Put: Добавление новой записи или обновление существующей.

  • Get: Получение данных по определенному первичному ключу (RowKey).

  • Scan: Выборка всех данных таблицы, удовлетворяющих заданным условиям.

  • Delete: Удаление данных из таблицы.

Преимущества архитектуры HBase:

  • Хранение больших наборов данных

  • Возможность передачи с другими пользователями базой данных

  • Высокая доступность благодаря репликации и сбоям

Недостатки архитектуры HBase:

  • HBase не поддерживает структуру SQL

  • Не поддерживает транзакционность

  • Сортировка производится только с ключом

  • Проблемы с памятью кластера (если не будут правильно настроены параметры памяти, то может привести к заполнению памяти до предела и ограничению доступа к данным. Также проблемы могут возникнуть из-за большой нагрузки пользователями различными запросами, которые не успевают обрабатываться. А также некорректное использование памяти HBase может привести к утечкам памяти.)