(四)Hyper如何将数据整合以及取数据
来源:互联网 发布:csmar数据库分红数据 编辑:程序博客网 时间:2024/05/22 17:41
Hyper中取数据流程如上图:
其中,在取数据的时候会将数据横切,分批次输出,这样做的好处是考虑到内存的cache。
还有,为什么Hyper没有将数据直接取出到consumer中呢?我觉得这个和DataBlock数据组织有关系,因为DataBoloc是按照列存储的,那应该是按照列取数据。对于hot区域,为了给上层暴露一个统一的接口,应该也是以这种方式来取数据:将数据先缓存在一个vector中,然后再将vector的数据喂给consumer
其中Hyper取数据用到了SIMD特性来取数据,个人认为,GoldFish的数据是预先排序了的,取数据的时候,相近的数据都在一起,可以快速取出,由此带来的代价就是:
数据排序了,更新的时候耗费时间慢;
数据在传输过程中压缩和解压缩是耗费时间的;
对于那种男女的特殊情况,还需要上层QE对数据支持,或者是CS上面自己做数据迁移(代价大),不然由于更新的数据的到来,难以做到负载均衡。
Hyper中的数据是没有排序(除了orderDict压缩方式以外)这样的话,数据就没有什么依赖,更新操作只需要打标记就可以了,不过在取数据的时候,没有排序的数据块:
对此Hyper的解决办法是,用了PSMA,用了SIMD特性,这样加快了取数据的时间。不过由于取到的数据本身是没有顺序的,如果后期需要对数据排序操作的话,其实是缓慢的。
0 0
- (四)Hyper如何将数据整合以及取数据
- 如何取数据四 servlet+JDBC模式
- java 中的经典算法 如何将有序数据打散,以及在数组中取数据如何做到结果不重复。
- java 中的经典算法 如何将有序数据打散,以及在数组中取数据如何做到结果不重复。
- .net 将字典数据转换成xml 字符串, 以及传参至存储过程后如何取值
- (二)Hyper如何对DataBlock中的数据进行索引
- EAS合并报表数据分析以及如何取个别报表数据
- 如何将数据导入到 SQL Server Compact Edition 数据库中(四)
- mysql如何随机取数据
- 如何数据整合IBM Tivoli
- 微博数据如何整合?
- 如何取数据五 spring+servlet(request取数据,然后setget dao)+jdbc存数据库
- JSPWiki数据迁移以及同CAS整合
- treegrid使用,以及相关数据的整合
- AJAX For.NET 取数据以及数据查询实例,
- abap如何取集(set)里面的数据
- python爬取大众点评网商家信息以及评价,并将数据存储到excel表中(源码及注释)
- 如何将数据文本反转
- The Chain Of Responsibility (1)
- java入门教程-2.7 Java StringBuffer与StringBuider
- 每天laravel-20160813| Container -16
- java was started but returned code=13的问题探究
- 数字货币背后不可告人的秘密
- (四)Hyper如何将数据整合以及取数据
- java入门教程-2.8强调一下编程风格8
- Gson简要使用
- 82-Rotate List
- 动画篇——碎片动画
- Problem-W
- ChemDraw教程之怎么连接ChemDraw结构
- 【46】java对象的三个特征(oop)
- RunLoopModel