1.一种优化阵列数据库数据并行加载性能的系统,其特征在于:包括监控引擎(1),监控引擎(1)收集数据库集群(2)的监控信息,将监控信息反馈到FASTLoad系统组件(3),FASTLoad系统组件(3)根据监控信息对待加载的数据进行分配方法数据加载;监控引擎(1)用于实时监控数据库节点(7);数据库集群(2)用于数据加载的执行;FASTLoad系统组件(3)用于数据的分割处理和加载。
2.根据权利要求1所述的优化阵列数据库数据并行加载性能的系统,其特征在于:所述FASTLoad系统组件(3)包括数据分区引擎(5),数据分区引擎(5)分析待加载的数据,将待加载的数据文件分割成子文件,然后将子文件加载到数据加载协调引擎(4),数据加载协调引擎(4)根据监控信息对待加载的数据子文件按照分配方法协调数据库集群(2)中的数据库节点(7)参与数据加载任务,数据加载完成后,阵列数据库集群的协调者(8)节点将更新自己的元数据。
3.根据权利要求1所述的优化阵列数据库数据并行加载性能的系统,其特征在于:所述的监控引擎(1)将监控信息存储在系统状态数据库(6)中,系统状态数据库(6)再将监控数据传送到FASTLoad系统组件(3)中。
4.根据权利要求1所述的优化阵列数据库数据并行加载性能的系统,其特征在于:所述的数据库集群(2)包括协调者(8)和数据库节点(7),数据库节点(7)连接有监控客户端(9),监控客户端(9)负责收集数据库节点(7)的性能和系统状态信息,并反馈到系统状态数据库(6)中。
5.根据权利要求1所述的优化阵列数据库数据并行加载性能的系统,其特征在于:所述的数据库集群(2)设置1个以上数据库节点(7)。
6.根据权利要求1所述的优化阵列数据库数据并行加载性能的系统,其特征在于:所述监控引擎(1)的采集数据包括:CPU利用率、内存量、磁盘读写速率、网络带宽利用率、过去t(600≤t≤7200)秒内任务的平均等待时间、任务数量等数据库节点负载。
7.根据权利要求1或2所述的优化阵列数据库数据并行加载性能的系统,其特征在于:基于下述分配方法来安排数据库节点(7)参与数据加载任务:(1)如果数据加载任务T及其子任务TA在某数据库节点(7)上运行时所需要的内存量,小于该数据库节点(7)的可用内存量的m%,则将该数据加载任务T及其子任务TA加入到任务队列中,等待执行;如果该数据加载任务T被指明为紧急任务,则将该数据加载任务T及其子任务TA在该数据库节点(7)的任务等待队列中进行插队,将其排到队列的最前面,等待当前正在执行的任务执行完后即可进行数据加载任务的执行;其中,0<m%≤80%;(2)如果某数据库节点(7)上的磁盘读写速率不到最高速度的d%,则将数据加载任务T及其子任务TA加入到任务队列中,等待执行;如果该数据加载任务T被指明为紧急任务,则将该数据加载任务T及其子任务TA在该数据库节点(7)的任务等待队列中进行插队,将其排到队列的最前面,等待当前正在执行的任务执行完后即可进行数据加载任务的执行;其中,0<d%≤60%;(3)如果某数据库节点(7)上当前正在等待执行的任务队列中的任务,其预估的平均等待时间小于t1秒,则将该数据加载任务T及其子任务TA加入到任务队列中,等待执行;如果该数据加载任务T被指明为紧急任务,则将该数据加载任务T及其子任务TA在该数据库节点(7)的任务等待队列中进行插队,将其排到队列的最前面,等待当前正在执行的任务执行完后即可进行数据加载任务的执行;其中,600≤t1≤7200;(4)如果所有的数据库节点(7)的负载都重,按照前述3条规则没有挑选到合适的执行数据加载任务的数据库节点(7),那么将数据加载任务T分成X个子任务,然后按照在过去的时间t2内,任务队列中的平均等待时间短的数据库节点(7)优先的原则,将数据加载任务T及其子任务TA予以分配执行;对于任务平均等待时间相同的数据库节点,则按照可用内存量大、CPU利用率低的优先原则,进行任务分配;如果该数据加载任务T被指明为紧急任务,则将数据加载任务T及其子任务TA在该数据库节点(7)的任务等待队列中进行插队,将其排到队列的最前面,等待当前正在执行的任务执行完后即可进行数据加载任务T的执行;其中,600≤t2≤7200,N/2≤X≤N。
展开