springboot插入大量数据进oracle怎么优化_星环科技一站式大数据平台TDH5.2.3版本功能解析...

与上一版本相比,TDH 5.2.3主要在系统的稳定性和性能上做了改进,包括Inceptor事务Compaction的性能优化,改进Guardian开启安全插件后的性能问题,解决Transwarp Manager在SUSE环境下的相关问题,扩展Transwarp Studio的功能,以及为TxSQL构建指标监控体系并提升整体稳定性。

Transwarp Inceptor

事务与Compaction优化

  • CTC表是为了保证事务执行正确性而额外维护的一张关键的表,记录了事务号和事务提交号,以保证事务严格按提交的逻辑顺序执行。随着执行事务的增加CTC表将不断变大,当过大时,会拖慢和CTC表相关的操作效率。本版本针对CTC表的读取和查询效率做了如下优化:

  1. 在CTC表上增加索引,提高查询效率。

  2. 在执行DROP / TRUNCATE清除操作后,及时清理对应表和分区在Metastore中记录的事务信息。

  3. 优化CTC的日志输出,从而减少IO资源占用。

基于锁的优化

  1. 对于ORC事务表进行DESCRIBE/SHOW/CREATE TABLE操作时不加锁。

  2. 缩短高并发量情况下的拿锁时间。

完善出错提示

对一些不支持的情况,之前的版本可能不做出错提示,导致在误用之后也很难察觉问题,因此本版本对以下场景增加了报错信息,以提升产品易用性:

  • 不支持UDF参数使用 DISTINCT 关键字。

  • 不支持使用LOAD语句导入数据到ORC事务表。

  • 当在复杂JOIN场景中使用OUTER JOIN Sign(+)时,需要改为显式OUTER JOIN。

SQL长度限制保护

对于使用BI报表工具生成SQL等场景,可能会出现SQL语句中UNION或IN list超长的情况,导致服务器OOM。为了避免这种情况,本版本将限制单条SQL的中允许出现的UNION和IN list个数,并提供参数以做设置,当系统检测出超过阈值时报错。

提升UDF对于Oracle兼容性

UDF方面,增强了与Oracle的兼容性。
  • DECODE(exprsearchresult)
    该函数的作用是把expr依次与search进行比较,当expr匹配search时返回search对应的result。兼容Oracle后的行为表现为:
  1. 如果(searchresult)是数值类型,则分析出result值(包括default)中优先级(BYTE < SHORT < INT < LONG < DECIMAL < FLOAT < DOUBLE)最高的数值类型,并将expr和所有search值都转换为该数值类型进行比较,返回值也转换为此类型。
  2. 否则,将expr和所有search值都转化为search的类型进行比较,返回值转换为result的类型。如果searchresult为CHAR类型,则使用VARCHAR2类型代替,且其长度为所有result值中最长的一个数据类型的长度。
  3. 增加了对NULL值的匹配支持:当expr为NULL时,可以和值为NULL的search匹配成功。

TDH_TODATE(date_str)

该函数的作用是把字符按照给定的格式,转化为标准日期格式或者指定格式,本版本后的行为会发生如下变化:

  1. 可以识别非法的日期,如TDH_TODATE("2018-02-31") 则会返回 NULL。

  2. 可以识别英文日期,如TDH_TODATE("25-MAR-18") 会返回 "2018-03-25"。

为单值分区插入增加类型判断

对于单值分区插入,当分区字段是数值类型( INT / DECIMAL / DOUBLE / FLOAT / SMALLINT / BIGINT )或者DATE类型时,之前的版本里对于不同格式的输入值没有统一处理,且对非法输入值也没有提示,这样在SQL运行结果错误时不利于定位问题。针对这些问题,本版本做了以下改进:

  • 对非法输入值报错提示。例如,如果Partition Key为DATE类型,当输入非法的日期字符串时将报错。

  • 统一输入。将格式不同的同一输入值转换为统一的格式,再插入到正确的分区。例如,当Partition Key为DATE类型时,'2012-2-7’和'2012-02-07’会被统一插入到分区'2012-02-07’。

  • 自动对数值类型做隐式转换。例如,Partition Key如果为INT类型,当向分区表插入浮点型数据时,则会先做隐式转换,将数值转换为2,再插入对应分区文件。

支持默认资源池

支持用户设置一个默认队列,当Inceptor调度器在Furion模式下未指定队列时,对于没有指定队列的任务将默认调度到该队列上。

Transwarp Guardian

从以下方面对Guardian开启安全后的性能问题进行优化:

  1. 改善HDFS Quota频繁检查可能导致的性能下降问题。

  2. 优化Guardian对访问请求的缓存机制,当Guardian对访问用户作权限判断时,对结果进行缓存,从而缩短下次对于相同权限判断的响应。

Transwarp Manager

  • 状态监控界面增加对于TxSQL的异常告警,方便TxSQL的运维与监控。

  • 服务安装后,若集群环境发生变化,服务升级时使用默认值可能会对服务造成影响,因此,自本版本开始,服务升级时不再重新推荐默认值。

Transwarp TxSQL

构建运维指标体系

监控资源、功能、指标情况,包括Paxos的生命周期的监控、SQL生命周期的监控、资源异常的监控等,在控制面板上以可视化方式输出。

平衡RTO与性能

由于TxSQL不同节点之间采用最终一致性模型,在高负载状态下,节点之间的数据差异不收敛,流水差距会越来越大,这样导致的结果是一旦Master出现故障,RTO的时间将会非常长。为此,我们通过在性能和RTO之间进行平衡,根据流水差距情况对Master执行事务的速度进行控制,从而避免RTO过大的情况出现。

稳定性提升

  • 解决了扩容机制出错失败的问题。

  • 优化Paxos存储的清理机制,避免占用大量空间,同时增加一些日志,实现更多监控以了解清理机制的工作状态。

  • 修复了高负载的情况下,RPC表现出的临时不稳定性问题。

  • 解决了CPU利用率的短暂升高会阻塞正常Paxos消息处理的问题。

性能调优

  • 解决了因Paxos消息处理和发送逻辑引发的性能波动问题。

  • 调整了TxSQL中MySQL的资源配置,其中包括:

  1. 增加内存缓冲区大小。

  2. 放宽MySQL文件打开数量的限制,允许更多文件数。

Transwarp Studio

工作流引擎 Workflow

  • 修复了Workflow界面设置执行记录保留时间不生效的问题。

  • 修复了Workflow工作流基本信息页面创建人显示为“无”的问题。

OLAP Cube引擎 Rubik

  • 支持分区字段。在之前的版本里,Rubik无法获取分区表中的分区字段。

  • 扩展了REST API功能,支持使用API方式进行增量构建。

  • 修复了开启安全的情况下,Rubik无法删除实例的问题。

欢迎升级

为得到更好性能和稳定性,建议TDH老版本的用户进行版本升级。获取产品包后,可以直接在Manager的应用市场界面将服务一键滚动升级到指定版本,具体步骤参考  http://support.transwarp.cn/t/topic/1910 。

dddd0c42b25897b8d04a4b6d4d1d9d78.png

06a1db18a16fb42913c344bf5ee1c0a4.png

简介 评测 投资 培训 巡展 媒体报道 认证考试 用户大会

014567ece2047b3c1262d7bc97e990a4.png

TDH TDC Sophon 流式计算 图数据库 闪存数据库

af7c7f919d33b546b177d43ac535e8d6.png

技术支持 深入机器学习 技术干货 白话大数据 小白学AI   

be8ec55a8d083fde4938ffcd0d89d505.png

金融 能源 交通 制造业 银行 基金 质检 航空 保险 物流 医疗

springboot插入大量数据进oracle怎么优化_星环科技一站式大数据平台TDH5.2.3版本功能解析..._第1张图片

你可能感兴趣的:(springboot插入大量数据进oracle怎么优化_星环科技一站式大数据平台TDH5.2.3版本功能解析...)