是我们一个学生的毕业项目,用了大概一个月实现的。请大家拍砖:
代码在这里:
https://github.com/tracebin/tracebin-ruby
一些实现的细节/心得: https://traceb.in/story
mark,最近正好在思考给 midori 添加性能监控的功能,但因为不支持 rack 中间件,没有现成的方案。开源的方案也不好找,没什么可以参考的思路。感觉这个很适合,可以抽空读一下代码。
一个月能实现这样的系统我是跪着看完的,赞美的就不多说了,既然楼主提到『拍砖』,就说一些不足的。我觉得后端那块设计的太粗糙,粗略看了一下索引加的也不是很完美。这样的系统挑战之一是后端在海量数据下的查询分析效率,看了下目前的实现,对于像 ruby china 这样访问规模的系统,一段时间后,racebin 很难达到毫秒级或是秒级响应。
后端花的时间少些确实很粗糙,确实会有性能问题。现在希望能有些大站入驻能够更好地观察实际的数据。这类大量写入查询分析的项目还是挺有意思的,欢迎有兴趣的同学参与开发
其实用 citus 或 greenplum 就可以,兼容 pg… 列存储不是必须,可以 MPP 就行。
redshift 要收费,并且没本地环境,只提供云服务。
列存储好像 pg 有个 cstore_fdw 扩展