存储层的数据库选择问题
来源:2-4 【总结与作业】关于广告系统与准备工作的介绍及作业

慕仔5213831
2019-01-25
这里存储选用Mysql有什么特别的考虑吗?
类似于广告这些大数据量的数据选用ElasticSearch,Postgre做增量索引会更好吗?
具体架构时候该怎样考虑?
谢谢~
写回答
1回答
-
同学你好:
广告数据存储(查看类型的、不是检索)本身并没有什么要求,你可以使用 MySQL、ES、PostgreSQL 等等等,甚至可以用文件来存储。
但是,对于广告检索来说,性能是第一位的。目前,业界的 ADX 要求广告检索延迟不能超过 100ms,所以,数据索引的话,对于硬盘级别的存储肯定是不适用的。最好,最快的方式当前是把索引放在 JVM 里面(内存),其次就是放在缓存数据库,例如 Redis 里面。核心思想就是不能读硬盘,要高效。
关于架构设计,可以这样考虑:
1. 索引数据一定要放在内存中,如果 JVM 放不下,考虑放在 Redis 中
2. 索引数据需要维护,正确且快速的更新策略是必须的,即增量索引的实现
3. 广告数据对象的完整构建,即怎样用 Java Object 把广告的相关信息(基础数据、Binlog 数据、索引数据)描述出来,这通常需要根据实际的业务和经验来做
有问题随时交流,非常感谢同学的支持!
512019-01-28
相似问题