Все статьи
Мы запустили Data Streams!
Обновления продукта
Мы запустили Data Streams!

Мы запустили Data Streams!

Мы рады сообщить, что в платформе SegmentStream теперь появилась возможность в реальном времени собирать любые типы событий в ваше собственное хранилище данных Google BigQuery.

Что такое Data Streams

Data Stream — это универсальный способ сбора любых данных напрямую в ваше хранилище Google BigQuery в реальном времени. Сюда входят события как на стороне клиента, так и на стороне сервера.

Несколько примеров использования:

  • Автоматическое перехватывание и дублирование всех хитов Google Analytics в SegmentStream, что позволяет собирать сырые данные на уровне хита в ваш Google BigQuery без каких-либо ограничений и сэмплирования.
  • Анализ AMP-страниц используя пиксели отслеживания без использования скриптов.
  • Отслеживание и сбор информацию о показах медийной рекламы напрямую в Google BigQuery благодаря возможности вставки пикселя отслеживания SegmentStream в рекламное объявление.
  • Использование вебхуков для сбора данных из CRM/ERP/ESP и любой другой сторонней системы.
  • Отправка серверных событий в Google BigQuery в реальном времени.

Как работает функционал Data Streams

В двух словах, поток данных (Data Stream) — это уникальный адрес API, куда вы можете отправлять абсолютно любые данные. Все URL этого API имеют следующий формат:

https://track.segmentstream.com/ds/<DATA_STREAM_ID>

Где <DATA_STREAM_ID> - это уникальный идентификатор вашего потока данных связанного с конкретной таблицей в Google BigQuery.

Вы можете отправлять данные в API SegmentStream в любом формате, используя:

  1. Простой HTTP запрос:

    curl -d "event=Lead&value=3500&currency=USD" \
    https://track.segmentstream.com/ds/<DATA_STREAM_ID>
    
  2. HTTP запрос с JSON:

    curl -H "Content-Type: application/json" -X \ 
    POST -d '{"event":"Lead","value":3500,"currency":"USD"}' \
    https://track.segmentstream.com/ds/<DATA_STREAM_ID>
    
  3. Пиксель отслеживания (для AMP страниц или рекламного объявления):

    <img height="1" width="1" style="display:none;" src="https://track.segmentstream.com/ds/<DATA_STREAM_ID>?event=ad_view&placement=DV360&type=banner" />
    
  4. JavaScript-код:

    jQuery.post("https://track.segmentstream.com/ds/<DATA_STREAM_ID>", {
      event: "Lead",
      value: 3500,
      currency: "USD"
    });
    

Независимо от выбранного вами метода отправки данных, SegmentStream гарантирует, что эти данные будут успешно записаны в реальном времени в таблицу Google BigQuery, указанную для этого потока данных.

Подключение нового Data Stream в SegmentStream

  1. В панели управления SegmentStream вы можете создать новый поток данных, который в свою очередь создаст уникальную адрес API, куда будут отправляться все ваши данные.
  2. В зависимости от типа потока данных вам будут предоставлены дополнительные инструкции о том, как правильно настроить код отслеживания, пиксель, или даже API запрос на стороне сервера.
  3. Используйте полученный код на своем веб-сайте, в мобильном приложении, или на сервере, в зависимости от требований.

Дополнительную информацию о настройке Data Streams можно найти в документации. Свяжитесь с нашей командой поддержки, если вам нужна помощь в настройке!

В чем основное преимущество Data Streams

Главное преимущество Data Streams — это возможность перейти от ETL подхода к сбору данных к современному ELT подходу. В чем разница?

  • С ETL подходом (Extract-Transform-Load) вам необходимо определить схему финальных таблиц еще до старта сбора данных. Преобразование данных происходит «на лету» с заранее определенной логикой, и только потом они попадают в хранилище данных. Если данные отправляются в не том формате — весь ETL-процесс выйдет из строя, пока вы не почините сбор данных. Это делает подход ETL очень негибким методом сбора данных, а также затрудняет переход от одной схемы к другой.
  • При использовании подхода ELT (Extract-Load-Transform) на сервере не происходит никакого преобразования данных. Все данные поступают прямо в хранилище в необработанном виде.

Пример необработанных сырых данных в базе:

hit_id payload datetime ip
31a94989-87e0-44fe-873d-9537e9665715 {event:"lead","value":3500,"currency":"USD"} 2020-08-17 22:00:00UTC 216.27.61.137
a12a64b0-70a2-450e-bb20-29dc2b841674 { event:"pageview","url":"https://segmentstream.com/blog/article"} 2020-08-17 22:01:00UTC 203.21.61.100
a12a64b0-70a2-450e-bb20-29dc2b841674 { event:"ad_impression",url:"https://publisher.com"} 2020-08-17 21:13:00UTC 216.27.61.137

После этого BI-специалисты и аналитики могут преобразовать эти данные в любую необходимую им схему, написав простые SQL запросы. Не нужно привлекать разработчиков и просить их изменить схему на сервере.

Вот пример того, как финальная таблица может выглядеть в вашем Google BigQuery:

hit_id event value currency url datetime ip
31a94989-87e0-44fe-873d-9537e9665715 lead 3500 USD https://segmentstream.com/blog/article 2020-08-17 22:00:00UTC 216.27.61.137
a12a64b0-70a2-450e-bb20-29dc2b841674 pageview NULL NULL NULL 2020-08-17 22:01:00UTC 203.21.61.100
a12a64b0-70a2-450e-bb20-29dc2b841674 ad_impression NULL NULL https://publisher.com 2020-08-17 21:13:00UTC 216.27.61.137

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

Почему ETL до сих пор остается популярен

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

ETL был популярным решением из-за того, что стоимость хранения и обработки данных на локальных мощностях компании была крайне высокой. В связи с быстрым ростом облачных решений, таких как Google Cloud Platform, и удешевлением облачных вычислений, практически нет причин продолжать использовать ETL вместо ELT.

Мы видим, что все больше и больше компаний переходят от ETL к более современному ELT, и мы будем рады помочь вам в таком переходе.

В чем разница между Data Sources и Data Streams в SegmentStream

  • Data Sources презназначены для загрузки больших объемов данных, которая обычно происходит один или несколько раз в день. Например, подключиться к Facebook API, импортировать данные о расходах на рекламу за весь предыдущий день и загрузить их в Google BigQuery.
  • Data Streams предназначены для сбора данных в реальном времени. С помощью Data Streams вы сможете получить доступ ко всем событиям в вашем Google BigQuery сразу же после того, как эти события произошли.

Что ждет Data Streams дальше

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

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

Надеемся, вы оцените функционал Data Streams и его полезность для решения задач сбора данных и аналитики. Будем очень рады вашим вопросам и комментариям.

Команда SegmentStream.

Вас также может заинтересовать

Все статьи

Начните работу с SegmentStream

Оставьте заявку на персональную демонстрацию или попробуйте SegmentStream бесплатно!