范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

HTAP需求不能被HTAP数据库解决

  HTAP(Hybrid Transaction and Analytical Process,混合事务和分析处理)自 2014 年明确提出以后成为了很多数据库厂商努力的方向。其实 HATP 并不新鲜,早年 RDB 刚兴起时本来就是用一个数据库同时做事务和分析,但随着数据规模不断变大再直接基于业务库做分析就会影响业务,这时数据仓库出现了,将业务数据导入数据仓库来专门应对分析需求,同时与业务库隔离,这样不仅可以更好地服务分析场景,又不会对业务系统产生影响,这是"合久必分"的阶段。但是由于数据仓库将历史数据与实时数据分开了,有时经常还会采用异构数据库(或大数据平台),如果要分析实时全量数据(T+0)就非常困难了,而 T+0 又是很多及时性业务必须的,这就造成了"数据仓库之殇"。为了解决这个问题,能不能把 AP 和 TP 在一个数据库内同时满足呢?于是 HTAP 再次登场了,这又到了"分久必合"的阶段。
  但我们知道,AP 和 TP 两个场景有显著不同,前者涉及的数据量很大,并且计算逻辑复杂,但并发量往往不大,没有数据一致性要求,甚至经常为了使用方便可以不满足范式;后者恰恰相反,数据量不大且数据处理逻辑简单,但并发量很大,有数据强一致性要求。从功能上讲,TP 数据库本来就能执行 SQL,也本来就具有一定的 AP 功能。当初之所以要把 TP 和 AP 分开,就是因为巨大数据量时,继续采用偏向 TP 的技术就不能高效地处理 AP 的需求(比如 AP 要求高性能需要使用列存,但 TP 为了写入更新便利需要使用行存),TP 和 AP 的这些巨大差异就决定了这两个场景不能采用一个技术体系来同时满足,而这件事到现在并没有实质性地改变。
  即使如此,还是有一些厂商尝试在同一引擎中同时满足 TP 和 AP 的需求,实现上有几种方式。一种是采用多副本的方式,其中某一个副本(可能使用列存)专门用来满足 AP 的需求;一种是采用行列混合存储,行存和列存各一份,二者之间自动转换;还有一种方式可以不区分行列存储,通过单一存储引擎支撑 TP 和 AP 场景,常见的是某些内存数据库。这类 HTAP 数据库在实现上会优先满足 TP 的需要,在此基础上再发展 AP 的功能,因此在满足 AP 需求时相对一般专用的 AP 产品往往会有很大差距。
  另一种 HTAP 数据库的做法是在底层仍然将两个场景分离,以"模块化"的方式来设计存储,业务数据产生后就会被复制两份(不考虑副本的情况),一份仍然使用行存用于交易,一份复制使用列存用于分析。相应的存储和计算再借助原本在 TP 和 AP 领域已经成熟的技术进行封装和优化,同时设计统一的对外访问接口,底层的差异对应用层完全透明,这样就形成了可用的 HTAP 产品。 HTAP 数据库面临的问题迁移风险大成本高
  无论采用哪种方式设计 HTAP 数据库,在应用时都会碰到一个问题,如果原来的业务数据库不是(大概率)采用 HTAP 数据库就要涉及数据库迁移,这将面临巨大的风险和成本。不仅要考量数据类型差异导致的数据结构迁移过程中需要进行改造和处理,还会涉及视图、存储过程以及复杂 SQL 的改造等,还有在迁移工程中遇到的种种问题要解决,可谓坑多且深。由此带来的业务影响可能会带来极大价值损耗。 无法获得多样源的优势
  此外,现代业务系统不仅涉及 RDB,还有 MongoDB、InfluxDB 等 NoSQL,以及各种自己封装的业务数据源,种类很多五花八门。这些数据源要迁移到新数据库就没那么简单了,像 MongoDB 数据转存到 RDB 会发现实现很困难。MongoDB 中的很多数据类型和集合之间的关系在 RDB 中并不存在,比如嵌入式的数据结构、数组和哈希等集合类型、多对多关系的实现。这些问题并不是简单通过数据迁移就能解决的,需要在迁移之前先对部分数据结构进行重构,这需要事先投入相当多的人工和时间成本去梳理业务并设计目标数据组织方式。即使最后花费很大代价把业务数据源迁移到 HTAP 上,原来那些多样性数据源自身的优势却又丧失了,得失之间有时甚至很难权衡是否值得。 性能不达标
  我们知道,数据计算性能和数据组织密不可分,在 AP 类场景中通常要使用列存来发挥计算优势,但只有列存是远远不够的,有些复杂计算需要针对计算特点专门设计数据存储形式(比如有序存储、数据类型转换、预计算等)。而这些对性能要求高的复杂计算在 AP 类场景中并不少见,但无论采用何种方式的 HTAP,简单"自动化"地行存转列存并不能实现相对"个性化"的效果,性能往往无法达标。这个道理也很简单,天下没有什么都好的事儿,你想融合就必须容忍在某一或某些方面的不足。
  迁移风险大、成本高、有损失、性能还可能不达标,考虑到这些问题,我们不禁会问:HTAP 数据库这个技术路线对吗?
  说到这里我们再回头看一下 HTAP 的目的,为什么要用 HTAP?
  其实就是为了进行全量数据实时查询统计,也就是 T+0!
  如果数据仓库等相关技术能搞定这个问题,那自然也就不需要 HTAP 了。不过很遗憾,数据仓库仍然延用了关系数据库的封闭体系,数据要先入库才能计算,而且入库又有较强约束。这些导致数据仓库无法很好实现跨数据源尤其是异构和非关系型数据源的混合计算,很难实现 T+0 的目标。
  但集算器 SPL 可以。 SPL 实现 HTAP 需求
  集算器 SPL(Structured Process Language),一个专门面向结构化数据计算的开源计算引擎和程序语言。除了提供了丰富的计算类库使其拥有不依赖数据库的独立计算能力外,SPL 可以对接多种数据源并完成多源混合计算,从而轻松完成跨数据源的 T+0 查询。
  SPL 通过与现有系统融合的方式实现 HTAP,这样原有系统的改动很小,TP 部分几乎不动,甚至原有的 AP 数据源也可以继续工作,逐步使用 SPL 接管 AP 业务。SPL 部分或全部接管 AP 业务后,历史冷数据使用 SPL 高性能文件存储,原来针对业务库到数据仓库的 ETL 过程可以直接移植到 SPL 上。冷数据量大且不再变化使用 SPL 高性能文件存储可以获得更高地计算性能;热数据量小仍然存放在原有 TP 数据源中,SPL 直接读取计算,由于热数据量并不大,直接基于 TP 数据源查询也不会对其造成太大影响,访问时间也不会太长。再利用 SPL 的冷热数据混合计算能力,就可以获得针对全量数据的 T+0 实时查询。我们只要定期将变冷的数据固化到 SPL 的高性能存储中,原数据源只需要保持少量近期新产生的热数据即可。这样不仅实现了 HTAP,而且还是高性能的 HTAP,且对应用架构冲击很小。 平滑迁至 HTAP
  现代信息系统中建设数据仓库等专门服务分析场景已然十分常见,加之数据源种类繁多,将这些数据都迁移到一处代价太大了,对于这点前文我们已经分析过。如果能在现有架构的基础上增加跨数据源的实时混合计算能力,就相当于插上了 HTAP 的翅膀,在不改变现有架构的情况下快速实现 HTAP 的需求,而这正是 SPL 的强项。
  SPL 支持多种数据源,RDB、NoSQL 以及 RESTful 等都可以直接使用,还可以解析 JSON/XML 等类型数据,可以对接 Elasticsearch、Kafka 等数据源,此外传统 / 新兴数据仓库、大数据平台等也可以直接取数计算。
  在对接的同时可以针对任意多种数据源进行混合计算,这样实时数据从生产库中读与取自历史库 / 数据仓库 / 大数据平台的冷数据混合计算就可以实现 T+0 全量实时数据查询。这样原有应用架构几乎不用变动(尤其是生产库)就可以获得 HTAP(架构层面)期望的效果,成本极低。
  使用 SPL 在现有架构上输出 HTAP 能力还有一个好处是可以充分保留原有数据源的优势。NoSQL 仍然可以继续使用而不必强行将结构拉成 RDB 的形式,自己封装的数据访问与交互接口也不必费心去迁就新数据库,原来的优势与个性化仍然保持,风险很低的同时价值几乎没有损耗。 还可以更快
  在分析侧也一样,基于 SPL 也可以继续使用原本建设好的分析平台。但如前所述,分析场景面临的数据量大且计算逻辑复杂,尤其需要高性能。SPL 还提供了高性能计算机制,可以全面接管原来分析侧(AP)的业务实现高性能数据计算。
  我们知道,高性能计算涉及两方面,一个是数据组织方式即数据存储,另一个是算法,这二者密不可分,很多高性能算法需要将数据组织成相应格式(如有序)才能发挥作用。SPL 提供了自有的高性能存储机制,直接采用文件系统。将数据存储特定格式的文件中,不仅可以获得更高的 IO 存取效率以及文件系统灵活的管理能力,还可以充分利用自有格式的列存、有序、压缩、并行分段等数据存储优势,从而高效地发挥高性能算法效力。
  而在算法方面,SPL 提供了十分丰富的高性能算法库。遍历复用、有序归并、外键预关联、标签位维度、并行计算等,都已经封装好,可以直接使用,配合 SPL 的存储机制就能获得高性能。而且这其中有很多算法都是 SPL 独创的,在业内也是首次提出。
  如果简单地将 TP 中的行存转换成 SPL 中的列存,工作量也非常低。但为了获得高性能,常常还需要精心设计存储方式,这时,将会有一定量的 ETL 动作,但这个工作与原来从业务系统 ETL 数据到数据仓库基本是一样的,并不会更复杂,而且这个工作对于高性能是少不了的。和一般 HTAP 数据库很难实施经过有效设计的存储相比,SPL 将冷热数据分离后可以从容不迫地像以前 TP/AP 分离时那样实施更高效的存储组织,这样更能将 TP 和 AP 双边的性能发挥到极致。相对大幅的性能提升,数据组织的工作往往是值得的。
  在实战中,使用 SPL 存储和算法提升数倍数十倍性能的案例很多。比如在某保险公司车险保单跑批的案例( 开源 SPL 优化保险公司跑批优从 2 小时到 17 分钟  )中,使用 SPL 将计算时间从 2 小时缩短到 17 分钟。这里使用 SPL 接管存储后再利用 SPL 特有的遍历复用技术(在对大数据的一次遍历过程中实现多种运算)有效地减少外了存访问量,同时将涉及对一个大表进行三次关联和汇总的运算只需要遍历一次(SQL 要将大表遍历三次),并在关联运算上采用了不同的算法,因此获得了巨大的性能提升。
  还有在 开源 SPL 将银行手机账户查询的预先关联变成实时关联  的案例中,使用 SPL 将原本只能预关联的手机账户查询变成实时关联,同时服务器数量从 6 台降为 1 台。这里充分利用了 SPL 的有序存储机制,一次性读取整个账户数据时可以有效减少硬盘时间(物理存储连续),再借助区分维表和事实表的外键实时关联技术使用单机就能完成实时关联查询,性能提升明显,硬件需求也降低了许多。 也可以更简单
  基于 SPL 的 HTAP,并不止于 T+0 和高性能。
  数据计算(主要指 OLAP 场景)一向有两个难点,跑得慢(性能)和写得简单(开发效率)。前者我们说过了,后者使用 SPL 还可以获得很大改善。
  现在我们处理数据还主要基于 SQL(其他高级语言太麻烦),但 SQL 仍然有很多不好描述的运算,这个原因主要是 SQL 的理论限制,这里我们不多说,感兴趣的小伙伴可以阅读这篇文章:写着简单跑得又快的数据库语言 SPL
  鉴于 SQL 在复杂计算方面的描述能力(开发效率)太差,SPL 并没有沿用 SQL 体系,而是基于新的理论重新设计了一套敏捷计算语法,基于这个语法再实施计算尤其复杂计算会更有优势,写法也更简单。
  我们可以通过电商系统中常见的漏斗运算来感受一下 SPL 的简洁性。
  SQL(oracle)实现: with e1 as (  select gid,1 as step1,min(etime) as t1  from T  where etime>= to_date("2021-01-10", "yyyy-MM-dd") and etime= to_date("2021-01-10", "yyyy-MM-dd") and e2.etime t1    and e2.etime < t1 + 7    and eventtype="eventtype2" and …  group by 1),with e3 as (  select gid,1 as step3,min(e2.t1) as t1,min(e3.etime) as t3  from T as e3  inner join e2 on e3.gid = e2.gid  where e3.etime>= to_date("2021-01-10", "yyyy-MM-dd") and e3.etime t2    and e3.etime < t1 + 7    and eventtype="eventtype3" and …  group by 1)select  sum(step1) as step1,  sum(step2) as step2,  sum(step3) as step3from  e1  left join e2 on e1.gid = e2.gid      left join e3 on e2.gid = e3.gid
  SPL 实现:
  A
  B
  1
  =["etype1","etype2","etype3"]   =file("event.ctx").open()   2
  =B1.cursor(id,etime,etype;etime>=date("2021-01-10") && etime  =A2.group(id).(~.sort(etime))   =A3.new(~.select@1(etype==A1(1)):first,~:all).select(first)   4
  =B3.(A1.(t=if(#==1,t1=first.etime,if(t,all.select@1(etype==A1.~ && etime>t && etime  =A4.groups(;count(~(1)):STEP1,count(~(2)):STEP2,count(~(3)):STEP3)   oracle 的 SQL 写出来要三十多行,理解起来有相当的难度。而且这段代码和漏斗的步骤数量相关,每增加一步数就要再增加一段子查询。这种 SQL,写出来就已经不易,性能优化更是无从谈起。   相比之下,SPL 就简单得多,处理任意步骤数都是这段代码。   好了,说到这里各位看官应该了解了,SPL 并不是一个 HTAP 数据库,而是提供了一种新思路来满足 HTAP 的需要。HTAP 数据库很热,厂商的宣传口号很容易让我们陷入只能使用一种数据库来解决 HTAP 问题的藩篱而不自知。但只要我们再多想一点就会发现,HTAP 是一种合理的业务需求,满足它或许并不需要一种新数据库,而是能够解决问题的新技术和架构,而 SPL 提供了这种可能。   SPL下载地址:http://c.raqsoft.com.cn/article/1595816810031   SPL开源地址:https://github.com/SPLWare/esProc

一线品牌游戏本怎么选?拯救者Y9000PVS天选4卖的贵一定更好?对于今年我们这群死打游戏的而言,RTX40系显卡的到来,无疑让我们实现了更高的性能释放,同时全新的台积电工艺,也带来了不错的能效比。尤其是移动版的显卡而言,在整体性能大幅度远超上一一线品牌RTX40游戏本凑齐!口碑和体验都要,一文读懂不踩坑!2023年被很多游戏玩家称之为游戏大年,因为今年上市的3A游戏大作数量多,质量高,比如上半年推出的生化危机4重制版霍格沃茨之遗原子之心等游戏都取得了不小的成功。但是想要完美享受这些永新县持续推进一年一行业劳动竞赛品牌建设近期,永新县总工会县人社局围绕县重点产业重点领域重大战略部署开展2023年行业性职工职业技能大赛调研活动,为产改赋能。对县工业园区新材料电子信息药化等行业进行专题调研后,确立202成都大熊猫基地连夜通报!4月12日晚间,成都大熊猫繁育研究基地(成都熊猫基地)在其官方微信公众号发布了关于不文明行为情况的通报的文章,公布了三名有不文明行为的游客,三人均已签署文明参观承诺书。熊猫基地的文网传张继科与儿子同框画面,深情怀抱显父爱,可惜不是与景甜所生张继科是大家非常喜欢的一位运动员,他可以说是体坛明星,在乒乓球领域获得过很多冠军。近些年他没有参加比赛,不过也没说退役,进去娱乐圈发展。他参加了很多节目,因为帅气阳光,再加上耿直的粉底氧化成腮红!我真的第一次见!原相机底妆NARS新出的粉底液,纯纯自费390块。我买的色号是L2,丑话先说前头,因为我今天皮肤状态其实是还不错的。如果这种情况下你翻车,那就是真的是你产品的问题。先挤一点看一下,铺开倒是感孩子的睡姿,暗示不同的性格,如果你家娃是树干型,那恭喜你大家好,我是布谷妈睡觉是一件舒服又惬意的事情,人的一生中,大约会用13的时间来睡觉。不知你有没有发现,我们入睡的时候是一种姿势,但第二天醒来,睡姿却完全变了样?心理学家们,曾对10小米13Ultra年轻人的第一台相机?目前来看它可能有这个自信!正当大家都在讨论4月要发布的新机都在紧张预热,而小米这边却一点也不急的时候,小米13Ultra正式定档4月18日晚19点发布,和预想中的4月中旬差不多。而该机的每一次预热都非常的有广州动物园大熊猫憨态可掬来源中国新闻网4月10日,广东广州,广州动物园大熊猫星一吃竹子,憨态可掬。4月10日,广东广州,广州动物园的大熊猫雅一吃南瓜,憨态可掬。4月10日,广东广州,广州动物园的大熊猫星一鸟类天堂!看看吉林龙湾国家级自然保护区鸳鸯湾里的小精灵们!鸳鸯湾位于辉南县境内,是吉林龙湾国家级自然保护区后河监管站管辖的一块湿地。因这里一直有鸳鸯出没而得名。吉林龙湾国家级自然保护区获评第一批全国科普教育基地,名副其实。2022年上半年30秒丨我爸爸叫小红萌娃走丢后,牵着民警找小红的画面超有爱视频加载中近日,四川攀枝花市仁和区公安分局大河中路派出所接到市民报警,称在路边发现一名走丢的小男孩。民警赶到现场后,小男孩哭着说爸爸妈妈在上班,因为担心他们所以离家出来寻找。民警说
健康小贴士秋冬养肾必知的秘笈1护好自己的双脚足部保暖是养肾的一种方法,这是因为肾经起于足底,而足部很容易受到寒邪的侵袭。因此,足部要特别注意保暖,睡觉时不要将双脚正对空调或电风扇不要赤脚在潮湿的地方长期行走。4样用糯米粉做成的美食,Q弹粘牙,软软糯糯,小孩子特别喜欢吃糯米提起来都不陌生,在北方的话主食都是以大米为主,糯米用的时候并不是很多,但是有很多美食小吃都是使用糯米粉来制作的,这些美食小吃做出来的口感Q弹粘牙,软软糯糯,味道特别好,尤其是小白菜炖豆腐,先放白菜还是先放豆腐?学会这方法,出锅汤汁都不剩大家好,我是金芒美食,我又来跟大家分享实用生活美食中的小妙招了。白菜炖豆腐是一道很家常的菜,但是很多人都不会做,到底怎么做才能把它做得非常美味又好吃呢?其实过程也很简单,如果想知道三国志曹操传,游戏中四种解除状态的道具,当年你用过没?曹操传可以让玩家回味的地方太多太多了,对于老玩家来说,这款游戏很难给到差评!作为一款战棋游戏,战场上的设定在那个年代是出类拔萃的,并且剧情还非常丰富,这在当时的战棋游戏中可不多见,上音打游戏,你怎么看?游戏是什么?或者说,优秀的游戏是什么?这些年,当游戏是文化的论调被屡屡提及,人们多有不解,所谓消遣,能有多少文化含量?今天,由上海音乐学院主办,上海音乐艺术发展协同创新中心上海米哈夕阳,电子龙,16000!游戏王中的败者比胜者更让人印象深刻?游戏王作为非常经典的动画IP除了为我们带来了非常经典的决斗玩法,同时也创作了七部非常经典的游戏王动画。在这些动画中,每一部基本上都贯彻了魂燃等元素,让本来是以智斗为主的卡牌竞技变得复古传奇长期存在于全都游戏玩家心里的魔障祈愿套装在复古传奇这款网络游戏,长期存在着非常多时装套装极品装备。举例说明我们大家所知的奇异时装套装秘法时装套装魔血套装之类,但更有一款极品装备是长期存在于全都游戏玩家心里的魔障,那便是祈欢太科技潜心钻研,游戏中心带来多样化游戏体验北京时间11月6日,在冰岛雷克雅未克举行的2021英雄联盟全球总决赛中,中国LPL赛区战队EDG电子竞技俱乐部以32战胜韩国LCK赛区战队DK,获得2021年英雄联盟全球总决赛冠军封面有数2021年国内游戏全行业收入近三千亿,电竞市场增速放缓封面新闻记者欧阳宏宇12月16日,据中国音数协游戏工委在广州发布数据显示,2021年,中国游戏用户规模达6。66亿人,同比增长0。22,市场实际销售收入同比增长6。4,达2965。玩游戏碰见摆烂的人你们会怎么做?好久没玩英雄联盟啦,昨天打啦几把黄金局,状态不错,只要给我正常队友,基本把把凯瑞,可惜连胜几把后,开始给我排一些不正常的人,连续三把有人摆烂酷拽酷拽,我很烦那种自己菜还不让别人c的盘前必读丨美联储点阵图暗示明年将加息3次,我国明年起调整部分商品进出口关税财经日历2130美国截至12月11日当周初请失业金人数美东时间周三,美股探底回升全线收高,截至收盘,道指涨383。25点,涨幅1。08,报35927。43点纳指涨2。15,报155