论文部分内容阅读
近年来,企业界对海量数据计算和分析的需求越来越旺盛。但如果仍然依托现有的ERP或者商务智能系统,对于海量数据的处理和分析往往力不从心。如果要求在线业务分析系统针对海量数据进行大量诸如聚合运算等的逻辑运算,会导致分析类报表的运行时间过长。最后,即便得到需要的数据之后,数据分析的实时性也已经大打折扣。面对现状,内存数据库这项技术再次受到重视。那么就目前的发展状况,内存数据库的可用性究竟如何,是不是可以得到商用和推广呢?本文试图对此展开相应技术方面的应用探讨。内存计算技术或者说内存数据库,听起来其实并不新鲜。内存计算相对于基于磁盘的数据库,其技术特点显著而且在特定方面的性能优势明显。本文论述了一系列推动SAP HANA得以发展的内存数据库核心技术:随着硬件技术的突飞猛进,多核处理器和并行控制技术已日臻完善。主存相比磁盘,它的价格依旧偏高,所以内存数据库的压缩技术也尤为关键。列中的压缩,使得信息密度得到了提升。依靠这些压缩技术,使得整体性能得到提升的同时,内存消耗也得到有效的控制。作为内存数据库的代表——SAPHANA还结合了列优先、行优先以及混合方式的技术。与传统的行存储相比,列存储忽略了那些不必要的查询列,因此所需的加载操作更少。笔者的工作实践令自己体会到新技术的成功与否,不可光看技术上有多么先进,更需要应用上的广泛实践和贴近实际应用。HANA的出现,给了一种新的可能性,也有了与之前基于磁盘的传统关系型数据库比较的可能性。HANA作为一种新工具,需要在工作和实践中慢慢摸索和改进。本文通过3个实际项目中的开发用例,设计并演示了如何在HANA工作台中根据实际销售业务场景建模,以及如何利用列视图等HANA的新特性来贴近业务实际,并实现高效的季度销量分析报表系统;其次,展示并应用了HANA数据库中特有的内置业务功能函数,实现季节性简单销售预测分析,体现了其面向业务快速部署的便捷性;最后,通过设计数据压缩及加载的压力实验,测试并分析HANA对于不同离散特性数据的压缩和加载性能。依托这种理论、实践相结合的方式,得出以HANA为代表的新一代内存数据库的独特优势和不足以及积极可观的发展前景。综上所述,内存数据库是一个技术发展的方向,但在此过程中仍然会面对不少的挑战和瓶颈,例如,发展初期的投入过高问题;编程人员需要改变以往在传统磁盘数据库下的编程习惯问题;以及内存技术在商务智能乃至新兴的云计算领域的应用问题。这些都是建议包括笔者在内的所有专业人员继续深入开发和研究的。