为什么需要Minimalytics?
在资源受限的服务器环境中,传统SaaS分析工具常因高存储消耗或免费额度限制而难以满足需求。Minimalytics应运而生——它通过SQLite数据库和Go语言实现,以仅20MB的存储空间支持每月超10亿事件处理,成为开发者和企业的理想选择。
核心功能与优势
1. 极简设计,高效资源利用
- 低存储占用:事件聚合存储技术将数据压缩至约20MB/月,避免原始日志膨胀。
- 内存优化:Go语言构建的服务端进程内存占用低于50MB,适合VPS和小型服务器。
- 内置可视化:通过Web UI(minimui)快速生成交互式图表,无需额外部署BI工具。
2. 快速集成与扩展
- API驱动:一条CURL命令即可记录事件:
curl -X POST http://localhost:3333/api/event/ -d '{\"event\": \"user_signup\"}'
- 灵活部署:支持Linux/macOS一键安装,
minim
命令行工具提供服务器管理、Web控制台开关等功能。
3. 企业级扩展性
- 横向扩展:通过分库分表策略,可轻松扩展至多节点部署。
- 未来路线图:即将支持多维度聚合(求和、平均值)和漏斗分析,满足复杂业务场景。
实战指南:5分钟搭建分析系统
步骤1:安装与启动
git clone https://github.com/nafey/minimalytics.git
cd minimalytics && go build -o build/minim .
sudo mv build/minim /usr/local/bin/
minim server start
步骤2:配置数据看板
- 访问
http://localhost:3333
进入控制台 - 在「First Dashboard」中添加图表,选择时间范围和事件类型
- 实时监控关键指标(如日活、API调用量)

高级技巧:禁用Web控制台
对安全性要求高的场景,可通过命令关闭Web访问:
minim web disable
技术架构解析
存储层设计
- SQLite优化:利用
WITH RECURSIVE
实现时间窗口聚合,避免全表扫描。 - 数据分区:按小时/天自动分表,提升查询性能。
服务端逻辑
- 事件预处理:接收数据后立即进行计数累加,原始日志仅保留48小时。
- API轻量化:单端点设计(
/api/event/
)减少协议开销,QPS可达10,000+。
适用场景与限制
推荐使用场景
- 内部服务监控(如微服务调用统计)
- 中小型网站用户行为分析
- IoT设备数据采集
当前限制
- 不支持原始事件明细查询
- 时间粒度限制:超过48小时的数据仅保留日级聚合
未来展望与社区参与
开发团队计划新增多图表联动和用户分群分析功能。开发者可通过以下方式参与:
- Fork仓库并提交Pull Request
- 在minimui贡献前端组件
- 提交Issue反馈使用场景需求
立即访问GitHub仓库开始使用,或在评论区分享你的部署经验!