RT,手机版游戏用的 Linux 服务器,负责人说 Linux 不用写日志到数据库,写到文本文件就好了,很容易分析出来....
其实我是想喷他的,奈何他是老大。 有没有什么语言能够快速分析这种大文本文件的,我去学下...
其实我是想喷他的,奈何他是老大。 有没有什么语言能够快速分析这种大文本文件的,我去学下...
|
iyaozhenJul 5, 2016 via Android
1
→_→为什么要写日志到数据库,数据库远没有文件稳定呀。写数据库业务还要处理数据库的连接,效率和性能都不高。
分析日志然后入库有个专业术语叫 ETL ,简单的可以用 Python 、 shell 来做一天几百 g 的日志完全没问题,数据量大的就要用 Hadoop , spark 这一套了 |
|
sorraJul 5, 2016
2
大多数语言,只要支持文件流,一段一段读进来。例如 Java FileReader
|
|
b821025551bJul 5, 2016
3
日志有多大?每天到 Tb 级别了么?没到 Tb 用文本没什么问题, shell 脚本还是很强大的。
|
|
jugeliziJul 5, 2016
4
文件日志有什么问题?
|
|
9hillsJul 5, 2016
5
你老大说的对,日志写数据库的才是脑抽。日志里提取的数据才需要写到数据库里
|
|
9hillsJul 5, 2016
6
另外日志处理的速度基本取决于 IO 速度。。
|
|
fcicqJul 5, 2016
7
除了不能和结构化比压缩比以外没缺点. 数据库不好好搞根本达不到这个对比点.
|
|
qiayueJul 5, 2016
8
ZB 不成反被 C
|
|
JayleeJul 5, 2016
9
小伙子 你要走的路还长啊
|
|
h4x3rotabJul 5, 2016 via iPhone
10
导入分布式文件系统跑 mapreduce
|
|
xuboyingJul 5, 2016 via Android
11
也有运维用 elk 作为解决方案,类似数据库,当然纯文本数据分析绝对是 Perl/Python 的天下。
|
|
cszhiyueJul 5, 2016
12
你们老大说得对
|
|
changshuJul 5, 2016
13
如果数据库指的是关系数据库的话, 你老大干得对
|
|
3dwelcomeJul 5, 2016 via Android
14
大家没理解楼主的意思…楼主是问如何 sql 语句来解析文本 log 。
没数据库无所谓…没 select 可怎么活。 |
|
omengyeJul 5, 2016
15
之前用 c++读文本文件,十多个 G 也就几秒钟读个遍。只需要把文件中需要的东西整理出来入库我觉得就行,两个程序一个读、一个入库方便查询。如果只是用来统计日志信息的
|
|
droizJul 5, 2016
16
日志写文件里很正常+正确+普遍啊,,,
|
|
gulucnJul 5, 2016
17
你老大说的对,正确的处理流程应该是程序写日志,然后工具扫描日志进行处理,可以导入数据库或其他处理的。
|
|
qqmishiJul 5, 2016
18
日志不处理直接写到数据库才叫好玩, linux 下用 sed 、 awk 、 grep 三个可以很好的处理大型文本文件了
|
|
ototsuyumeJul 6, 2016
19
有些日志可以写入 OLAP 做优化的 db 方便做分析,比如广告点击的 log 。但是假如你的日志是单纯用来 debug 的那写数据库就是脑抽了
|
|
m939594960Jul 6, 2016
20
围观楼主被打脸
|
|
testlcJul 6, 2016
21
有相对固定的格式,就映射到内存用 c 去抠字节。
|
|
22
啪啪啪 脸好疼 我也没描述清楚... 现在是来分析用户对战纪录等一些结构化数据日志, 我觉得用文本形式还得把字符串解析成运营能看懂的表格模式... 数据库可以直接查,文本型不太方便
|
|
domtyJul 6, 2016
23
@zander1024
你完全可以写个定时脚本去分析日志然后转存。 实时记录日志,如果日志内容过多的话会给影响相应速度的吧。 也可以搞个消息队列之类的东西。操作完成后给队列插一条消息让消息队列自己去记录日志。 |