Introduction
Actionbase is a database for serving user interactions in real time, production-proven across Kakao services.
Follows, likes, recent views, related content — they are all interaction data. Every interaction is expressed in the same model — who did what to which target (source → action → target) — and the combination of source and target yields three axes:
- User–User (U2U) — follow/unfollow, follower/following counts, timeline scans
- User–Item (U2I) — likes/bookmarks, view history, bidirectional counters
- Item–Item (I2I) — related products, similar-content graphs, and other precomputed item-to-item relations
Actionbase materializes read-optimized structures at write time. Reads use bounded access patterns (GET, COUNT, SCAN) without expensive computation.
When backed by HBase, Actionbase inherits durability and horizontal scalability.
| Focuses on | Explicitly avoids |
|---|---|
| Real-time interactions across U2U / U2I / I2I | General-purpose graph queries |
| Bounded access patterns (GET, COUNT, SCAN) | Unbounded traversal or analytics |
| Continuous writes, immediate reads | Batch ingestion or deferred indexing |
| WAL/CDC to Kafka (yours or ours) | Owning downstream processing |
| Pluggable storage (HBase now, others planned) | Building yet another storage engine |
Storage Backend
Section titled “Storage Backend”Actionbase currently uses HBase as its primary storage backend. Lighter backends are planned for smaller deployments.
Production Usage
Section titled “Production Usage”Used at Kakao services—primarily KakaoTalk Gift—handling over a million requests per minute. Running in stable production for years.
Next Steps
Section titled “Next Steps”- Quick Start — Try Actionbase in minutes
- Core Concepts — Understand the design