The invention discloses a high-performance method for realizing direct distribution of data in a distributed database by direct slicing in a driver. The method describes the implementation of an algorithm, including integrated slice algorithm in database driven, direct connection of each slice node bypassing the master node; for each slice to execute SQL to establish a blocking queue, re planning the batch of SQL, according to the batch submitted to the split node, write data; provide performance priority and data security priority two piecewise synchronous mode. The method by bypassing the master node of the traditional direct slice node, the existing single step SQL into parallel in each slice in batches according to the implementation of SQL, the whole process reduces the processing and transmission of intermediate links, reduce network load, improve the network utilization rate, fully exploit the the physical resources of each distributed node, resulting in the introduction of distributed database data in the scene can significantly improve the performance of import.
【技术实现步骤摘要】
一种在驱动中直连分片实现分布式数据库数据导入的高性能方法
本专利技术涉及数据库
技术介绍
数据库在备份、恢复、迁移等维护操作中,导入数据是一个常见的操作。分布式数据库一般应用于海量数据的场景,导入数据耗时往往很长。导入数据的性能,在生产环境中就尤为重要。导入数据的使用场景与正常使用的场景有所不同,它是一次性的,如失败可重做的,数据库一般处于低负载状态,各分片状态是良好而无显著差异的,各分片的SQL执行是相互独立的。利用这种场景的一些特征进行优化,是有可能获得一些针对性的性能提升。
技术实现思路
本专利技术阐述了一个算法实现,可以在数据导入的场景中显著提升导入性能。算法有如下特征:1、在数据库驱动中连接分布式数据库的主控节点,获取数据库的分片配置,冗余副本,分片规则等信息;2、在数据库驱动中集成分片算法,绕开主控节点直接连接各分片节点;3、对各分片待执行SQL建立阻塞队列。对SQL重新规划批次,按批提交到分片节点,写入数据;4、各分片同步方式提供两种选择:一:性能优先,以最先完成SQL执行的分片速度控制整体事务进度;二:数据安全优先,以所有分片完成SQL执行为准控制整体事务进度。本专利技术带来的性能提升主要来自两方面:一,绕开了主控节点,将导入数据的应用系统直连数据库分片节点,减少了一个中间传递步骤,去除了一个网络延迟环节,还减少了50%的网络流量,对性能提升效果是显著的;二,按批次提交SQL。算法在驱动中将SQL缓存到各分片的待执行阻塞队列中,在分片执行完成后立即组织下一批次SQL执行,在性能优先的模式下无需等待其他分片的完成,这可以将每个分片的性能 ...
【技术保护点】
一种在驱动中直连分片实现分布式数据库数据导入的高性能方法,其特征在于:1)它是一个处理分布式数据库分片节点SQL运行的特定算法。2)算法要求SQL命令可在各分片节点上独立执行,而无需跨节点运算。3)算法实现采用在数据库驱动中集成分片算法的方式,绕开分布式数据库的主控节点,直接与分片节点建立连接执行SQL。4)算法提供性能优先和数据安全优先两种工作模式。前者可以获得比常规驱动明显高出的SQL执行性能。
【技术特征摘要】
1.一种在驱动中直连分片实现分布式数据库数据导入的高性能方法,其特征在于:1)它是一个处理分布式数据库分片节点SQL运行的特定算法。2)算法要求SQL命令可在各分片节点上独立执行,而无需跨节点运算。3)算法实现采用在数据库驱动中集成分片算法的方式,绕开分布式数据库的主控节点,直接与分片节点建立连接执行SQL。4)算法提供性能优先和数据安全优先两种工作模式。前者可以获得比常规驱动明显高出的SQL执行性能。2.如权利1所述的在驱动中直连分片实现分布式数据库数据导入的高性能方法所指的处理分片节点SQL运行的特定算法,其特征在于:算法应在数据库驱动中实现,其接口界面是JDBC,面向应用系统,工作在应用系统和数据库分片节点之间;SQL执行不依赖主控节点,但需要从主控节点读取相关分片配置、副本冗余信息等数据。...
【专利技术属性】
技术研发人员:不公告发明人,
申请(专利权)人:江苏引跑网络科技有限公司,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。