CN113254442A - 一种用于出行行业的分库分表方法 - Google Patents
一种用于出行行业的分库分表方法 Download PDFInfo
- Publication number
- CN113254442A CN113254442A CN202110556650.4A CN202110556650A CN113254442A CN 113254442 A CN113254442 A CN 113254442A CN 202110556650 A CN202110556650 A CN 202110556650A CN 113254442 A CN113254442 A CN 113254442A
- Authority
- CN
- China
- Prior art keywords
- data
- order number
- inquiry
- order
- historical
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 19
- 238000013500 data storage Methods 0.000 claims abstract description 8
- 239000002699 waste material Substances 0.000 abstract description 2
- 230000000694 effects Effects 0.000 abstract 1
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0633—Lists, e.g. purchase orders, compilation or processing
- G06Q30/0635—Processing of requisition or of purchase orders
Abstract
本发明公开了一种用于出行行业的分库分表方法,包括以下步骤:数据存储:创建若干个独立的MySQL库,根据订单数据特征分类存储;数据访问:非订单号查询转为订单号查询;将订单号查询分为单个订单号查询和批量订单号查询,本发明适用于存储技术领域,通过将将订单数据分为归档数据、热点数据及历史数据,分别存储于归档库、线上库及历史库内,使得相同硬件成本,更大程度地保证数据高效存储及访问,存储相同数据量订单,更大程度地节省存储空间,增加数据存储的灵活性和存储空间的利用率,减少硬件资源的浪费,根据数据特征,在保证访问效率的情况下,选择成本较低的硬件存储,降低数据访问的操作难度,提高数据访问效率,实现高效硬件资源利用和数据快速访问的效果。
Description
技术领域
本发明属于存储技术领域,具体是一种用于出行行业的分库分表方法。
背景技术
分库分表就是为了解决由于数据量过大而导致数据库性能降低的问题,将原来独立的数据库拆分成若干数据库组成,将数据大表拆分成若干数据表组成,使得单一数据库、单一数据表的数据量变小,从而达到提升数据库性能的目的。
随着业务的发展,业务数据量越来越大,原有单表数据存储不能满足业务快速发展的需求,需要将数据合理分散存储,以高效访问,降低系统延迟,业界传统的分库分表一般是严格按照时间或者用户等维度切分,灵活性和资源利用率上略显欠缺,其中,严格按照用户维度切分,需要司机冗余表、需要更多硬件资源,严格按照时间维度切分,批量订单查询场景查询复杂度高,需要扫描很多数据表。
发明内容
本发明的目的在于克服现有技术的缺陷,提供一种用于出行行业的分库分表方法。
为实现上述目的,本发明采用了如下技术方案:
一种用于出行行业的分库分表方法,包括以下步骤:
数据存储:
创建若干个独立的MySQL库,根据订单数据特征分类存储;
数据访问:
非订单号查询转为订单号查询;
将订单号查询分为单个订单号查询和批量订单号查询。
优选的,所述MySQL库数目为三个,包括归档库、线上库及历史库。
优选的,所述根据订单数据特征分类存储,包括:将订单数据分为归档数据、热点数据及历史数据,分别存储于归档库、线上库及历史库内;
所述归档数据为未派到司机且无后续访问的订单数据;
所述热点数据为近一个月的订单数据;
所述历史数据为超过一个月的订单数据。
优选的,所述非订单号查询转为订单号查询,包括:基于司机ID或者乘客ID,到ElasticSearch查询符合条件的订单号,转为订单号查询。
优选的,所述单个订单号查询,包括:对于热点数据,直接查询线上库,对于历史数据,先根据ElasticSearch定位分表,再到历史库查询数据,然后将查询结果返回。
优选的,所述批量订单号查询,包括以下步骤:
将批量订单号按月份分类,对于热点数据,直接查询线上表,对于历史数据,根据月份到历史库查询对应表,然后将查询结果合并返回。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
本发明通过将将订单数据分为归档数据、热点数据及历史数据,分别存储于归档库、线上库及历史库内,使得相同硬件成本,更大程度地保证数据高效存储及访问,存储相同数据量订单,更大程度地节省存储空间,增加了数据存储的灵活性和存储空间的利用率,减少了硬件资源的浪费,根据数据特征,在保证访问效率的情况下,选择成本较低的硬件存储,降低了数据访问的操作难度,提高了数据访问效率,实现高效硬件资源利用和数据快速访问的效果。
附图说明
图1是本发明一种用于出行行业的分库分表方法的数据存储流程图;
图2是本发明一种用于出行行业的分库分表方法中数据访问流程图。
具体实施方式
以下结合附图1-2,进一步说明本发明一种用于出行行业的分库分表方法的具体实施方式。本发明一种用于出行行业的分库分表方法不限于以下实施例的描述。
实施例:
本实施例给出一种用于出行行业的分库分表方法的具体结构,如图1-2所示,包括以下步骤:
数据存储:
创建若干个独立的MySQL库,根据订单数据特征分类存储;
数据访问:
非订单号查询转为订单号查询;
将订单号查询分为单个订单号查询和批量订单号查询。
具体地,MySQL库数目为三个,包括归档库、线上库及历史库。
具体地,根据订单数据特征分类存储,包括:将订单数据分为归档数据、热点数据及历史数据,分别存储于归档库、线上库及历史库内;
归档数据为未派到司机且无后续访问的订单数据;
热点数据为近一个月的订单数据;
历史数据为超过一个月的订单数据。
具体地,非订单号查询转为订单号查询,包括:基于司机ID或者乘客ID,到ElasticSearch查询符合条件的订单号,转为订单号查询。
进一步的,单个订单号查询,包括:对于热点数据,直接查询线上库,对于历史数据,先根据ElasticSearch定位分表,再到历史库查询数据,然后将查询结果返回。
进一步的,批量订单号查询,包括以下步骤:
将批量订单号按月份分类,对于热点数据,直接查询线上表,对于历史数据,根据月份到历史库查询对应表,然后将查询结果合并返回。
工作原理:
如图1所示,未派到司机且无后续访问的订单数据,记为归档数据,每天晚上业务低峰期定时归档到归档库内;
派到司机的订单数据中,近一个月的订单数据,记为热点数据,存储于线上库内,保证99.5%的业务高效访问,可以使用CPU、内存配置较高的机器,由于时间周期短,数据量在100G左右,可以用比较小的成本实现高效访问;
超过一个月的订单数据,记为历史数据,存储于历史库内,这部分数据依照传统方案分表,按月份切分,每个月一张独立的数据表,根据司机或乘客ID查询时,需要扫描全部分表;加入使用ElasticSearch存储部分关键字段配合,特点为大量存储,高效搜索,先用ElasticSearch查询索引字段查询用户或自己满足条件的订单号,定位分表,可以避免扫描全部分表,用以解决用户维度和司机维度的查询效率问题。
如图2所示,单个订单号的查询,热点数据直接查询线上库,否则,先根据ElasticSearch定位分表,再到冷库查询数据,然后将查询结果返回;
批量订单号查询,先按月份分批,若都是一个月内的热点数据,直接查询线上表,否则根据月份到历史库查询对应表,然后将查询结果合并返回根据司机ID或者乘客ID查询,先到ElasticSearch查询符合条件的订单号,然后转为按订单号查询。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (6)
1.一种用于出行行业的分库分表方法,其特征在于,包括以下步骤:
数据存储:
创建若干个独立的MySQL库,根据订单数据特征分类存储;
数据访问:
非订单号查询转为订单号查询;
将订单号查询分为单个订单号查询和批量订单号查询。
2.如权利要求1所述的一种用于出行行业的分库分表方法,其特征在于,所述MySQL库数目为三个,包括归档库、线上库及历史库。
3.如权利要求2所述的一种用于出行行业的分库分表方法,其特征在于,所述根据订单数据特征分类存储,包括:将订单数据分为归档数据、热点数据及历史数据,分别存储于归档库、线上库及历史库内;
所述归档数据为未派到司机且无后续访问的订单数据;
所述热点数据为近一个月的订单数据;
所述历史数据为超过一个月的订单数据。
4.如权利要求3所述的一种用于出行行业的分库分表方法,其特征在于,所述非订单号查询转为订单号查询,包括:基于司机ID或者乘客ID,到ElasticSearch查询符合条件的订单号,转为订单号查询。
5.如权利要求4所述的一种用于出行行业的分库分表方法,其特征在于,所述单个订单号查询,包括:对于热点数据,直接查询线上库,对于历史数据,先根据ElasticSearch定位分表,再到历史库查询数据,然后将查询结果返回。
6.如权利要求4所述的一种用于出行行业的分库分表方法,其特征在于,所述批量订单号查询,包括以下步骤:
将批量订单号按月份分类,对于热点数据,直接查询线上表,对于历史数据,根据月份到历史库查询对应表,然后将查询结果合并返回。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110556650.4A CN113254442A (zh) | 2021-05-21 | 2021-05-21 | 一种用于出行行业的分库分表方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110556650.4A CN113254442A (zh) | 2021-05-21 | 2021-05-21 | 一种用于出行行业的分库分表方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113254442A true CN113254442A (zh) | 2021-08-13 |
Family
ID=77183580
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110556650.4A Pending CN113254442A (zh) | 2021-05-21 | 2021-05-21 | 一种用于出行行业的分库分表方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113254442A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB886421A (en) * | 1957-01-25 | 1962-01-03 | Honeywell Regulator Co | Improvements in or relating to data processing apparatus |
CN104123340A (zh) * | 2014-06-25 | 2014-10-29 | 世纪禾光科技发展(北京)有限公司 | 一种数据库分表分页查询方法及系统 |
CN105243163A (zh) * | 2015-11-05 | 2016-01-13 | 国家电网公司 | 历史数据归档集成系统及方法 |
CN106372994A (zh) * | 2016-08-31 | 2017-02-01 | 北京炎黄新星网络科技有限公司 | 一种处理订单的方法和系统 |
CN106997557A (zh) * | 2017-03-23 | 2017-08-01 | 深圳市创梦天地科技有限公司 | 订单信息采集方法及装置 |
CN110888861A (zh) * | 2019-11-12 | 2020-03-17 | 上海麦克风文化传媒有限公司 | 一种新型大数据存储方法 |
-
2021
- 2021-05-21 CN CN202110556650.4A patent/CN113254442A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB886421A (en) * | 1957-01-25 | 1962-01-03 | Honeywell Regulator Co | Improvements in or relating to data processing apparatus |
CN104123340A (zh) * | 2014-06-25 | 2014-10-29 | 世纪禾光科技发展(北京)有限公司 | 一种数据库分表分页查询方法及系统 |
CN105243163A (zh) * | 2015-11-05 | 2016-01-13 | 国家电网公司 | 历史数据归档集成系统及方法 |
CN106372994A (zh) * | 2016-08-31 | 2017-02-01 | 北京炎黄新星网络科技有限公司 | 一种处理订单的方法和系统 |
CN106997557A (zh) * | 2017-03-23 | 2017-08-01 | 深圳市创梦天地科技有限公司 | 订单信息采集方法及装置 |
CN110888861A (zh) * | 2019-11-12 | 2020-03-17 | 上海麦克风文化传媒有限公司 | 一种新型大数据存储方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102163195B (zh) | 一种基于分布式、异构数据库统一视图的查询优化方法 | |
CN102521307A (zh) | 一种云计算环境下的无共享数据库集群并行查询处理方法 | |
CN103473276B (zh) | 超大型数据存储方法、分布式数据库系统及其检索方法 | |
CN103902544B (zh) | 一种数据处理方法及系统 | |
CN110147377B (zh) | 大规模空间数据环境下基于二级索引的通用查询方法 | |
CN102479223A (zh) | 数据查询方法及系统 | |
CN102521303A (zh) | 一种用于列数据库的单表多列序存储方法 | |
CN104361113A (zh) | 一种内存-闪存混合存储模式下的olap查询优化方法 | |
CN111597160A (zh) | 分布式数据库系统、分布式数据处理方法和装置 | |
CN1292125A (zh) | 通过有选择地使用属性或关键字值优化查询生成的方法和装置 | |
CN105117433A (zh) | 一种基于Hive解析HFile统计查询HBase的方法和系统 | |
CN105243169A (zh) | 一种数据查询方法及系统 | |
CN104636502A (zh) | 一种查询系统的数据加速查询方法 | |
CN101963999A (zh) | 音乐分类搜索引擎系统及音乐分类搜索方法 | |
CN110399395A (zh) | 基于预计算的加速查询方法、存储介质 | |
CN101408882A (zh) | 一种授权文档的检索方法和系统 | |
JPH07160557A (ja) | データベースアクセス処理方法 | |
CN102486775A (zh) | 业务数据的查询方法及装置 | |
CN113254442A (zh) | 一种用于出行行业的分库分表方法 | |
US20130013824A1 (en) | Parallel aggregation system | |
Taniar et al. | Aggregate-join query processing in parallel database systems | |
CN110399375A (zh) | 一种数据表索引创建方法及装置 | |
CN108241934B (zh) | 数据查询方法与装置 | |
CN116126973A (zh) | 气象格点数据管理方法和装置 | |
CN108509585A (zh) | 一种异构数据实时交互优化处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |