本申请涉及数据库系统用户数据处理,例如涉及一种数据库单表大数据处理装置及方法。
背景技术:
1、单表大数据是指数据量很大但所有数据都存储在一张数据表中的情况,传统的关系型数据库在处理单表大数据时可能会遇到性能瓶颈、查询速度变慢的问题,关系数据库本身比较容易成为系统瓶颈,单机存储容量、连接数、处理能力都有限,当单表的数据量达到100w或100g以后,由于查询维度较多,即使添加从库、优化索引,做很多操作时性能仍下降严重,此时就要考虑对其进行切分,切分的目的就在于减少数据库的负担,缩短查询时间。
2、然而切分数据表都会导致上层应用的业务逻辑复杂化,在现实项目中为避免过度设计和过早优化只有当数据量达到单表瓶颈时再考虑切分,然而切分时又会引入数据备份和迁移等复杂问题。
3、需要说明的是,在上述背景技术部分公开的信息仅用于加强对本申请的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现思路
1、为了对披露的实施例的一些方面有基本的理解,下面给出了简单的概括。所述概括不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围,而是作为后面的详细说明的序言。
2、本公开实施例提供了一种数据库单表大数据处理装置及方法,以减缓单表大数据量时通过切分方式进行优化而导致的上层业务复杂度提高的技术问题。
3、在一些实施例中,所述装置包括sql层、数据代理层和存储层,
4、sql层被用来对数据访问进行权限检查、sql解析和实物处理;
5、数据代理层对每个数据表例化为一个代理层实体,该代理层实体可配置主、外键对数据表进行自动横向切分,代理层实体通过隔离数据表的读写操作屏蔽切分影响、存储结构及用户数据。
6、优选的,存储层包括物理存储层,物理存储层用于磁盘和内存的物理存储,
7、sql层和物理存储层为关系型数据库原有分层,数据代理层介于sql层和物理存储层中间,数据代理层向上提供统一的数据获取接口,向下接入存储引擎完成数据读写。
8、优选的,数据库客户端,通过网络向服务端发送请求并接收服务端响应的设备和程序。
9、优选的,数据库客户端为client。
10、优选的,数据库客户端包括个人电脑、移动设备、web浏览器和移动应用程序,还包括向服务器发送请求、处理从服务器接收的响应和显示从服务器接收的信息或数据。
11、优选的,数据代理层用于数据转发与路由、数据缓存、数据转换和整合、数据安全、负载和监控日志。
12、优选的,存储层还包括硬盘驱动器、固态硬盘和闪存驱动器。
13、在一些实施例中,所述方法包括以下步骤:
14、s1.sql层接受client的sql语句并解析生成物理计划;
15、s2.根据物理计划针对每个数据表创建代理实例;
16、s3.数据代理层读取代理元数据查找数据表对应的存储信息;
17、s4.数据代理层代理调用存储引擎执行读/写数据表操作;
18、s5.数据代理层读取配置信息;
19、s6.根据配置对应的表字段对数据表进行横向拆分;
20、s7.将数据表数据对应字段进行分组,分组后的数据迁移到对应的虚表中;
21、s8.更新代理元数据中表拆分后的各个虚表信息。
22、本发明提供了一种数据库单表大数据处理方法。具备以下有益效果:
23、1、本发明中,通过将表单的数据进行分层处理,达到减少数据库的负担,缩短查询时间,同时优化了上层业务复杂度高的问题。
24、2、本发明中,可以显著提升数据处理的效率和性能,降低系统的运行成本,满足大数据时代对高效数据处理的需求。
25、以上的总体描述和下文中的描述仅是示例性和解释性的,不用于限制本申请。
1.一种数据库单表大数据处理的装置,包括sql层、数据代理层和存储层,其特征在于:
2.根据权利要求1所述的数据库单表大数据处理的装置,其特征在于:
3.根据权利要求1所述的数据库单表大数据处理的装置,其特征在于,还包括:所述数据库客户端,通过网络向服务端发送请求并接收服务端响应的设备和程序。
4.根据权利要求3所述的数据库单表大数据处理的装置,其特征在于:
5.根据权利要求4所述的数据库单表大数据处理的装置,其特征在于:
6.根据权利要求1至5任一项所述的数据库单表大数据处理的装置,其特征在于:
7.根据权利要求1至5任一项所述的数据库单表大数据处理的装置,其特征在于:
8.一种数据库单表大数据处理方法,其特征在于:包括以下步骤: