深入解析Mixpanel基础设施

Mixpanel’s analysis UI is powered by an in-house database called Arb, which is built for ingesting, storing, and querying trillions of events in real-time. This page covers the core aspects of our design, the pain points it eliminates for users, and how it compares to other systems.

Mixpanel的分析UI由一种名为Arb的内部数据库提供支持,该数据库专为实时接收、存储和查询数万亿个事件而构建。本页面介绍了我们设计的核心方面,消除了用户的痛点,并与其他系统进行了比较。

A segmented funnel in Mixpanel, computed dynamically on top of billions of events in real-time.

Event-Centric

事件中心

Mixpanel is built for ingesting, storing and querying events. Each event has a name, a timestamp, a unique identifier, a distinct_id that identifies the entity that performed the event, and a JSON blob of properties.

Mixpanel专为接收、存储和查询事件而构建。每个事件都有一个名称、时间戳、唯一标识符、标识执行事件的实体的distinct_id,以及一个属性的JSON blob。

{
"event": "Signed up",
"properties": {
"time": 1618716477000,
"distinct_id": "alice@mixpanel.com",
"$insert_id": "29fc2962–6d9c-455d-95ad-95b84f09b9e4",
"Referred by": "Friend",
"URL": "mixpanel.com/signup",
}
}

{
"event": "注册",
"properties": {
"time": 1618716477000,
"distinct_id": "alice@mixpanel.com",
"$insert_id": "29fc2962–6d9c-455d-95ad-95b84f09b9e4",
"推荐人": "朋友",
"URL": "mixpanel.com/signup",
}
}

Events are a simple and powerful way of collecting and storing data for the following reasons:

事件是一种简单而强大的方式来收集和存储数据,原因如下:

  • Events map cleanly to real-world actions. When something happens at a point in time to a user, you can track it with all the context you know about that event.
  • 事件与现实世界的行为相匹配。当某个事件在某个时间点发生在用户身上时,您可以跟踪该事件及其相关上下文。
  • Events are granular. Any question about user engagement, conversion, or retention can be modeled as an aggregation over a user’s event stream. The event data model makes no assumption about the queries it might receive, so it serves as a flexible foundation to power arbitrary queries. Events can be summarized by any property (to form a metric) or segmented by any property (to drill down into a metric) completely on-the-fly.
  • 事件是粒度化的。关于用户参与度、转化率或保留率的任何问题都可以建模为对用户事件流的聚合。事件数据模型不对可能收到的查询做任何假设,因此它作为一个灵活的基础来支持任意查询。事件可以根据任何属性进行汇总(形成指标),或者根据任何属性进行分段(深入了解指标),完全实时进行。
  • Events are immutable and append-only. When so...
开通本站会员,查看完整译文。

首页 - Wiki
Copyright © 2011-2024 iteam. Current version is 2.137.1. UTC+08:00, 2024-11-22 11:31
浙ICP备14020137号-1 $访客地图$