当前位置:网站首页>Principle of universal gbase high availability synchronization tool in Nanjing University
Principle of universal gbase high availability synchronization tool in Nanjing University
2022-07-05 12:27:00 【yang881221】
Data synchronization is an essential role in distributed databases . It's used by Nantah gbse8a Database products , As a mature market product , Its data synchronization function is also very perfect , Whether in terms of function or performance , Are impeccable .
Here is a brief explanation gbase8a The principle of product data synchronization .
As we all know , Data synchronization is both functional and performance . That is, it should be fast and accurate .
If the synchronized data is wrong or lost, it is unintentionally a failure , Similarly, if the data synchronization is accurate , But every time I have to toss for a long time , This is also unbearable .
Get down to business ,gbase8a The data synchronization of the product adopts the working mode of pipeline , combination client-server The model works , Ensure concurrent processing , Ensure the accuracy of data verification during synchronization .
But piecemeal data parallelization

The above figure shows the data of the same table , Parallelization of different data slices . If the data of a table has 1g, It is divided into 3 Slice to 3 Each node , After parallelization , Time can be changed into the original 1/3
Multi slice data parallelization

Thread processing piple line Pattern

piple line Mode can make full use of the processing power of multithreading , For example, some threads read data , Some threads verify the read data , Some threads write the correct data or send the correct data .
Because each thread and the magnitude of calculation and processing may be different , such as check Faster ,read slower , This will cause some threads to be busy and others to be idle
Then you can use different number of threads according to the business volume
piple+multi pthd Pattern

work -group Pattern : In this mode, state machine management is required , But this can do the most with the least number of threads , But the disadvantage is that the thread context will switch frequently

The above is the current gbase The specific principle of synchronization . It makes full use of the idea of concurrency and multi-core .
Of course, it can be optimized later , such as perthd Pattern , Lockless queue mode ,RCU Queue processing . Or introduce a collaboration process for processing .
边栏推荐
- How to recover the information server and how to recover the server data [easy to understand]
- Solve the problem of cache and database double write data consistency
- POJ-2499 Binary Tree
- Get all stock data of big a
- Halcon template matching actual code (I)
- Leetcode-1. Sum of two numbers (Application of hash table)
- MySQL splits strings for conditional queries
- Matlab superpixels function (2D super pixel over segmentation of image)
- ZABBIX monitors mongodb (template and deployment operations)
- Detailed steps for upgrading window mysql5.5 to 5.7.36
猜你喜欢

Simple production of wechat applet cloud development authorization login

Select drop-down box realizes three-level linkage of provinces and cities in China

Get all stock data of big a
Take you two minutes to quickly master the route and navigation of flutter

Check the debug port information in rancher and do idea remote JVM debug
A guide to threaded and asynchronous UI development in the "quick start fluent Development Series tutorials"

Get data from the database when using JMeter for database assertion

Tabbar configuration at the bottom of wechat applet

MySQL splits strings for conditional queries

Intern position selection and simplified career development planning in Internet companies
随机推荐
Complete activity switching according to sliding
MySQL constraints
II. Data type
JS for loop number exception
SENT协议译码的深入探讨
Basic operations of MySQL data table, addition, deletion and modification & DML
Understanding the architecture type of mobile CPU
How to design an interface?
A new WiFi option for smart home -- the application of simplewifi in wireless smart home
Swift - enables textview to be highly adaptive
Embedded software architecture design - message interaction
Constructing expression binary tree with prefix expression
Want to ask, how to choose a securities firm? Is it safe to open an account online?
语义分割实验:Unet网络/MSRC2数据集
Take you hand in hand to develop a service monitoring component
Implementing Yang Hui triangle with cyclic queue C language
一款新型的智能家居WiFi选择方案——SimpleWiFi在无线智能家居中的应用
Learn JVM garbage collection 05 - root node enumeration, security points, and security zones (hotspot)
Select drop-down box realizes three-level linkage of provinces and cities in China
Pytoch uses torchnet Classerrormeter in meter