Airbyte là gì ?

Airbyte là một nền tảng ETL mã nguồn mở dùng để tích hợp dữ liệu từ nhiều nguồn khác nhau, chuyển đổi định dạng phù hợp và tải dữ liệu đó vào các điểm đến mong muốn như database, data warehouse, cloud,…

Airbyte được code bằng: Java, python, typescript, react

Nó cũng cung cấp API để đơn giản hóa việc tích hợp với nhiều ứng dụng hướng tới khách hàng.
Airbyte cung cấp REST API cho phép bạn tích hợp với các ứng dụng và dịch vụ khác của bạn, giúp bạn quản lý các job và dữ liệu của mình.

Tại sao nên dùng Airbyte?

Thay vì dùng code truyền thống để xử lý các tác vụ ETL phức tạp, hay dùng excel để kéo thả đến chết thì ta có Airbyte giúp đơn giản hóa quy trình tích hợp dữ liệu phức tạp.

Giao diện đơn giản dễ sử dụng.

Hỗ trợ nhiều nguồn và đích khác nhau (hơn 200 nguồn) → Khá linh hoạt

Tự động đồng bộ dữ liệu.

Dễ triển khai.

Airbyte hỗ trợ những gì?

Airbyte hỗ trợ rất nhiều connectors để kết nối với các nguồn dữ liệu khác nhau, bao gồm các nguồn dữ liệu cơ sở dữ liệu, APIs, ứng dụng SaaS, và các hệ thống tệp. Dưới đây là một số ví dụ về các connectors được hỗ trợ bởi Airbyte:

  • Cơ sở dữ liệu: PostgreSQL, MySQL, Microsoft SQL Server, Oracle Database, MongoDB, Cassandra, Redis, Amazon Redshift, Google BigQuery, Snowflake, và nhiều hơn nữa.
  • APIs: Salesforce, HubSpot, Google Analytics, Facebook Ads, Twitter, Shopify, Slack, Zendesk, Jira, Github, và nhiều hơn nữa.
  • Ứng dụng SaaS: Google Sheets, Google Drive, Dropbox, Google Calendar, Office 365, và nhiều hơn nữa.
  • Hệ thống tệp: CSV, JSON, Parquet, Avro, Excel, và nhiều hơn nữa.

Các connectors của Airbyte được chuẩn hóa và có thiết lập tự động, giúp giảm thiểu sự khác biệt trong cấu trúc và định dạng dữ liệu giữa các nguồn khác nhau. Ngoài ra, Airbyte cũng cho phép tùy chỉnh các connectors để phù hợp với nhu cầu của từng tổ chức cụ thể.

Cài đặt và sử dụng Airbyte

Để sử dụng Airbyte, bạn có thể làm theo các bước sau:

  1. Tải xuống và cài đặt Airbyte: Airbyte có thể được tải xuống miễn phí từ trang web của nó (https://airbyte.io/ 2) hoặc từ kho GitHub. Sau khi tải xuống, bạn cần cài đặt Airbyte trên máy tính của mình.
  2. Cấu hình các connectors: Airbyte hỗ trợ nhiều connectors khác nhau để kết nối với các nguồn dữ liệu khác nhau. Bạn cần cấu hình các connectors để kết nối với các nguồn dữ liệu mà bạn muốn đồng bộ hóa.
  3. Tạo một connection: Sau khi cấu hình các connectors, bạn có thể tạo một connection. Connection đại diện cho một kết nối giữa một nguồn dữ liệu và Airbyte.
  4. Tạo một job: Sau khi tạo connection, bạn có thể tạo một job để đồng bộ dữ liệu từ nguồn dữ liệu đó với một mục đích cụ thể. Bạn có thể đặt lịch cho job này để nó chạy định kỳ.
  5. Quản lý job: Bạn có thể quản lý các job đã tạo, xem lịch sử chạy và xử lý lỗi khi có lỗi xảy ra.
  6. Tích hợp Airbyte với hệ thống của bạn: Airbyte cung cấp các API để tích hợp với hệ thống của bạn. Bạn có thể sử dụng API này để truy cập và quản lý các connection và job từ ứng dụng của bạn.

Trên đây là các bước cơ bản để sử dụng Airbyte. Bạn có thể tìm thêm thông tin chi tiết về cách sử dụng Airbyte trên trang web của nó hoặc trên tài liệu hướng dẫn của Airbyte.

Tiến hành cài đặt Airbyte và host bằng EC2-linux

Làm theo các bước tại: https://docs.airbyte.com/deploying-airbyte/on-aws-ec2

Nếu gặp lỗi: permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.46/containers/json?all=1&filters=%7B%22label%22%3A%7B%22com.docker.compose.config-hash%22%3Atrue%2C%22com.docker.compose.project%3Dairbyte%22%3Atrue%7D%7D": dial unix /var/run/docker.sock: connect: permission denied. Dưới đây là các bước để khắc phục:

  1. Cài đặt docker-compose:
    Nếu docker-compose chưa được cài đặt, bạn cần cài đặt nó. Với hệ thống dựa trên Amazon Linux (giống như bạn đang sử dụng EC2), bạn có thể cài đặt docker-compose bằng cách sử dụng các lệnh sau:
1
2
sudo curl -L "https://github.com/docker/compose/releases/download/v2.29.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

Sau khi cài đặt, kiểm tra phiên bản của docker-compose:

1
docker-compose --version
  1. Đảm bảo docker-compose có trong PATH khi dùng sudo:
    Nếu bạn đã cài đặt docker-compose mà vẫn gặp lỗi khi sử dụng sudo, bạn có thể cần chỉ rõ đường dẫn đầy đủ tới docker-compose khi chạy với sudo.

Ví dụ:

1
sudo /usr/local/bin/docker-compose up
  1. Sử dụng lệnh docker compose:
    Kể từ phiên bản Docker 20.10, docker-compose đã trở thành một plugin tích hợp trong Docker, và bạn có thể sử dụng lệnh docker compose thay vì docker-compose.

Thử chạy lệnh:

1
sudo docker compose up

Bằng cách làm theo các bước này, bạn sẽ có thể khắc phục được lỗi và tiếp tục quá trình khởi động Docker Compose cho Airbyte.

  1. Mở inbound TCP port 8000 để tiến hành truy cập public với account: airbyte, password: password

Hướng dẫn sử dụng Airbyte Cloud

Do việc cài đặt trên máy local, tiến hành cài đặt phải cài đặt thêm docker và việc để config rất khó nên ta sẽ chuyển sang một hướng đơn giản hơn là sử dụng Airbyte Cloud.

Lên google search Airbyte Cloud và tạo tài khoản đăng nhập console của nó:

  • Giao diện khá dễ sử dụng và thân thiện:
  • Click vào từng nguồn source để chọn và gán: cái này mình nghĩ ai cx làm đc thoyyy
  • Tương tự với Destination: cứ nhập mấy cái họ yêu cầu hoặc làm theo doc ở ngay bên cạnh
  • Đơn giản nhất là cấu hình source với google sheet:
  • Sau đó đến destination là S3

Bắt đầu với source

Dùng sheet là nhanh nhất chỉ cần auth google xong gắn link sheet cái là được

Tiếp đến cái mongodb thì khá hên xuii nha, nếu gặp lỗi định dạng url thì nhớ load lại trang còn nó có hướng dẫn đủ ở đấy rồi :V

big query thì cũng hơi lòng vòng

Bắt đầu với destination

Tôi mới test thử với s3 và gặp khá nhiều chắc trở

Điển hình thì

S3 Key ID

S3 Access Key

-> Chính là cái tài khoản IAM user mà tự lập, méo hiểu sao lúc trước tôi thử thì lại không được, đến lúc hỏi lại a lead thì lại được, ảo thật :))

Các cái khác điền như thường

Giá cả

Giá cả thì họ nhà airbyte này khá đắt đỏ, ae có thể xem tại đây: https://airbyte.com/pricing. Tôi sẽ tóm tắt một số cái như sau:

Để sử dụng Airbyte để tích hợp dữ liệu, chi phí sẽ phụ thuộc vào khối lượng dữ liệu bạn cần đồng bộ hóa và loại nguồn dữ liệu bạn sử dụng. Chi phí được tính bằng tín dụng, với mỗi tín dụng có giá 2,50 USD. Dưới đây là chi phí cụ thể cho từng loại nguồn dữ liệu:

  • Nguồn API: Bạn sẽ mất 15 USD cho mỗi triệu hàng dữ liệu được đồng bộ hóa, tương đương với 6 tín dụng cho mỗi triệu hàng.
  • Nguồn cơ sở dữ liệu, kho dữ liệu, và tệp: Bạn sẽ mất 10 USD cho mỗi GB dữ liệu được đồng bộ hóa, tương đương với 4 tín dụng cho mỗi GB.
  • Nguồn tùy chỉnh: 15 đô la cho mỗi triệu hàng được đồng bộ hóa hoặc 6 tín dụng.
    Ngoài ra, nếu bạn mua tín dụng với số lượng lớn, bạn có thể nhận được ưu đãi giảm giá. Bạn cũng có thể dùng thử 14 ngày miễn phí với 400 tín dụng để trải nghiệm dịch vụ trước khi quyết định mua​ (Airbyte)​ (Airbyte)​ (Airbyte).

Tính ra giá hơi bị ban căng, cho nên là tôi đang nghiên cứu cách để clone về xong host luôn trên máy, sinh viên làm gì có tiền phải chơi cách này thôi, hoặc là đi săn credit airbyte.

Airbyte hoạt động như thế nào

Kết nối dữ liệu từ nhiều nguồn khác nhau thông qua cổng, đầu nối được tạo sẵn.
Nền tảng này hỗ trợ cả phương pháp trích xuất dữ liệu đầy đủ và gia tăng, cho phép truyền dữ liệu hiệu quả
Airbyte cũng cung cấp các tính năng để chuyển đổi và xác thực dữ liệu, đảm bảo dữ liệu ở đúng định dạng và có chất lượng cao
Ngoài ra, nó còn cung cấp khả năng giám sát, cho phép người dùng theo dõi hiệu suất của đường dẫn dữ liệu của họ và thực hiện các điều chỉnh cần thiết.

Ánh xạ lược đồ

Nền tảng này cung cấp các tính năng ánh xạ lược đồ, cho phép người dùng xác định cách cấu trúc dữ liệu từ nguồn ở đích, đảm bảo tính nhất quán và chính xác.

Một số vấn đề với Airbyte

  1. Thằng Airbyte khi nó migrate data thì mấy liên kết bảng đi hết, em tìm document hay issue về vấn đề này mà mãi k ra. Hi vọng repo sắp tới sẽ giúp được

  1. Airbyte có thể xử lý khối lượng dữ liệu lớn bao nhiêu?

Airbyte được thiết kế để xử lý khối lượng dữ liệu lớn một các hiệu quả. Nó đã được test và chứng minh là hoạt động mượt. 40GB là một con số cho phép.

Tài liệu tham khảo

https://www.morningdough.com/vi/ai-tools/airbyte/
https://tableau.edu.vn/huong-dan-su-dung-airbyte-phan-1-gioi-thieu-airbyte/
https://tableau.edu.vn/huong-dan-su-dung-airbyte-phan-2-thao-tac-co-ban-voi-airbyte/
https://airbyte.com/community/airbyte-community-call
https://course.noha.vn/t/airbyte-ho-tro-dong-bo-du-lieu-giua-cac-nguon-du-lieu-khac-nhau/36/4 — Đồng bộ dữ liệu giữa các nguồn dữ liệu khác nhau chi tiết (hay)