Миграция с Rockset
Rockset - это база данных для аналитики в реальном времени, приобретенная OpenAI в июне 2024 года. Пользователи имеют время до 30 сентября 2024 года, 17:00 PDT, чтобы перейти с сервиса.
Мы считаем, что ClickHouse Cloud станет отличным домом для пользователей Rockset, и в этом руководстве мы рассмотрим некоторые вещи, которые стоит учесть при миграции из Rockset в ClickHouse.
Давайте начнем!
Немедленная помощь
Если вам нужна немедленная помощь, пожалуйста, свяжитесь с нами, заполнив эту форму, и с вами свяжется наш специалист!
ClickHouse против Rockset - Сравнение на высоком уровне
Мы начнем с краткого обзора сильных сторон ClickHouse и того, где вы можете увидеть некоторые преимущества по сравнению с Rockset.
ClickHouse сосредоточен на производительности в реальном времени и экономической эффективности с помощью подхода «сначала схема». Хотя поддерживаются полуструктурированные данные, наша философия заключается в том, что пользователи должны решать, как структурировать свои данные для максимизации производительности и эффективности ресурсов. В результате описанного выше подхода «сначала схема», в наших бенчмарках ClickHouse превосходит Rockset по масштабируемости, пропускной способности приема данных, производительности запросов и экономической эффективности.
Что касается интеграции с другими системами данных, ClickHouse имеет широкие возможности, которые превосходят возможности Rockset.
Rockset и ClickHouse оба предлагают облачный продукт и сопутствующие сервисы поддержки. В отличие от Rockset, ClickHouse также имеет открытый продукт и сообщество. Исходный код ClickHouse можно найти на github.com/clickhouse/clickhouse, и на момент написания статьи в проекте приняло участие более 1,500 contributors. В Slack-сообществе ClickHouse более 7,000 участников, которые делятся своим опытом/лучшими практиками и помогают друг другу с любыми возникшими проблемами.
Это руководство по миграции сосредоточено на миграции с Rockset в ClickHouse Cloud, но пользователи также могут обратиться к остальной нашей документации по возможностям открытого кода.
Основные концепции Rockset
Начнем с изучения основных концепций Rockset и объяснения их эквивалентов (где они существуют) в ClickHouse Cloud.
Источники данных
Rockset и ClickHouse оба поддерживают загрузку данных из различных источников.
В Rockset вы создаете источник данных, а затем создаете коллекцию на основе этого источника данных. Существуют полностью управляемые интеграции для платформ стриминга событий, OLTP баз данных и облачного хранилища.
В ClickHouse Cloud эквивалентом полностью управляемых интеграций являются ClickPipes. ClickPipes поддерживает непрерывную загрузку данных с платформ стриминга событий и облачного хранилища. ClickPipes загружает данные в таблицы.
Трансформации при загрузке
Трансформации при загрузке в Rockset позволяют вам преобразовывать сырые данные, поступающие в Rockset, прежде чем они будут сохранены в коллекции. ClickHouse Cloud делает то же самое через ClickPipes, который использует функцию материализованных представлений ClickHouse для трансформации данных.
Коллекции
В Rockset вы запрашиваете коллекции. В ClickHouse Cloud вы запрашиваете таблицы. В обоих сервисах запросы выполняются с помощью SQL. ClickHouse добавляет дополнительные функции поверх стандартных функций SQL, чтобы предоставить вам больше возможностей для манипуляции и преобразования ваших данных.
Запросные лямбды
Rockset поддерживает запросные лямбды, именованные параметризованные запросы, хранящиеся в Rockset, которые можно выполнять из выделенного REST-эндпоинта. Query API Endpoints ClickHouse Cloud предлагают аналогичную функциональность.
Представления
В Rockset вы можете создавать представления, виртуальные коллекции, определяемые SQL-запросами. ClickHouse Cloud поддерживает несколько типов представлений:
- Обычные представления не хранят никаких данных. Они просто выполняют чтение из другой таблицы в момент запроса.
- Параметризованные представления аналогичны обычным представлениям, но могут создаваться с параметрами, разрешаемыми в момент запроса.
- Материализованные представления хранят данные, преобразованные соответствующим запросом
SELECT
. Они работают как триггер, который срабатывает, когда новые данные добавляются к исходным данным, на которые они ссылаются.
Псевдонимы
Псевдонимы в Rockset используются для ассоциации нескольких имен с коллекцией. ClickHouse Cloud не поддерживает аналогичную функцию.
Рабочие области
Рабочие области в Rockset - это контейнеры, которые хранят ресурсы (т.е. коллекции, запросные лямбды, представления и псевдонимы) и другие рабочие области.
В ClickHouse Cloud вы можете использовать различные сервисы для полной изоляции. Вы также можете создавать базы данных для упрощения контроля доступа на основе ролей (RBAC) к различным таблицам/представлениям.
Проектные соображения
В этом разделе мы рассмотрим некоторые из ключевых функций Rockset и узнаем, как решить их при использовании ClickHouse Cloud.
Поддержка JSON
Rockset поддерживает расширенную версию формата JSON, которая позволяет использовать специфичные для Rockset типы.
Существует несколько способов работы с JSON в ClickHouse:
- Вывод JSON
- Извлечение JSON во время запроса
- Извлечение JSON во время вставки
Чтобы понять лучший подход для вашего пользовательского случая, смотрите нашу документацию по JSON.
Кроме того, в ClickHouse скоро будет тип данных столбцов с полуструктурированными данными. Этот новый тип должен предоставить пользователям гибкость, аналогичную типу JSON в Rockset.
Полнотекстовый поиск
Rockset поддерживает полнотекстовый поиск с помощью своей функции SEARCH
.
Хотя ClickHouse не является поисковой системой, он предлагает различные функции для поиска в строках.
ClickHouse также поддерживает фильтры Блума, которые могут помочь во многих сценариях.
Векторный поиск
Rockset имеет индекс схожести, который может использоваться для индексации векторов, используемых в приложениях векторного поиска.
ClickHouse также может использоваться для векторного поиска с помощью линейных сканирований:
ClickHouse также имеет индекс схожести векторного поиска, но этот подход в настоящее время является экспериментальным и пока не совместим с новым анализатором запросов.
Прием данных из OLTP баз данных
Управляемые интеграции Rockset поддерживают прием данных из OLTP баз данных, таких как MongoDB и DynamoDB.
Если вы принимаете данные из DynamoDB, следуйте руководству по интеграции DynamoDB здесь.
Разделение вычислений
Разделение вычислений - это архитектурный проектный паттерн в системах аналитики в реальном времени, который позволяет справляться с резкими всплесками входящих данных или запросов. Предположим, что один компонент обрабатывает как прием, так и запросы. В этом случае мы увидим, что задержка приема увеличивается, если идет поток запросов, и задержка запросов увеличивается, если идет поток данных для приема.
Разделение вычислений отделяет кодовые пути обработки приема данных и обработки запросов, чтобы избежать этой проблемы, и это функция, которую Rockset реализовал в марте 2023 года.
Эта функция в настоящее время внедряется в ClickHouse Cloud и близка к частному предварительному просмотру. Пожалуйста, свяжитесь с поддержкой, чтобы включить.
Бесплатные услуги по миграции
Мы понимаем, что это стрессовое время для пользователей Rockset - никто не хочет перемещать производственную базу данных в такой короткий срок!
Если ClickHouse может вам подойти, мы предоставим бесплатные услуги по миграции, чтобы помочь облегчить процесс перехода.