一、 测试背景
由于众所周知的世界经贸形势,拥有全面自主可控的IT解决方案成为摆在国家面前的一项重要任务。但是,由于目前国产芯片的性能还相对较弱,大多只能应用于OA等边缘业务,要用到关键业务中时就必须加大成本以扩大集群规模,这将进一步推高因为生态成熟度还不足而导致本身成本就不低的全国产技术方案的应用门槛,抑制了全国产技术的推广应用范围。
SPL计算数据库是一项从理论模型到代码实现都拥有完全自主产权的新技术,它采用了创新代数体系,允许程序员实现更高性能的低复杂度算法,从而获得比传统关系数据库更好的运算性能。因此,可以通过软件弥补硬件,使较低性能的国产芯片不需要扩大集群规模就能够适应原来必须使用国外芯片的应用场景,并且还有一定程度的性能提升。
二、 测试方法
采用国际上公认的数据库性能测试工具TPCH,通过与国外数据库产品的杰出代表Oracle12.1.0及另一国产数据库(下文中简称国产数据库)进行对比测试。
TPCH是由TPC(Transaction Processing Performance Council)事务处理性能委员会公布的一套针对数据库决策支持能力的测试基准,通过模拟数据库中与业务相关的复杂查询考察数据库的综合处理能力,获取数据库操作的响应时间。
TPCH基准模型中定义了一个数据库模型,容量可以在1GB~10000GB的8个级别中进行选择。数据库模型包括CUSTOMER、LINEITEM、NATION、ORDERS、PART、PARTSUPP、REGION和SUPPLIER 8张数据表,涉及22条复杂的SQL查询语句。
TPCH测试具有广泛的权威性和被认可度,涉及内容丰富,可以避免片面性,并确保测试结论的说服力。
传统数据库都是用SQL语言进行查询,在SPL数据库中,需要将TPCH提供的SQL翻译成SPL脚本来运行。
三、 测试环境
本场测试分别在五台不同配置的独立服务器上作运行测试,分别命名为intel2670、intel3014、龙芯、飞腾FT1500、飞腾FT2000,硬件配置如下表:
国产数据库只在龙芯上测试,Oracle 只在 intel 上测试,SPL 在五台服务器上均做了测试。
四、 数据准备
测试数据均采用TPCH提供的数据生成程序产生,产生了100G和200G两种规模的测试数据,100G数据用在intel3014、龙芯、飞腾FT1500、飞腾FT2000四台服务器上,200G数据用在intel2670、飞腾FT2000两台服务器上。
TPCH产生原始文本文件数据以后,需要导入数据库表中供数据库软件查询使用。SPL数据库使用的数据存储在硬盘组表文件中,也需要由原始文本数据转换生成。下表是转换成所需要的测试数据所花的时间(共有8张表,只比较数据量较大的3张表)。
可以看出, Oracle数据导入的时间非常长。SPL和国产数据库的导入时间相当,这方面均比Oracle有数倍的性能优势。
五、 测试结果
测试的三种软件均支持并行查询,即用多线程共同协调完成一次查询任务。然而并行的路数并不是越多越好,因此在每台测试服务器上需要测出查询速度最快的并行数。我们用TPCH的第一条查询任务作测试,在每台测试服务上的并行查询结果如下:
上表中红色数字对应的并行数,即为各测试服务器上最佳的并行数,于是TPCH后面各查询测试中就以此并行数来进行测试。
测试结果如下表:
六、 结论
将测试结果制成统计图示:
可以看出如下一些结论:
1. 在同一台测试机上使用同一份TPCH测试数据,比较22条查询所用的总时间,使用了新算法的SPL比Oracle要快5-7 倍,创新理论和算法确实有效。
2. 在飞腾FT1500上比intel3014上的Oracle快了近 3 倍,在飞腾FT2000上比intel2670上的Oracle快了5 倍还多。在飞腾芯片上搭载的SPL数据库,远远超过了Intel上Oracle的运算性能,应用于关键业务完全没有问题。
3. 龙芯相对略弱,但在SPL的支持下,也能和intel3014上的oracle速度基本相当(接近 95%),基本可应用于关键业务中了。
4. 龙芯上国产数据库性能较差,只能达到Intel3014上Oracle的七分之一左右,基本不具备应用于关键业务的能力。
【附件下载】:全国产计算数据库性能测试报告.pdf(
http://img.raqsoft.com.cn/file/2019/08/e874fdb7c3614a7fa06d0762e367e5e1_.pdf)
分享开源LeaRun ASP.NET快速开发平台含工作流引擎
流程是现在企业不可缺少的一部分,办公要流程化,营销要流程化,在互联网时代,流程逐步经历了一个无纸化的过程,为了保证业务的正常运行,一个强大的工作流引擎尤为重要。
那么,什么是工作流引擎呢?
所谓工作流引擎是指workflow作为应用系统的一部分,并为之提供对各应用系统有决定作用的根据角色、分工和条件的不同决定信息传递路由、内容等级等核心解决方案。工作流引擎包括了,流程的节点管理、流向管理、流程样例管理等重要功能。今天给大家介绍的是一个内置了工作流引擎的强大快速开发平台,以引擎功能和用法为主,着重界面功能,细节大家可以去自行体验。
网址:www.learun.cn
免费演示入口:
www.learun.cn/Home/VerificationForm
工作流引擎使用方法(这里以请假流程为例)
- 设计一个请假单,用于流程流转,点击表单应用---表单设计
- 进入表单设计页面,这里已经设计出企业常用表单案例,这里我们为了演示功能进行新增,点击右上角新增,建立一个新的请假流程表单
?3.对表单进行基础设置
选择数据库
?关联数据表
?表单采用拖拽设计,方便快捷
?可对表单进行预览
?4.请假单设计完成
5.表单完成后就是工作流的设计了,点击流程应用---流程设计
?6.点击新增,进入流程设计界面,填写流程基本信息
?填写信息,根据需要写sql语句
?7.选择可发起流程的人员,是所有还是指定,指定的话直接选择相关人员即可
??
8.绘制请假流程图,进行对流程图的基本设计,同样采用拖拽式设计
具体为点击左侧节点,右侧空白地方点击即可加入节点
9.对流转经过的节点进行设置,包括基本配置、审核人员设置及审核人员的权限设定、关联表单等
?
??
??
??
?11.节点全部设置完成后,一个简单的工作流就设计完成了,保存即可
?
?我们可以看到,这个流程的开发,全程都是可视化的,体验效果非常好。设计好的流程,可以在平台的流程管理中,发起流程,同时,你还可以查看待办的流程、进行流程的委托、查看自己相关流程的进度等。
工作流引擎只是平台功能的一部分,更多实用、好用的功能,后期也会逐步推荐给大家,喜欢的朋友们可以自己去体验看看。www.learun.cn