38 | MySQL:日志和数据存储系统
景霄
该思维导图由 AI 生成,仅供参考
你好,我是景霄。今天这节课,我们来聊聊日志和存储系统。
在互联网公司中,日志系统是一个非常重要的技术底层。在每一次重要的交互行为中,关键信息都会被记录下来存档,以供日后线下分析,或者线上实时分析。这些数据,甚至可以说是硅谷互联网大公司的命脉所在。
有了它们,你才能建立机器学习模型来预测用户的行为,从而可以精确描绘用户画像,然后针对性地使用推荐系统、分类器,将用户进一步留下,并精准推送广告来盈利。
在量化交易中,日志同样有着非常重要的作用。一如前面所讲,我们重要的数据有:行情数据、策略信号、执行情况、仓位信息等等非常多的信息。
对于简单的、小规模的数据,例如 orderbook 信息,我们完全可以把数据存在 txt、csv 文件中,这样做简单高效。不过,缺点是,随着数据量上升,一个文件将会变得非常大,检索起来也不容易。这时,一个很直观的方式出现了,我们可以把每天的数据存在一个文件中,这样就暂时缓解了尴尬。
但是,随着数据量的上升,或者是你的算法逐渐来到高频交易领域时,简单地把数据存在文件上,已经不足以满足新的需求,更无法应对分布式量化交易系统的需求。于是,一个显而易见的想法就是,我们可以把日志存在数据库系统中。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文介绍了MySQL在日志和存储系统中的应用,以及使用Python操作MySQL的方式。文章首先介绍了MySQL在互联网公司和量化交易中的重要性,以及将日志存储在数据库系统中的必要性。随后详细介绍了Python操作MySQL数据库的方式,包括使用mysqlclient和peewee两种方式。mysqlclient是流行的Python连接MySQL的驱动,而peewee是基于Python的ORM框架,能够让SQL语言瞬间变成强类型语言,提高可读性和减少bug概率。接着,文章讨论了分布式日志系统的重要性和运行模块之间的对应关系,以及日志分析的离线和在线应用。最后,强调了数据处理对于数据科学家和量化从业者的重要性,并提出了思考题,引发读者思考。整体而言,本文从工程的角度介绍了量化系统中的存储系统,强调了数据库和数据在互联网行业和量化交易中的重要性,以及搭建一套负载合理、数据可靠的数据系统的必要性。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Python 核心技术与实战》,新⼈⾸单¥59
《Python 核心技术与实战》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(14)
- 最新
- 精选
- 建强思考题: 对于高频调用数据,可以考虑在系统启动时把数据从数据库中一次性加载到内存中,并以某种数据结构如DataFrame之类的存贮结构化数据,或以键-值对形式存贮数据,这样就可以避免每次调用时都去访问数据库,可以极大提高访问效率。 另外,也可以考虑把数据放到内存数据库中,如Redis中,以键-值对形式存贮高频数据,这样就可以快速访问高频数据。
作者回复: 👍
2020-03-1410 - SCAR思考题:想到2点,其他想不到 1.以空间换时间,缓存大法。 2.以提前量换时间,例如回测系统中对ohlcv中的计算可以提前做好,放入内存,这部分时间在高频时就省下来了。2019-08-0518
- Jingxiao评论说的很好,一般先用索引进行优化,如果性能还是不够,需要极致的读取延迟,可以考虑内存数据库,redis 是一个很好的例子。2019-08-1910
- catshitfive这个Price类看不太明白,老师能细讲下吗(里面还包含了一个内部类Meta)2019-08-0616
- magician高频查询数据使用nosql数据库比如redis做缓存2019-08-053
- 许童童这一节是理论,下一节应该就是实操了。2019-08-0512
- 恰饭哒ELK在Python生态中怎么样啊2020-07-031
- 自由民回测中重复计算的数据先缓存到数据库里,避免重复计算。2019-11-041
- 小侠龙旋风sql调优相关内容:经常进行检索的字段上创建索引,索引可提高select效率但同时也降低了insert和update的效率,一个表最多可有6个索引,避免在索引列上做计算,用varchar变长代替char定长,使用临时表暂存中间结果等。2019-09-101
- Geek_cf3aed我使用的是华为p40 无法使用文本中提供代码的 复制 功能2021-07-14
收起评论