{
    "version": "https:\/\/jsonfeed.org\/version\/1.1",
    "title": "Yuriy Gavrilov: posts tagged Metadata",
    "_rss_description": "Welcome to my personal place for love, peace and happiness 🤖 Yuiry Gavrilov",
    "_rss_language": "en",
    "_itunes_email": "yvgavrilov@gmail.com",
    "_itunes_categories_xml": "",
    "_itunes_image": "https:\/\/gavrilov.info\/pictures\/userpic\/userpic-square@2x.jpg?1643451008",
    "_itunes_explicit": "no",
    "home_page_url": "https:\/\/gavrilov.info\/tags\/metadata\/",
    "feed_url": "https:\/\/gavrilov.info\/tags\/metadata\/json\/",
    "icon": "https:\/\/gavrilov.info\/pictures\/userpic\/userpic@2x.jpg?1643451008",
    "authors": [
        {
            "name": "Yuriy Gavrilov - B[u]g - for charity.gavrilov.eth",
            "url": "https:\/\/gavrilov.info\/",
            "avatar": "https:\/\/gavrilov.info\/pictures\/userpic\/userpic@2x.jpg?1643451008"
        }
    ],
    "items": [
        {
            "id": "251",
            "url": "https:\/\/gavrilov.info\/all\/sravnenie-resheniy-dlya-schema-registry-confluent-vs-apicurio\/",
            "title": "Сравнение решений для Schema Registry: Confluent vs Apicurio",
            "content_html": "<p>Schema Registry (реестр схем) — критический компонент в экосистеме Apache Kafka, обеспечивающий контракты данных, управление эволюцией схем и валидацию сообщений. В 2025 году лидирующие решения — <b>Confluent Schema Registry<\/b>, <b>Apicurio Registry<\/b>, а также облачные и интегрированные варианты (AWS Glue, Redpanda). Разберем их функциональность, преимущества и недостатки.<\/p>\n<h4><b>1. Confluent Schema Registry: эталон для Kafka<\/b><\/h4>\n<p><b>Функциональность<\/b><\/p>\n<ul>\n<li>Форматы схем** Avro, Protobuf, JSON Schema. <a href=\"https:\/\/www.confluent.io\/blog\/best-practices-for-confluent-schema-registry\/\">confluent.io<\/a><\/li>\n<li>Совместимость:** Поддерживает 8 стратегий совместимости (BACKWARD, FORWARD, FULL и их транзитивные аналоги) <a href=\"https:\/\/docs.confluent.io\/platform\/current\/schema-registry\/concepts\/avro.html#compatibility-types-for-avro-schemas\">confluent.io<\/a> с проверкой при регистрации новой версии схемы.<\/li>\n<li>Интеграции:** Глубоко встроен в Confluent Platform (Kafka Connect, ksqlDB), предоставляет REST API, а Confluent Control Center (GUI) доступен в Enterprise-версии.<\/li>\n<li>Архитектура:** Является отдельным сервисом, хранит схемы в специальном внутреннем топике Kafka (`_schemas`). Обеспечивается высокая доступность через primary-secondary узлы.<\/li>\n<\/ul>\n<p><b>Преимущества:<\/b><\/p>\n<ul>\n<li>Зрелость:** Промышленный стандарт с 2015 года, обладающий богатой документацией и обширным сообществом.<\/li>\n<li>Расширенные функции:** Включает такие возможности, как Schema Linking (репликация и синхронизация схем между различными кластерами Schema Registry) и контексты схем для поддержки мультитенантности.<\/li>\n<li>Эффективное кэширование:** Клиенты запрашивают схему из кэша по ID (который передается в сообщении), значительно уменьшая накладные расходы.<\/li>\n<\/ul>\n<p><b>Недостатки:<\/b><\/p>\n<ul>\n<li>Операционные затраты:** Требует отдельного развертывания, мониторинга и управления инфраструктурой, если не используется управляемый сервис.<\/li>\n<li>Стоимость:** Расширенные функции, включая Enterprise GUI и усиленную безопасность, доступны только в платных версиях Confluent Platform.<\/li>\n<\/ul>\n<h4><b>2. Apicurio Registry: гибкость open source<\/b><\/h4>\n<p><b>Функциональность:<\/b><\/p>\n<ul>\n<li>Форматы схем:** Поддерживает не только Avro, Protobuf и JSON Schema, но и другие форматы, такие как OpenAPI, AsyncAPI, GraphQL и XML Schema.<a href=\"https:\/\/www.apicur.io\/registry\/docs\/apicurio-registry\/3.0.x\/assets-attachments\/registry-rest-api.htm\">apicur.io<\/a><\/li>\n<li>Совместимость:** Предоставляет правила валидации и совместимости, включая возможность определения кастомных правил.<\/li>\n<li>Хранение:** Обладает плагинной архитектурой для Persistent Storage, поддерживая Kafka, PostgreSQL, Infinispan и in-memory хранилище.<\/li>\n<li>Интеграции:** Имеет REST API, удобную веб-консоль для управления, Kafka SerDes (сериализаторы\/десериализаторы) и совместим с клиентами Confluent. <a href=\"https:\/\/www.apicur.io\/registry\/docs\/apicurio-registry\/3.0.x\/getting-started\/assembly-intro-to-the-registry.html\">apicur.io<\/a><\/li>\n<\/ul>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"2560\" data-ratio=\"2.2918531781558\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-07-04-v-08.30.16.png.jpg\" width=\"2560\" height=\"1117\" alt=\"\" \/>\n<img src=\"https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-07-04-v-08.30.06.png.jpg\" width=\"2560\" height=\"1285\" alt=\"\" \/>\n<img src=\"https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-07-04-v-08.29.41.png.jpg\" width=\"2560\" height=\"1548\" alt=\"\" \/>\n<img src=\"https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-07-04-v-08.29.27.png.jpg\" width=\"2560\" height=\"1072\" alt=\"\" \/>\n<img src=\"https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-07-04-v-08.29.11.png.jpg\" width=\"2560\" height=\"1574\" alt=\"\" \/>\n<img src=\"https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-07-04-v-08.29.00.png.jpg\" width=\"2560\" height=\"978\" alt=\"\" \/>\n<img src=\"https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-07-04-v-08.28.50.png.jpg\" width=\"2560\" height=\"921\" alt=\"\" \/>\n<img src=\"https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-07-04-v-08.28.37.png.jpg\" width=\"2560\" height=\"1201\" alt=\"\" \/>\n<\/div>\n<\/div>\n<p><b>Преимущества:<\/b><\/p>\n<ul>\n<li>Гибкость:** Поддержка более 10 форматов спецификаций и возможность выбора СУБД для хранения данных.<\/li>\n<li>Без vendor lock-in:** Полностью open source, распространяется под лицензией Apache 2.0.<\/li>\n<li>Безопасность:** Интеграция с Keycloak (OpenID Connect) для управления доступом предоставляется бесплатно.<\/li>\n<\/ul>\n<p><b>Недостатки:<\/b><\/p>\n<ul>\n<li>Сложность эксплуатации:** Отсутствие официальной managed-версии означает, что для развертывания и поддержания Apicurio Registry требуются собственные навыки администрирования.<\/li>\n<li>Ограниченная зрелость:** По сравнению с Confluent, может иметь меньше встроенных инструментов мониторинга и интеграций с другими корпоративными системами, хотя быстро развивается. Но за Confluent надо платить.<\/li>\n<\/ul>\n<h4><b>3. Альтернативные решения<\/b><\/h4>\n<h5><b>AWS Glue Schema Registry<\/b><\/h5>\n<ul>\n<li>Плюсы:** Serverless-сервис, глубокая интеграция с другими сервисами AWS (такими как Amazon MSK и Kinesis), модель оплаты по запросам.<\/li>\n<li>Минусы:** Замкнут в экосистеме AWS, может не поддерживать все продвинутые правила совместимости (например, транзитивные).<\/li>\n<\/ul>\n<h5><b>Redpanda Schema Registry<\/b><\/h5>\n<ul>\n<li>Плюсы:** Встроен непосредственно в брокер сообщений Redpanda, что обеспечивает очень низкую задержку и API-совместимость с Confluent Schema Registry.<\/li>\n<li>Минусы:** Привязка к брокеру Redpanda, относительно меньше enterprise-функций по сравнению с Confluent.<\/li>\n<\/ul>\n<h4><b>Сравнительная таблица<\/b><\/h4>\n<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" class=\"e2-text-table\">\n<tr>\n<td style=\"text-align: center\"><b>Критерий<\/b><\/td>\n<td style=\"text-align: center\"><b>Confluent<\/b><\/td>\n<td style=\"text-align: center\"><b>Apicurio<\/b><\/td>\n<td style=\"text-align: center\"><b>AWS Glue<\/b><\/td>\n<td style=\"text-align: center\"><b>Redpanda<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\"><b>Основные форматы схем<\/b><\/td>\n<td style=\"text-align: center\">Avro, Protobuf, JSON<\/td>\n<td style=\"text-align: center\">Avro, Protobuf, JSON, OpenAPI, AsyncAPI, GraphQL, XML<\/td>\n<td style=\"text-align: center\">Avro, Protobuf, JSON<\/td>\n<td style=\"text-align: center\">Avro, Protobuf, JSON<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: right\"><b>Стратегии совместимости<\/b><\/td>\n<td style=\"text-align: center\">8 типов (включая транзитивные)<\/td>\n<td style=\"text-align: center\">Кастомные правила, базовые типы<\/td>\n<td style=\"text-align: center\">Базовые типы<\/td>\n<td style=\"text-align: center\">Базовые типы<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\"><b>Архитектура<\/b><\/td>\n<td style=\"text-align: center\">Отдельный сервис<\/td>\n<td style=\"text-align: center\">Плагинное хранилище (Kafka, DB)<\/td>\n<td style=\"text-align: center\">Serverless<\/td>\n<td style=\"text-align: center\">Встроен в брокер<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\"><b>Managed-решение<\/b><\/td>\n<td style=\"text-align: center\">Confluent Cloud<\/td>\n<td style=\"text-align: center\">Нет<\/td>\n<td style=\"text-align: center\">Да (AWS Managed Service)<\/td>\n<td style=\"text-align: center\">Нет (брокер Redpanda может быть управляемым)<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\"><b>Лицензия<\/b><\/td>\n<td style=\"text-align: center\">Платные расширения, Open Core<\/td>\n<td style=\"text-align: center\">Open Source (Apache 2.0)<\/td>\n<td style=\"text-align: center\">Плата за запросы (проприетарный)<\/td>\n<td style=\"text-align: center\">Проприетарная (частично открытая)<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\"><b>SLA \/ Мониторинг<\/b><\/td>\n<td style=\"text-align: center\">Enterprise-инструменты, Confluent Control Center<\/td>\n<td style=\"text-align: center\">Требует самостоятельного внедрения<\/td>\n<td style=\"text-align: center\">CloudWatch, стандарт AWS SLA<\/td>\n<td style=\"text-align: center\">Prometheus + Grafana, внутренняя телеметрия<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\"><b>Веб-консоль (GUI)<\/b><\/td>\n<td style=\"text-align: center\">Confluent Control Center (платный)<\/td>\n<td style=\"text-align: center\">Встроенная веб-консоль (бесплатно)<\/td>\n<td style=\"text-align: center\">AWS Management Console<\/td>\n<td style=\"text-align: center\">Нет (через API)<\/td>\n<\/tr>\n<\/table>\n<h4><b>Итоги: что выбрать?<\/b><\/h4>\n<ol start=\"1\">\n<li><b>Confluent Schema Registry<\/b> — идеален для корпоративных Kafka-инфраструктур, где требуются максимальная стабильность, расширенное управление схемами и глубокая интеграция с Confluent Platform. Подходит для финансовых и регуляторных сценариев из-за своей зрелости и поддержки.<\/li>\n<\/ol>\n<ol start=\"2\">\n<li><b>Apicurio Registry<\/b> — лучший выбор для гибридных сред, микросервисов на gRPC\/GraphQL, или при ограниченном бюджете. Незаменим, если вы ищете полностью открытое и гибкое решение, которое не привязывает вас к конкретному вендору. Еще, кстати, он интегрируется с OpenMetaData – как говорят.<\/li>\n<\/ol>\n<ol start=\"3\">\n<li><b>Облачные решения (AWS Glue Schema Registry)<\/b> — подойдут для стека AWS, если необходимо минимизировать операционные накладные расходы и использовать полностью управляемый сервис.<\/li>\n<\/ol>\n<ol start=\"4\">\n<li><b>Интегрированные решения (Redpanda Schema Registry)<\/b> — оправданы, если вы уже используете или планируете использовать Redpanda в качестве брокера сообщений.<\/li>\n<\/ol>\n<p><b>Главный тренд 2025:<\/b> Рост популярности Apicurio из-за поддержки полиглотных архитектур и принципов open source. Однако Confluent сохраняет лидерство в Kafka-centric проектах благодаря своей глубине интеграции и богатому набору функций для крупных предприятий.<\/p>\n<blockquote>\n<p><b>Предостережение:<\/b> «Бесплатные» решения (Apicurio, Redpanda) требуют операционных затрат на развертывание, мониторинг и обслуживание. Для стартапов с ограниченным бюджетом Apicurio может быть предпочтительнее; для крупных предприятий, уже инвестировавших в Kafka, Confluent часто становится естественным выбором. Миграция между системами возможна, но требует тщательной проверки совместимости схем и данных.<\/p>\n<\/blockquote>\n<p>А у кого-то есть платная kafka?<\/p>\n",
            "date_published": "2025-07-04T23:40:13+03:00",
            "date_modified": "2025-07-23T10:16:28+03:00",
            "tags": [
                "big data",
                "Metadata"
            ],
            "image": "https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-07-04-v-08.30.16.png.jpg",
            "_date_published_rfc2822": "Fri, 04 Jul 2025 23:40:13 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "251",
            "_rss_enclosures": [],
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "jquery\/jquery.js",
                    "fotorama\/fotorama.css",
                    "fotorama\/fotorama.js"
                ],
                "og_images": [
                    "https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-07-04-v-08.30.16.png.jpg",
                    "https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-07-04-v-08.30.06.png.jpg",
                    "https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-07-04-v-08.29.41.png.jpg",
                    "https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-07-04-v-08.29.27.png.jpg",
                    "https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-07-04-v-08.29.11.png.jpg",
                    "https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-07-04-v-08.29.00.png.jpg",
                    "https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-07-04-v-08.28.50.png.jpg",
                    "https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-07-04-v-08.28.37.png.jpg"
                ]
            }
        }
    ],
    "_e2_version": 4171,
    "_e2_ua_string": "Aegea 11.4 (v4171e)"
}