Mysql Sub-table to achieve millions of million records distributed storage of the bulk query design patterns detailed _mysql

Source: Internet
Author: User

We know that we can put a large number of records of MySQL big table according to the primary key, Time field, conditional field, etc. into several tables and even saved in several servers.
The only problem is that the query is cumbersome across servers and can only be solved through the application. Talk about the solution in Java. Other language principles are similar.
The table here is not the partition of MySQL 5.1, but the person who has several tables or different servers for separating a table.
1. Application level Implementation
See schematic

Electthreadmanager table data Query Manager
It establishes a thread pool for each database or server of the table
AddTask ()-Add Task
Stoptask ()-Stop Task
GetResult ()-Get execution results
Fastest execution time = slowest MySQL node query consumption time
Slowest Execution time = timeout period
A ThreadPool busy process
1. If Threadpooln is very busy, (also means DB N is very busy);
2. New Query task arrives, AddTask (), a thread of the new task is added to the THREADPOOLN task Queue
3. The outer application has obtained other thread return results and continues to wait
4. The outer application waits for the time to timeout, calls Stoptask () sets the task all thread The outer application returns the STOP flag in the
5. After a certain period of time, Threadpooln takes the queue thread, because the thread runs directly when the stop bit is set.
2. JDBC Layer implementation
do a JDBC Driver wrapper, intercept PreparedStatement, Statement executequery ()
and then call Selectthreadmanager complete
3. MySQL partition
MySQL 5.1 partition function because of the single sheet of data across files, batch query the same problem, but it is implemented within the MySQL, do not need external caller concern. The principle of its query implementation should be broadly similar.
However, partition only solves the bottleneck of IO and does not solve the bottleneck of CPU calculation, so it cannot replace the traditional manual table method.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.