System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机,特别是涉及一种基于doris的数据写入方法、装置、设备和介质。
技术介绍
1、随着互联网业务的快速发展,越来越多的场景需要能够处理复杂的数据查询和多维度的数据分析,因此,基于mpp架构的apache doris分析型数据库被企业广泛应用。其仅需亚秒级响应时间即可返回海量数据下的查询结果,不仅可以支持高并发的点查询,也能支持高吞吐的复杂场景。然而,在使用doris数据库时,对于海量的数据写入,往往难以利用其高性能。因此,如何高效地将海量数据写入doris数据库成为了一项重要任务。
2、目前,对于doris的数据写入,常用的方式有stream load方式。然而,stream load只能实现对同一个表的数据写入,当同步多个库表时,需要频繁创建和销毁stream load连接对象,不利于连接维护,占用资源,难以满足系统的高性能要求。此外,doris使用传统的lsm-tree数据结构进行数据存储,存在较为严重的写入放大问题。
技术实现思路
1、基于此,为了解决以上问题本文提出了一种基于doris的数据写入方法、装置、设备和介质。由于doris数据写入需要对每个具体的表进行连接然后写入数据,现有普通的数据库连接池不能满足doris的数据写入场景,普通的连接池是针对于每个库进行的连接管理维护,本专利技术通过池化技术实现对每个表连接的统一管理与维护。
2、根据本专利技术的第一方面,提供了一种基于doris的数据写入方法,包括以下步骤:
4、获取连接步骤,从连接池中获取连接;
5、数据写入步骤,使用获取到的连接进行数据写入,在数据写入完成后将所述连接与表的对应关系解除,并将所述连接从活动连接中移除添加到空闲连接中。
6、在一些实施例中,所述配置参数包括:初始化连接数,连接最大空闲时间。
7、在一些实施例中,所述连接池包括:总连接池,活动连接池,空闲连接池;
8、所述总连接池用于管理活动连接池与空闲连接池二者的所有连接;
9、所述活动连接池用于存放活动连接以及活动连接与表的对应关系;
10、所述空闲连接池用于存放空闲连接。
11、在一些实施例中,还包括,释放连接步骤,当前总连接池中连接数大于初始化时总连接池中连接数时,对空闲连接中上次使用时间距离当前时间超出设定的连接最大空闲时间的连接进行回收释放。
12、在一些实施例中,新建的连接同时放入总连接池和活动连接池;活动连接池中连接可根据对应的表的表名取出。
13、在一些实施例中,所述从连接池中获取连接,包括:查看连接池的活动连接中是否有数据写入所需的表的连接,若有,则取出返回;
14、否则,查看连接池的空闲连接中是否有空闲连接,若有,则将其取出并放入活动连接池中,并与此表建立对应关系;
15、否则,创建新的连接放入活动连接池中,并与此表建立对应关系,同时存放在总连接池中。
16、在一些实施例中,所述数据写入方式为攒批写入。攒批期间有数据需要写入至doris时,根据表的表名在活动连接池中尝试获取连接;若有,则取出返回;
17、否则,查看空闲连接池中是否有空闲连接,若有,则将其取出并放入活动连接池中,并与此表建立对应关系;
18、否则,创建新的连接放入活动连接池中,并与此表建立对应关系,同时存放在总连接池中。
19、根据本专利技术的第二方面,提供了一种基于doris的数据写入装置,包括:系统初始化模块,用于设置doris的连接池的配置参数并初始化连接池;
20、获取连接模块,用于从连接池中获取连接;
21、数据写入模块,用于使用获取到的连接进行数据写入,在数据写入完成后将所述连接与表的对应关系解除,并将所述连接从活动连接中移除添加到空闲连接中。
22、根据本专利技术的第三方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,处理器执行计算机程序时实现上述任一实施例方法的步骤。
23、根据本专利技术的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一实施例方法的步骤。
24、通过实施本专利技术的上述方案,可以得到以下有益效果:
25、1.通过池化技术实现对doris每个表连接的统一管理与维护,提高了系统的资源利用率,增加了系统的平稳性;通过表连接的复用,也缩减了系统的整体响应时间,提高数据写入速度;支持数据写入的并发,提高应用程序的可伸缩性。
26、2.根据预设的初始化连接数和空闲连接占用时间,创建管理一个可释放回收空闲连接的连接池,避免每个表连接长期占用系统资源。
27、3.数据在攒批后写入doris,攒批数据写入可以减少磁盘i/o操作的次数,从而提高数据写入的效率;当一个操作涉及到多个数据的写入,将这些写入操作聚合在一起进行,确保它们全部成功或全部失败,从而提高数据的一致性。此外,攒批数据写入通过减少操作次数,减少cpu和内存的使用,起到节省资源的作用。
本文档来自技高网...【技术保护点】
1.一种基于Doris的数据写入方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的基于Doris的数据写入方法,其特征在于,
3.根据权利要求1所述的基于Doris的数据写入方法,其特征在于,
4.根据权利要求3所述的基于Doris的数据写入方法,其特征在于,
5.根据权利要求3所述的基于Doris的数据写入方法,其特征在于,
6.根据权利要求1所述的基于Doris的数据写入方法,其特征在于,
7.根据权利要求3所述的基于Doris的数据写入方法,其特征在于,
8.根据权利要求7所述的基于Doris的数据写入方法,其特征在于,
9.一种基于Doris的数据写入装置,其特征在于,包括:
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利
...【技术特征摘要】
1.一种基于doris的数据写入方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的基于doris的数据写入方法,其特征在于,
3.根据权利要求1所述的基于doris的数据写入方法,其特征在于,
4.根据权利要求3所述的基于doris的数据写入方法,其特征在于,
5.根据权利要求3所述的基于doris的数据写入方法,其特征在于,
6.根据权利要求1所述的基于doris的数据写入方法,其特征在于,
7.根据权利要求3所述的基于doris...
【专利技术属性】
技术研发人员:袁千贺,钱威,
申请(专利权)人:上海数禾信息科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。