Tinybird 是一个面向开发者和数据团队的实时数据分析平台。它基于 ClickHouse 数据库,帮助用户快速将大规模数据转化为实时洞察和 API。用户可以通过 SQL 查询处理数据,无需复杂的基础设施管理,就能构建低延迟、高并发的 REST API。平台支持从多种数据源摄取数据,并提供 Git 集成、CLI 工具和开箱即用的测试功能。Tinybird 强调简单易用,开发者只需几分钟就能创建数据产品。它适合需要快速构建用户界面仪表板、实时个性化推荐或大规模数据分析的团队。平台提供免费试用计划,适合快速验证概念或小型生产应用。
功能列表
- 实时数据摄取:支持从 Kafka、S3、Google Cloud Storage 等多种数据源实时导入数据。
- SQL 查询与管道:通过 SQL 编写数据处理逻辑,创建可复用的数据管道。
- API 自动生成:将 SQL 查询快速发布为低延迟、高并发的 REST API,支持 Swagger 文档。
- Git 集成与 CI/CD:通过 Git 管理数据管道,支持版本控制和自动化部署。
- 本地开发支持:提供 Docker 镜像和 CLI 工具,支持本地测试和开发。
- 数据安全:支持 JWT 认证、行级安全和多租户访问控制,符合 GDPR 和 SOC 2 Type 2。
- 监控与优化:内置 observability UI,提供 API 延迟和数据处理统计,优化性能。
- AI 集成:通过 Tinybird Code 和 MCP 服务器,支持 AI 代理直接访问数据。
- 数据导出:支持将查询结果导出到 Kafka、S3 或 Google Cloud Storage。
使用帮助
安装与初始设置
Tinybird 是一个云端平台,无需复杂安装,但需要通过 CLI 或网页界面进行设置。以下是详细步骤:
- 注册账户:
- 访问
https://cloud.tinybird.co/
,使用 Google、Microsoft、GitHub 或邮箱注册。 - 选择适合的云区域(如 US、EU),创建工作空间(Workspace)。
- 访问
- 安装 Tinybird CLI:
- 在终端运行以下命令安装 CLI 工具:
curl -sSL https://tinybird.co | bash
- 将 CLI 添加到 PATH 环境变量:
export PATH="/Users/your_username/.local/bin:$PATH"
- 登录 Tinybird:
tb login
浏览器会自动打开,完成认证。
- 在终端运行以下命令安装 CLI 工具:
- 本地开发环境:
- 运行本地 Tinybird 实例:
tb local start
这将在 Docker 容器中启动 Tinybird,适合本地测试。
- 创建新项目:
tb create
这会生成项目目录,包含数据源、管道和端点文件。
- 运行本地 Tinybird 实例:
数据摄取
Tinybird 支持多种数据源的实时摄取:
- 从 Kafka 摄取:使用原生 Kafka 连接器,将 Kafka 主题数据流直接导入 Tinybird 数据源。
- 配置 Kafka 数据源:
tb datasource connect kafka --topic your_topic
- 配置 Kafka 数据源:
- 从 S3 导入:支持从 Amazon S3 导入文件,支持通配符和定时导入。
- 示例命令:
tb datasource connect s3 --bucket your_bucket --prefix your_prefix
- 示例命令:
- HTTP 事件摄取:通过 Events API 直接发送数据:
curl -X POST 'https://api.tinybird.co/v0/events?name=analytics_events' \ -H "Authorization: Bearer $TB_TOKEN" \ -d '{"timestamp":"2025-07-25T01:12:00Z","event":"click","user_id":"123"}'
创建数据管道
数据管道通过 SQL 查询定义,存储在 .pipe
文件中。以下是创建简单管道的步骤:
- 在
pipes/
目录下创建文件,如page_views.pipe
:NODE page_views SELECT count(*) as views, page_url FROM analytics_events GROUP BY page_url
- 部署管道:
tb --cloud deploy
- 将管道发布为 API 端点:
- 在 Tinybird UI 中选择管道,点击“Publish as API Endpoint”。
- 获取 API URL,如
https://api.tinybird.co/v0/pipes/page_views.json
。
发布 API
Tinybird 自动将 SQL 查询转换为 REST API:
- 生成 API:在 UI 中选择管道,点击“Create Endpoint”,设置动态参数和认证方式(如 JWT)。
- 访问 API:使用生成的 Token 调用:
curl 'https://api.tinybird.co/v0/pipes/page_views.json?token=TB_TOKEN'
- 支持多租户:通过行级安全(Row-Level Security)限制数据访问:
SELECT * FROM page_views WHERE tenant_id = {{tenant_id}}
数据可视化
Tinybird 支持与 Grafana、React 等工具集成,快速构建仪表板:
- Grafana 集成:使用 ClickHouse 插件连接 Tinybird 数据源,绘制实时图表。
- React 仪表板:结合 Tremor 组件库,使用 Tinybird API 构建动态仪表板:
import { Chart } from 'tremor/react'; fetch('https://api.tinybird.co/v0/pipes/page_views.json?token=TB_TOKEN') .then(response => response.json()) .then(data => <Chart data={data} />);
AI 功能
Tinybird Code 允许 AI 代理直接操作数据:
- 配置 MCP 服务器:
from agno.agent import Agent from agno.models.anthropic import Claude from agno.tools.mcp import MCPTools tinybird_api_key = os.getenv("TINYBIRD_TOKEN") async def main(): async with MCPTools(url=f"https://mcp.tinybird.co?token={tinybird_api_key}") as mcp_tools: agent = Agent(model=Claude(id="claude-4-opus-20250514"), tools=[mcp_tools]) await agent.aprint_response("top 5 pages with most visits in last 24 hours")
- AI 代理会自动生成 SQL 查询并返回结果。
性能优化
- 物化视图:加速聚合查询:
CREATE MATERIALIZED VIEW page_views_mv TO page_views_summary AS SELECT count(*) as views, page_url FROM analytics_events GROUP BY page_url;
- 监控性能:通过 Tinybird UI 查看 API 延迟和数据处理统计,优化查询效率。
应用场景
- 实时用户仪表板
企业需要为客户提供实时数据分析界面,如网站访问量或产品点击量。Tinybird 通过 SQL 查询和 API 快速生成仪表板数据,支持高并发访问。 - 游戏数据分析
游戏开发者需要实时监控玩家行为,如关卡完成率。Tinybird 摄取游戏事件流,生成实时排行榜或个性化推荐。 - 电商个性化推荐
电商平台希望根据用户行为实时推荐商品。Tinybird 从 Kafka 摄取点击流数据,生成推荐 API,集成到前端。 - 异常检测
金融或物联网系统需要检测异常事件。Tinybird 使用 SQL 分析实时数据流,快速识别异常模式。
QA
- Tinybird 是否需要管理服务器?
Tinybird 是完全托管的 serverless 平台,用户无需管理服务器或担心扩展问题。开发者只需专注于数据处理和 API 构建。 - 如何确保数据安全?
Tinybird 支持 JWT 认证、行级安全和多租户访问控制,符合 GDPR 和 SOC 2 Type 2 标准,所有数据默认加密。 - 是否支持本地开发?
是的,Tinybird 提供 Docker 镜像和 CLI 工具,开发者可以在本地运行和测试项目。 - Tinybird 的免费计划限制是什么?
免费计划提供时间无限制的使用,适合概念验证或小型应用,但有数据量和查询次数限制,具体可在https://www.tinybird.co/pricing
查看。