理解研究阿里云-日志服务的用途是:
将研发游戏产品日志数据全部落地,例如角色的注册、登录、充值、消耗、升级、通关等日志信息。并对数据能及时通过分析语句统计汇总展示。选用阿里云日志服务说到底还是懒,想快速部署大数据上线,不用对kafka、hadoop、hdfs、kudu、presto等大数据技术过度研究和不用花大量资金采购服务器部署,降低成本。
概念
日志服务几个概念:
名称 | 字段名 | mysql数据库对应 |
---|---|---|
项目 | Project | 数据库 |
日志库 | Logstore | 数据表 |
分区 | Shard | 表分区 |
日志 | Log | 一条记录 |
日志主题 | Topic | - |
名称 | 说明 |
---|---|
Logstore | 日志库 |
LogHub | 数据采集配置和消费配置 |
Logtail | 数据采集配置 |
LogShipper | 数据投递 |
字段索引
在数据上报中途添加了索引后,旧数据是不会生效,只对新数据索引有效。所以:
- 1.要么 一开始就开启
全文索引
。 - 2.要么 在做数据格式处理时,一定要想清楚对哪些字段进行索引添加。
- 3.在开启索引后,系统会默认将相关保留字段开启为字段索引,如
__topic__
。 - 4.自定义字段索引时,
开启统计
默认开启,作用 可以结合 查询语句 和 SQL分析语句,对日志查询结果进行统计分析。
与mysql保持对应关系
在使用日志服务,永远建议
基于mysql数据库和数据表来进行。创建数据库对应日志的项目
,创建数据表对应日志的日志库
。
日志备份
将外部数据采集到 Logstore 后,可对 Logstore 数据投递到 OSS 处进行永远落地保存,防止丢失。投递到 OSS 建议使用 google snappy 进行压缩,减少空间占用。
linux 对 snappy 解压操作:
https://help.aliyun.com/document_detail/108942.html
php 对 snappy 的压缩和解压操作:
https://github.com/kjdev/php-ext-snappy
git clone --recursive --depth=1 https://github.com/kjdev/php-ext-snappy.git
cd php-ext-snappy
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
extension = snappy.so
压缩与解压
$compressed = snappy_compress('Compress me');
$uncompressed = snappy_uncompress($compressed);
echo $uncompressed;