草庐IT

异构混排在vivo互联网的技术实践

混排层负责将多个异构队列的结果如广告、游戏、自然量等进行融合,需要在上下游和业务多重限制下取得最优解,相对复杂和难以控制。本文主要从业务、模型等角度介绍了vivo广告策略团队在信息流和应用商店混排上的一些探索和思考。一、背景介绍首先介绍一下什么是混排。所谓混排,如图所示就是需要在保障用户体验前提下,通过对不同队列中的异构内容进行合理混合,实现收益最优,更好的服务广告主和用户。混排的核心挑战体现在:不同队列item建模目标不同,难以直接对比。比如有的队列按照ctr建模,有的队列按照ecpm建模,无法直接对比。候选队列常受到大量产品规则约束,常见的有比如间隔位的约束、保量、首位等约束。由于候选队列

异构混排在vivo互联网的技术实践

混排层负责将多个异构队列的结果如广告、游戏、自然量等进行融合,需要在上下游和业务多重限制下取得最优解,相对复杂和难以控制。本文主要从业务、模型等角度介绍了vivo广告策略团队在信息流和应用商店混排上的一些探索和思考。一、背景介绍首先介绍一下什么是混排。所谓混排,如图所示就是需要在保障用户体验前提下,通过对不同队列中的异构内容进行合理混合,实现收益最优,更好的服务广告主和用户。混排的核心挑战体现在:不同队列item建模目标不同,难以直接对比。比如有的队列按照ctr建模,有的队列按照ecpm建模,无法直接对比。候选队列常受到大量产品规则约束,常见的有比如间隔位的约束、保量、首位等约束。由于候选队列

异构数据存储实战

Part01异构存储架构 数据的存储需要根据使用场景的不同而有所不同,对于那些需要快速访问的数据应该存储在高速访问设备,并通过高性能存储系统进行访问;而那些需要进行大数据计算、归档处理的数据则应该存储在廉价、低速的设备中,通过分布式的方式来计算。异构存储架构是一种多存储设备的系统架构,通过对数据进行自动化管理,根据其访问频率等指标,将数据划分为冷数据和热数据,进而控制其存储在不同的设备上,达到优化性能,降低存储成本的目的。Part02异构存储面临地挑战 在异构数据存储增强中,主要面临以下几个核心问题:1️⃣如何选择合适的存储介质?存储介质既要满足性能、成本需求,同时还要满足可靠性、可用性、容量

异构数据存储实战

Part01异构存储架构 数据的存储需要根据使用场景的不同而有所不同,对于那些需要快速访问的数据应该存储在高速访问设备,并通过高性能存储系统进行访问;而那些需要进行大数据计算、归档处理的数据则应该存储在廉价、低速的设备中,通过分布式的方式来计算。异构存储架构是一种多存储设备的系统架构,通过对数据进行自动化管理,根据其访问频率等指标,将数据划分为冷数据和热数据,进而控制其存储在不同的设备上,达到优化性能,降低存储成本的目的。Part02异构存储面临地挑战 在异构数据存储增强中,主要面临以下几个核心问题:1️⃣如何选择合适的存储介质?存储介质既要满足性能、成本需求,同时还要满足可靠性、可用性、容量

异构跨库数据同步还在用Datax?来看看这几个开源的同步方案

在遇到跨库或者异库数据同步时,我们一般都会借助ETL工具来实现数据同步功能。比如目前大家较为熟知的Kettle和Datax。但是,这两个需要定时去查询数据库的数据,会存在一定的延迟,而且,默认采用全量同步的方式,想要增量,需要自己做特殊的处理。那么,有没有开源的工具,既能满足全量和增量,又能达到相对比较实时的呢?接下来,我们继续往下看。Kettle在ETL行列中,kettle算是人气比较旺的一款工具,功能多且强大,开源,可视化。使用方便、简洁,但是,体量越来越大,性能一般。可以自己下载源码编译,要求Maven3+、JavaJDK11。​​https://github.com/pentaho/p

异构跨库数据同步还在用Datax?来看看这几个开源的同步方案

在遇到跨库或者异库数据同步时,我们一般都会借助ETL工具来实现数据同步功能。比如目前大家较为熟知的Kettle和Datax。但是,这两个需要定时去查询数据库的数据,会存在一定的延迟,而且,默认采用全量同步的方式,想要增量,需要自己做特殊的处理。那么,有没有开源的工具,既能满足全量和增量,又能达到相对比较实时的呢?接下来,我们继续往下看。Kettle在ETL行列中,kettle算是人气比较旺的一款工具,功能多且强大,开源,可视化。使用方便、简洁,但是,体量越来越大,性能一般。可以自己下载源码编译,要求Maven3+、JavaJDK11。​​https://github.com/pentaho/p

万字长文解密数据异构最佳实践(含完整代码实现)!!

写在前面在当今互联网行业,尤其是现在分布式、微服务开发环境下,为了提高搜索效率,以及搜索的精准度,会大量使用Redis、Memcached等NoSQL数据库,也会使用大量的Solr、Elasticsearch等全文检索服务和搜索引擎。那么,这个时候,就会有一个问题需要我们来思考和解决:那就是数据同步的问题!如何将实时变化的数据库中的数据同步到Redis/Memcached或者Solr/Elasticsearch中呢?互联网背景下的数据同步需求在当今互联网行业,尤其是现在分布式、微服务开发环境下,为了提高搜索效率,以及搜索的精准度,会大量使用Redis、Memcached等NoSQL数据库,也会

万字长文解密数据异构最佳实践(含完整代码实现)!!

写在前面在当今互联网行业,尤其是现在分布式、微服务开发环境下,为了提高搜索效率,以及搜索的精准度,会大量使用Redis、Memcached等NoSQL数据库,也会使用大量的Solr、Elasticsearch等全文检索服务和搜索引擎。那么,这个时候,就会有一个问题需要我们来思考和解决:那就是数据同步的问题!如何将实时变化的数据库中的数据同步到Redis/Memcached或者Solr/Elasticsearch中呢?互联网背景下的数据同步需求在当今互联网行业,尤其是现在分布式、微服务开发环境下,为了提高搜索效率,以及搜索的精准度,会大量使用Redis、Memcached等NoSQL数据库,也会