rramos.github.io

05 Jun, 2024 - About 3 minutes

tinyBird

Intro

Tinybird is a modern real-time data platform that ingests data at scale, supports SQL and Git, and publishes API endpoints for everyone on your team to consume.

It uses Clickhouse as backend to manage high data volumes with velocity.

Also provides means to design and implement APIs for data products very quickly.

In this article I will follow the setup that Jim Moffitt provided on a workshop Kafka to Analytics.

The Product looks amazing and I suggest you follow up with them directly.

I’m not affiliate with the product just testing out and providing my personal inputs.

Requirements

Setup the following two sources

  • company_info : CSV file with information regarding stock symbols and companies
  • event_stream : Kafka broker which will held event data related with stock_prices

Setup Environment

  • Dimensional table containing company metadata
  • kafka stream of company stock price data
  • python script generating data
  • Kafka broker
  • Tinybird to create the data pipelines
  • API implementation with postman to exercise the APIs

The following github repo provides the required things to get started

Setup

Tinybird Account

Start by creating a Tinybird account and create a new workspace for this project.

After you started one account create a new workspace and access the ui https://ui.tinybird.co

Connect with Git

You can fork the following github repository and link with your workspace

Then choose the option to connect with you GitHub repository.

I found out that that working directly with the web interface works rather well but there is the option to work with your IDE or cli directly on the repo and setup the CI/CD component.

Import company data

In datasources load the csv :

  • https://github.com/tinybirdco/zero-to-tinybird/blob/main/data-generator/company-info.csv

CLI

Install the required pip package

pip3 install tinybird-cli

Access the service to obtain your token and run the command tb auth

One can now execute via cli the required commands. I always like when this option is available.

Tinybird WorkShop

Jimm just updated the github repo with the latest content for a workshop zero-to-tinybird.
I would recommend following both the presentation deck and the steps shared on the following github repo.

Plans

Professional plan billing:

  • Data storage is billed at US$0.34 per GB, with no limit on the amount of data storage.
  • Processed data is billed at US$0.07 per GB, with no limit on the amount of processed data.
  • Transferred data is billed at US$0.01 - $0.10 per GB (depending on cloud provider or region), with no limit on the amount of transferred data.

Conclusion

Tinybird provides a very intuitive platform to manage real time flows for analytical purposes, incorporating several types of connectors and state of the art technology which brings amazing speed. I also liked the maturity level of the components to be integrated with production ready pipelines following best engineering practices. The Platform as integrated health checks and provides a vast number of API endpoints which allow the client to have full control and flexibility to incorporate with it’s own stack.

Well done Tinybird you really have a good product here. I haven’t use it is production to understand the stability level and support level the company provides or made any assessment on the pricing related with other options.

References

OLDER > < NEWER