Перейти к основному содержимому
Перейти к основному содержимому

Миграция с 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 может вам подойти, мы предоставим бесплатные услуги по миграции, чтобы помочь облегчить процесс перехода.