Глоссарий

ACL

Access сontrol list — определяет пользователей или группы, которые имеют доступ к конкретным объектам, а также операции, которые им разрешено или запрещено выполнять над этими объектами.

AD

Active Directory — служба каталогов корпорации Microsoft для операционных систем семейства Windows Server. Первоначально создавалась как LDAP-совместимая реализация службы каталогов. Однако начиная с Windows Server 2008, включает возможности интеграции с другими службами авторизации, выполняя для них интегрирующую и объединяющую роль.

Позволяет администраторам использовать групповые политики для обеспечения единообразия настройки пользовательской рабочей среды, разворачивать программное обеспечение на множестве компьютеров через групповые политики или посредством System Center Configuration Manager (ранее — Microsoft Systems Management Server), устанавливать обновления операционной системы, прикладного и серверного программного обеспечения на всех компьютерах в сети, используя Службу обновления Windows Server. Хранит данные и настройки среды в централизованной базе данных. Сети Active Directory могут быть различного размера: от нескольких десятков до нескольких миллионов объектов.

Apache Maven

Инструмент управления и анализа для программных проектов.

API

Application programming interface — набор готовых классов, процедур, функций, структур данных и констант, предоставляемых приложением (библиотекой, службой) или операционной системой для использования во внешних программных продуктах.

Broker

Сервер Kafka, на котором хранятся партиции (partition).

Basic authentication

Схема аутентификации HTTP, согласно которой учетные данные пользователя передаются в виде пар идентификатор/пароль, закодированных с использованием Base64.

Commit log

Упорядоченная структура сообщений, доступная только для записи. В журнале коммитов нельзя ни изменять, ни удалять данные. Большие журналы разделяют на партиции. Если журнал состоит из одной партиции, то он и является партицией.

Connector

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

Consensus algorithm

Набор принципов и правил, благодаря которым все узлы, участвующие в кластере, автоматически приходят к консенсусу относительно текущего состояния сети. В Kafka может использоваться один из алгоритмов: Raft или ZAB.

Consumer

Клиентское приложение, которое подписывается на сообщения, а также читает и обрабатывает их.

Consumer group

Группа потребителей, которые объединены для чтения данных из топиков. Группа для потребителя задается при помощи group.id в файле параметров потребителя.

Controller

Брокер Kafka, который выполняет управляющую роль в процессах распределения данных внутри Kafka. Функция контроллера Kafka и механизм его выбора меняется в зависимости от используемого в кластере алгоритма консенсуса:

  • Алгоритм ZAB — для управления метаданными кластера используется кворум ZooKeeper. Контроллер при этом отвечает за выбор ведущих реплик для разделов и передает данные о новых ISR в кворум. Контроллером становится брокер, который был запущен раньше остальных.

  • Алгоритм Raft — для управления метаданными кластера используется кворум контроллеров KRaft. Серверы, выбранные в качестве контроллеров, участвуют в кворуме метаданных. Каждый контроллер может быть либо активным, на котором ведется запись метаданных, либо репликой метаданных.

CLI

Интерфейс командной строки — вид текстового пользовательского интерфейса, в котором инструкции компьютеру передаются путем набора текстовых команд с клавиатуры. Другие названия — консоль и терминал.

Cluster

Группа серверов и координирующего программного обеспечения, объединенных логически, способных обрабатывать одинаковые запросы и действовать как единый ресурс.

Debezium

Распределенная платформа с открытым исходным кодом, работа которой основана на паттерне захвата изменения данных (Change Data Capture, CDC). Коннектор Debezium собирает изменения в базах данных и передает их во внешние приложения. Debezium используется внешними приложениями для учета и обработки изменения данных в СУБД: события вставки, обновления и удаления.

Deserialization

Восстановление структуры данных из потока байтов.

DNS

Domain name system — распределенная иерархическая система для получения информации о компьютерах, доменах, службах и других ресурсах, доступных через интернет или по другим сетевым протоколам. Чаще всего используется для получения IP-адреса по имени хоста (компьютера или устройства), получения информации о маршрутизации почты и/или обслуживающих узлах для протоколов в домене.

Распределенная база данных DNS поддерживается с помощью иерархии DNS-серверов, взаимодействующих по определенному протоколу.

FlowFile

Объект NiFi, представляющий собой информационный пакет, перемещающийся через систему. Для каждого пакета NiFi отслеживает атрибуты в виде пар ключ/значение и связанное с пакетом содержимое (content).

Firewall

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

Follower

Одна из реплик партиции, которая является резервом для лидера партиции. Последователь является ISR-репликой, если является полной копией лидера.

FreeIPA

Система управления идентификацией пользователей с открытым исходным кодом для сетей на базе Linux/UNIX. FreeIPA использует Fedora Linux, 389 Directory Server, MIT Kerberos, NTP, DNS, систему сертификатов DogTag, SSSD и другие компоненты с открытым исходным кодом. Основное назначение FreeIPA — предоставление функционала, схожего с Active Directory.

FQDN

Fully qualified domain name — имя домена, не имеющее неоднозначностей в определении. Включает в себя имена всех родительских доменов иерархии DNS.

HBase

Нереляционная распределенная база данных с открытым исходным кодом, написанная на Java. Является аналогом Google BigTables.

Разработана как часть проекта Apache Software Foundation Hadoop. Работает поверх HDFS и обеспечивает возможности для Hadoop, схожие с BigTable. Например, предоставляет отказоустойчивый способ хранения больших объемов разреженных данных.

HDFS

Hadoop Distributed File System — файловая система для хранения больших данных, распределенных в виде блоков на узлах кластера. Все блоки в HDFS (кроме последнего блока файла) имеют одинаковый размер, и каждый блок может размещаться на нескольких узлах. Размер блока и фактор репликации (количество узлов, на которые должен реплицироваться каждый блок) определяются в настройках на уровне файла. Благодаря репликации распределенная система устойчива к сбоям отдельных узлов.

Heap

Динамически выделяемая область памяти, создаваемая при запуске JVM.

Host

Компьютер или другое устройство, имеющее доступ к сети. Хост может выполнять функции сервера, предоставляя информацию о ресурсах, услугах и приложениях пользователям или другим хостам. Каждому хосту в сети присваивается как минимум один сетевой адрес.

Instance

Экземпляр программного обеспечения, работающий на одном физическом или виртуальном сервере. В объектно-ориентированном программировании этим термином также называется объект класса.

IP

Internet protocol address — уникальный сетевой адрес узла в компьютерной сети, построенной на основе стека протоколов TCP/IP. IP-адрес состоит из двух частей: номера сети и номера узла.

ISR

In-sync replica — реплика, являющаяся полной копией журнала лидера, имеет одинаковые c лидером смещения и сообщения в том же порядке. Такая реплика является кандидатом в лидеры партиции.

JDBC

Java DataBase Connectivity — платформенно независимый промышленный стандарт взаимодействия Java-приложений с различными СУБД, реализованный в виде пакета java.sql, входящего в состав Java SE.

JMX

Java management extensions — технология Java, предназначенная для контроля и управления приложениями, системными объектами, устройствами (например, принтерами) и компьютерными сетями.

Kafka Streams

Клиентская библиотека для создания приложений Java и Scala, где входные и выходные данные хранятся в кластерах Kafka. Разрабатывается при помощи Apache Maven.

Kerberos KDC

Key distribution center — сторонний механизм аутентификации, который используется пользователями и сервисами для аутентификации.

Включает в себя 3 составляющие:

  • База данных пользователей и служб (принципалы), к которой имеет доступ KDC, и соответствующие пароли Kerberos.

  • Сервер аутентификации (Authentication Server, AS), который выполняет первоначальную аутентификацию и выдает тикет на предоставление тикетов (Ticket Granting Ticket, TGT).

  • Сервер выдачи тикетов (Ticket Granting Server, TGS) — сервер, который выдает тикеты на основе исходного тикета на выдачу тикетов.

Kerberos authentication server

Сервер аутентификации, главная функция которого -- получение запроса, содержащего имя клиента, который запрашивает аутентификацию, и возвращение клиенту зашифрованного тикета на выдачу тикетов (Ticket-Granting Ticket, TGT). Позднее пользователь может использовать этот TGT для дальнейших запросов. В большинстве реализаций Kerberos время жизни TGT составляет 8-10 часов. После этого клиент должен снова запросить TGT у сервера аутентификации.

Kerberos keytab

Файл, содержащий один или несколько принципалов и их ключи. Используется для аутентификации в инфраструктуре Kerberos и позволяет не вводить имена пользователей и пароли вручную.

Kerberos principal

Уникальное имя пользователя или службы.

Kerberos realm

Сеть Kerberos, которая включает KDC и несколько клиентов.

Kerberos TGS

Ticket-granting server (TGS) — сервер для выдачи разрешений.

Kerberos TGT

Ticket-granting ticket (TGT) — включает копию сеансового ключа, имя пользователя и срок действия тикета. TGT зашифрован с использованием собственного главного ключа KDC и может быть расшифрован только самой службой KDC.

KRaft

Режим работы Kafka, при котором используется кворум контроллеров. KRaft работает по протоколу консенсуса Raft, основанному на событиях.

LDAP

Lightweight directory access protocoll — протокол, использующий TCP/IP и позволяющий выполнять операции аутентификации, поиска и сравнения, а также операции добавления, изменения или удаления записей.

Leader

Одна из реплик, через которую осуществляется запись сообщений. Выбор лидера для каждой партиции производится при помощи кворума в соответствии с принятым в кластере протоколом алгоритма консенсуса (ZAB или Raft). Лидеры партиций равномерно распределяются между брокерами. Каждый брокер может быть лидером для одной партиции и последователем для другой.

Metadata

Структурированная служебная информация об используемых данных. Содержит данные о брокерах, хранящих партиции данных, и лидерах партиций.

Message

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

Message delivery guarantees

Семантики доставки, существующие в Kafka:

  • At most once — сообщения будут обработаны один раз или не будут обработаны вообще (потеряны).

  • At least once — сообщения будут обработаны как минимум один раз.

  • Exactly once — каждое сообщение будет обработано один и только один раз.

MTBF

Mean time between failures — среднее время с момента восстановления функционального состояния системы после отказа до момента следующего отказа.

MySQL

Система управления реляционными базами данных с открытым исходным кодом.

Node

Устройство, подключенное к другим устройствам по сети. Имеет собственный IP-адрес и может обмениваться данными. Узлами могут быть компьютеры, мобильные телефоны, карманные компьютеры, а также специальные сетевые устройства, такие как: маршрутизаторы, коммутаторы, концентраторы и так далее.

NTP

Network time protocol — сетевой протокол для синхронизации внутренних часов компьютера с использованием сетей с переменной задержкой.

OpenJDK

Полностью совместимый проект Java Development Kit, состоящий исключительно из бесплатного и открытого исходного кода.

Partition

Упорядоченная неизменяемая последовательность записей, содержимое журнала коммитов.

PostgreSQL

Бесплатная объектно-реляционная система управления базами данных.

Postgres

Суперпользователь в PostgreSQL, имеющий максимальные права во всех базах данных, включая право создавать других пользователей. Глобальные права могут быть изменены в любое время текущим суперпользователем.

Processor

Компонент NiFi, выполняющий заявленные в своей функции действия, связанные с обработкой данных FlowFiles, например, извлечение или публикацию данных. Процессоры могут использовать один или несколько FlowFiles. Процессоры имеют доступ к атрибутам данного FlowFile и его содержимого.

Producer

Клиентское приложение, публикующее (записывающее) сообщения в Kafka.

Quorum

Набор специализированных узлов, которые отвечают за хранение и своевременное обновление метаданных кластера. В Kafka может быть использован один из двух видов кворума:

  • Кворум KRaft — кворум контроллеров, отвечает за обслуживание только внутреннего топика __cluster_metadata с метаданными Kafka при использовании алгоритма Raft.

  • Кворум ZooKeeper — кворум из узлов ZooKeeper, отвечает за хранение метаданных Kafka и выбор контроллера Kafka при использовании алгоритма ZAB.

RAID

Redundant array of independent disks — технология виртуализации данных, которая подразумевает объединение нескольких дисков в единый логический элемент для резервирования и повышения производительности.

Replication

Механизм, который создает и распределяет на брокерах точные копии каждой партиции топика в Kafka. Репликация обеспечивает доступность сообщений в случае сбоев или технического обслуживания. Фактор репликации (replication factor) — параметр, определяющий количество копий (реплик) каждой партиции.

Replica

Копия партиции топика Kafka. Репликами также могут называться брокеры Kafka в составе кластера, которые содержат одинаковые партиции.

REST

Representational state transfer — архитектурный подход взаимодействия компонентов распределенного приложения в сети по протоколу HTTP. Это согласованный набор ограничений и правил, которые принимаются при проектировании распределенной системы гипермедиа.

Root

Суперпользователь — специальная учетная запись в Unix-подобных системах, владелец которой имеет право выполнять все без исключения операции.

S2S

Site-to-Site (Server-to-server) — протокол, описывающий прямой обмен данными или запросами между двумя или более серверами в сети.

S3

Simple storage service — облачная система хранения, первоначально созданная в составе Amazon Web Services, организованная по объектному принципу.

SASL PLAINTEXT

Простой механизм аутентификации по имени пользователя/паролю, который обычно используется с TLS для шифрования с целью реализации безопасной аутентификации. Основные понятия:

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

  • PLAIN — простой механизм передачи паролей открытым текстом.

  • PLAINTEXT — аутентификатор, который конфигурируется для поддержки аутентификационного механизма PLAIN.

Script

Совокупность инструкций, выполняемых системой. Разница между программой и скриптом весьма размыта: скрипт — это программа, работающая с готовыми программными компонентами.

В более узком смысле скриптовым языком называют язык для расширения возможностей командной оболочки, текстового редактора или средств администрирования операционной системы.

Self-signed certificate

Особый тип цифрового сертификата, подписанный самим его субъектом. Технически такой сертификат ничем не отличается от сертификата, заверенного подписью удостоверяющего центра (УЦ), только вместо передачи на подпись в УЦ пользователь создает свою собственную сигнатуру. Проще говоря, создатель сертификата сам является в данном случае УЦ. Все корневые сертификаты доверенных УЦ являются самозаверенными.

Segment

Часть партиции (partition), хранящаяся в отдельном файле на диске.

Serialization

Процесс записи данных из формата-структуры, семантически понятной человеку, в поток/массив байтов (byte array) в формате двоичного кода для машинной обработки. Schema Registry поддерживает следующие форматы сериализации: JSON, AVRO, PROTOBUF.

Schema

Структура формата данных, подвергнутых сериализации. Cхема описывает данные, записываемые в топик, какой тип информации они содержат. Эта информация связывает производителей и потребителей. Существуют специальные требования к каждому формату, например, схема формата должна соответствовать требованиям к формату AVRO.

Source code

Текст компьютерной программы на любом языке программирования или разметки, который может быть прочитан человеком. В более общем смысле — любые исходные данные для интерпретатора/компилятора.

Snapshot

Копия файлов и каталогов файловой системы (или базы данных) в определенный момент времени.

SQL

Structured query language — декларативный язык программирования, применяемый для создания, модификации и управления данными в реляционной базе данных, управляемой соответствующей системой управления базами данных.

SSH

Secure shell — сетевой протокол прикладного уровня, позволяющий осуществлять удаленное управление операционной системой и туннелирование TCP-соединений (например, для передачи файлов). По функционалу похож на протоколы Telnet и rlogin, но, в отличие от них, шифрует весь трафик, включая передаваемые пароли. SSH позволяет выбирать различные алгоритмы шифрования. Клиенты SSH и серверы SSH доступны для большинства сетевых операционных систем.

SSL

Secure sockets layer — криптографический протокол, который подразумевает безопасное соединение. Использует асимметричную криптографию для аутентификации ключей обмена, симметричное шифрование для сохранения конфиденциальности, коды аутентификации сообщений для целостности сообщений.

Sudo

Substitute user and do — программа для системного администрирования UNIX-систем, позволяющая делегировать те или иные привилегированные ресурсы пользователям с ведением протокола работы. Основная идея — дать пользователям как можно меньше прав, при этом достаточных для решения поставленных задач.

Su

Switch user — команда Unix-подобных операционных систем, позволяющая пользователю войти в систему под другим именем, не завершая текущий сеанс.

Tiered Storage

Многоуровневое хранение — метод назначения различных категорий данных различным типам носителей данных для снижения общих затрат на хранение и повышения производительности и доступности важных приложений.

Topic

Категория (тема), в которой сообщения публикуются в Kafka. В топике сообщения пишутся в журнал коммитов.

URI

Uniform resource identifier — последовательность символов, идентифицирующая абстрактный или физический ресурс.

URL

Uniform resource locator — единообразный определитель местонахождения абстрактного или физического файла.

WAL

Write-ahead log — журнал упреждающей записи, который регистрирует каждое изменение, происходящее с FlowFile в качестве транзакционной единицы и фиксирует успешное изменение метаданных в репозитории FlowFile, а в случае сбоя системы восстанавливает свое состояние.

Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней