大数据的下一步是什么?混合服务/分析处理(HSAP)
支持联机事务处理 (OLTP)方案是混合事务分析处理(HTAP)系统的先决条件。为此,混合事务分析处理(HTAP)系统通常采用基于行存储的数据格式,而基于行存储中的分析查询效率大大低于列存储。具有分析能力并不等于能够有效分析,为了提供有效的分析功能,混合事务分析处理(HTAP)系统必须将大量非事务数据复制到列存储中,但这势必带来大量成本。最好以较低的成本将少量事务数据复制到混合服务/分析处理(HSAP)系统,同时,可以更好地避免对在线事务系统的影响。 因此,混合服务/分析处理(HSAP)和混合事务分析处理(HTAP)将会互补,并将分别引领数据库和大数据的发展方向。 混合服务/分析处理(HSAP)面临的挑战 作为一种全新的架构,混合服务/分析处理(HSAP)面临着与现有大数据和传统联机分析处理(OLAP)系统截然不同的挑战。 高并发混合工作负载:混合服务/分析处理(HSAP)系统需要处理的并发查询远远超出了传统的联机分析处理(OLAP)系统。 实际上,数据服务的并发性远远超出了联机分析处理(OLAP)查询。例如,人们在实践中已经看到,数据服务每秒需要处理数千万个查询,这比联机分析处理(OLAP)查询的并发性要高出5个数量级。同时,与联机分析处理(OLAP)查询相比,数据服务查询对延迟的要求更加严格。而且,更大的挑战是系统在提供数据服务查询的同时需要处理非常复杂的分析查询。这些混合查询有效载荷在延迟和吞吐量之间具有不同的权衡。如何有效利用系统资源来处理这些完全不同的查询,并确保每个查询的服务水平目标(SLO)是一个巨大的挑战。 混合服务/分析处理(HSAP)系统在处理高并发查询负载的同时,还需要支持海量数据的实时写入。实时写入的数据量远远超过了传统联机分析处理(OLAP)系统的要求。例如,以上实时推荐场景将持续每秒写入数千万甚至数亿个事件。与传统联机分析处理(OLAP)系统的另一个区别是混合服务/分析处理(HSAP)系统对实时数据的要求很高。为了确保服务和分析结果的效率,其书面数据需要在几秒钟甚至几秒钟内可见。 灵活性和可扩展性:数据写入和查询的负载可能会出现突发峰值,这对系统的灵活性和可扩展性提出了很高的要求。在实际应用中,注意到数据写入的峰值可以达到平均值的2.5倍,查询的峰值可以达到平均值的3倍。此外,数据写入和查询的峰值不一定同时出现,这也要求系统具有根据不同峰值进行快速调整的能力。 混合服务/分析处理(HSAP)的系统设计 为了应对这些挑战,典型的混合服务/分析处理(HSAP)系统可以采用以上相似的架构。 存储和计算的存储分解:所有数据都存储在分布式文件系统中,企业通过切分来扩展系统。存储管理器将管理这些碎片。资源管理器对系统的计算资源进行管理,保证系统能够处理高吞吐量的数据写入和查询要求。该架构可以随着工作负载的变化而快速扩展,当查询负载变大时可以扩展计算资源,当数据量快速增长时,可以快速扩展存储资源。存储和计算的分离确保了这些操作可以快速完成,而无需等待数据的移动/复制。该架构显著简化了操作和维护,为系统的稳定性提供了保证。 统一实时存储:为了支持各种查询模式,统一的实时存储层至关重要。查询可以大致分为两种类型,一种是点查询(其中大多数是数据服务类型),另一种是扫描大量数据的复杂分析查询(其中大多数是分析类型)。当然,两者之间有许多查询。这两种查询类型也对数据存储提出了不同的要求。基于行的存储可以更有效地支持点查询,而列存储在支持具有大量扫描的查询中具有明显的优势。需要在行存储和列存储之间做出折衷,但其代价是在检查和扫描数据的情况下无法获得优质性能。希望在两种情况下都能达到优质效果,因此系统同时支持行存储和列存储,并且用户可以根据方案选择每个表的存储。对于同时具有两个需求的表,允许用户通过索引抽象同时选择两种存储,系统通过索引维护机制确保两者之间的一致性。在实践中,发现此设计带来的效率和灵活性可以更好地支持业务。 工作负载隔离 通过计划来保证在混合工作负载下系统的服务水平目标(SLO)。在理想情况下,大型查询应该能够利用所有资源。当多个查询同时运行时,这些查询需要公平地共享资源。由于面向服务的点查找查询通常相对简单,并且需要较少的资源,因此这种公平的调度机制可以确保即使存在复杂的分析查询,也仍然可以保证面向服务的查询的等待时间。作为分布式系统,调度可以分为分布式调度和过程调度。协调器将查询分解为多个任务,这些任务分配给不同的进程。协调人员需要采取某些策略来确保公平。同样重要的是,企业还需要允许不同的任务在流程中公平地共享资源。由于操作系统不了解任务之间的关系,因此在每个进程中都实现了一个用户状态调度程序,以更灵活地支持工作负载隔离。 系统的开放性 许多企业已经使用了其他存储平台或计算引擎,因此新系统必须考虑与现有系统的集成。查询、计算和存储的集成需要很高的时间效率,可以带来明显的优势。但是,对于没有高时间效率的脱机计算,存储层可以提供一个统一的接口来打开数据,这使得其他引擎能够提取数据进行处理,并给业务带来更大的灵活性。开放性的另一方面是处理存储在其他系统中的数据的能力,这可以通过联合查询来实现。 混合服务/分析处理(HSAP)的应用 以下将分享阿里巴巴集团的搜索推荐优化运营业务。 原始搜索推荐完善的运营业务架构 可以通过一系列存储和计算引擎(HBase、Druid、Hive、Drill、Redis等)的复杂协作来满足业务需求,多个存储需要通过数据同步任务来保持近似同步。这种业务架构极其复杂,整个业务架构的开发需要大量的时间。 升级搜索推荐优化运营业务架构 (编辑:应用网_阳江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |