{"id":37230717,"url":"https://github.com/kakao/actionbase","last_synced_at":"2026-01-25T15:04:09.492Z","repository":{"id":332027379,"uuid":"1093894840","full_name":"kakao/actionbase","owner":"kakao","description":"A database for serving user interactions at scale.","archived":false,"fork":false,"pushed_at":"2026-01-12T08:44:09.000Z","size":1948,"stargazers_count":40,"open_issues_count":5,"forks_count":3,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-01-12T10:36:49.685Z","etag":null,"topics":["database","graph","high-throughput","low-latency","oltp"],"latest_commit_sha":null,"homepage":"https://actionbase.io","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kakao.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE.md","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-11T01:36:04.000Z","updated_at":"2026-01-12T08:44:05.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/kakao/actionbase","commit_stats":null,"previous_names":["kakao/actionbase"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/kakao/actionbase","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kakao%2Factionbase","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kakao%2Factionbase/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kakao%2Factionbase/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kakao%2Factionbase/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kakao","download_url":"https://codeload.github.com/kakao/actionbase/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kakao%2Factionbase/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28442310,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-15T00:55:22.719Z","status":"online","status_checked_at":"2026-01-15T02:00:08.019Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["database","graph","high-throughput","low-latency","oltp"],"created_at":"2026-01-15T03:39:53.526Z","updated_at":"2026-01-25T15:04:09.478Z","avatar_url":"https://github.com/kakao.png","language":"Kotlin","readme":"# Actionbase\n\n\u003e 🚀 **Open-sourced** — [Learn more](https://actionbase.io/blog/open-source-announcement/)\n\nLikes, recent views, follows—look simple, but get complex as you scale, and end up rebuilt again and again.\n\nActionbase is a database for serving these user interactions at scale. Currently backed by HBase, built at Kakao, handling over a million requests per minute for years.\n\n## Quick Start\n\n**1. Run**\n\n```bash\ndocker run -it ghcr.io/kakao/actionbase:standalone\n```\nRuns server (port 8080) in background, CLI (`actionbase\u003e`) in foreground.\n\n**2. Load sample data**\n\n```\nload preset likes\n```\nLoads metadata and 3 edges:\n```\nAlice --- likes ----\u003e +--------+\n                      | Phone  |\nBob ----- likes ----\u003e +--------+\n      |\n      |               +--------+\n      +-- likes ----\u003e | Laptop |\n                      +--------+\n```\n\n**3. Query** — Precomputed. Just read.\n\n```\nget --source Alice --target Phone                # Alice → Phone\nscan --index recent --start Bob --direction OUT  # Bob → Laptop, Bob → Phone\nscan --index recent --start Phone --direction IN # Alice → Phone, Bob → Phone\ncount --start Alice --direction OUT              # 1\ncount --start Phone --direction IN               # 2\n```\n\n\u003ca href=\"https://actionbase.io/quick-start/\"\u003e\n  \u003cimg src=\"website/public/images/quick-start/quickstart.svg\" alt=\"Actionbase Quick Start Demo\" /\u003e\n\u003c/a\u003e\n\nSee [Quick Start](https://actionbase.io/quick-start/) for more details, or [Build Your Social Media App](https://actionbase.io/guides/build-your-social-media-app/) to go deeper.\n\n## How It Works\n\nActionbase serves interaction-derived data that powers feeds, product listings, recommendations, and other user-facing surfaces.\n\nInteractions are modeled as: **who** did **what** to which **target**\n\nAt write time, Actionbase precomputes everything needed for reads—accurate counts, consistent toggles, and ordering information for sorting and querying. At read time, there's no aggregation or additional computation. You simply read the precomputed results as they are.\n\nSupported operations focus on high-frequency access patterns:\n\n* Edge lookups (GET, multi-get)\n* Edge counts (COUNT)\n* Indexed edge scans (SCAN)\n\n## When (Not) to Use It\n\nUse Actionbase when:\n- A single database no longer scales for your workload\n- Interaction features are rebuilt repeatedly across teams\n- You need predictable read latency without read-time computation\n\nIf a single database can handle your workload, that's the better choice.\n\n## Architecture\n\nActionbase writes to HBase for storage and emits a WAL to Kafka for recovery, replay, and downstream pipelines. HBase provides strong durability and horizontal scalability.\n\n```\nClient\n  │\n(REST API)\n  │\nActionbase\n  ├──\u003e HBase (Storage for user interactions)\n  │\n  ├──\u003e JDBC (Metastore, to be consolidated)\n  │\n  └──\u003e Kafka (WAL/CDC) ──\u003e Downstream Pipelines\n```\n\nAdditional storage backends are planned for small to mid-size deployments.\n\n## Codebase Overview\n\n* **core** — Data model, mutation, query, encoding logic (Java, Kotlin)\n* **engine** — Storage and messaging bindings (Kotlin)\n* **server** — REST API server (Kotlin, Spring WebFlux)\n* **pipeline** *(planned)* — Bulk loading and CDC processing (Scala, Spark)\n\n## Current Status\n\nEarly open-source preparation phase. The first release focuses on introducing core concepts and hands-on guides. Production installation, operations guides, and additional components will be released over time.\n\n## Contribute\n\nWe welcome contributions. See our [Contributing Guide](https://actionbase.io/community/contributing/).\n\nFor questions, ideas, or feedback, join us on [GitHub Discussions](https://github.com/kakao/actionbase/discussions/).\n\n## Learn More\n\n* [Documentation](https://actionbase.io/)\n* [Roadmap](ROADMAP.md)\n* [Actionbase at if(kakaoAI) 2024](https://www.youtube.com/watch?v=8-hVAFVHISE) (YouTube, Korean)\n\n## License\n\nThis software is licensed under the [Apache 2 license](LICENSE).\n\nCopyright 2026 Kakao Corp. \u003chttp://www.kakaocorp.com\u003e\n\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not\nuse this project except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0.\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\nWARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\nLicense for the specific language governing permissions and limitations under\nthe License.\n","funding_links":[],"categories":["Graph Data Model","Databases","Projects","数据库"],"sub_categories":["Frameworks","Spring Cloud框架"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkakao%2Factionbase","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkakao%2Factionbase","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkakao%2Factionbase/lists"}