如何设计一个高性能的日志系统

需求:
1、系统采用B/S架构,要求能够记录客户端的任何事件,比如单击了某个按钮或者链接;
2、要求能够记录用户每次操作时后台代码使用到的SQL和参数,比如添加数据时的SQL语句和具体的Parameter;
3、将1和2串联或者合并起来,意思就是我在分析日志时,能够在查询客户端事件时也能看到后台的SQL语句和参数;
4、2年内数据达到20亿条记录,采用什么样的数据库比较合适,非关系行的MongoDB还是关系型的Oracle;

4、什么数据库都没关系吧,分成历史表和业务表,业务表保存近期几天的日志,插入的速度会快一两个数量级。查询统计一般用历史表就够了。多线程大查询情况下,查询和插入分开后两个动作都会快很多滴

参考:Apache Flume 吧。有些需求是要你记录日志是自己实现的。

参考:Apache Flume 吧。有些需求是要你记录日志时自己实现的。