当前位置:网站首页>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 .
边栏推荐
- ZABBIX customized monitoring disk IO performance
- Matlab struct function (structure array)
- How does MySQL execute an SQL statement?
- Design of music box based on assembly language
- Seven polymorphisms
- 7月华清学习-1
- Select drop-down box realizes three-level linkage of provinces and cities in China
- 只是巧合?苹果 iOS16 的神秘技术竟然与中国企业 5 年前产品一致!
- Automated test lifecycle
- 图像超分实验:SRCNN/FSRCNN
猜你喜欢
Redis highly available sentinel cluster
The survey shows that traditional data security tools cannot resist blackmail software attacks in 60% of cases
How can beginners learn flutter efficiently?
The evolution of mobile cross platform technology
Read and understand the rendering mechanism and principle of flutter's three trees
Get the variable address of structure member in C language
One article tells the latest and complete learning materials of flutter
ZABBIX ODBC database monitoring
Flutter2 heavy release supports web and desktop applications
Pytoch loads the initialization V3 pre training model and reports an error
随机推荐
MySQL transaction
How to design an interface?
byte2String、string2Byte
强化学习-学习笔记3 | 策略学习
The evolution of mobile cross platform technology
ZABBIX monitors mongodb templates and configuration operations
ABAP table lookup program
Swift - add navigation bar
One article tells the latest and complete learning materials of flutter
MySQL stored procedure
Pytoch monolayer bidirectional_ LSTM implements MNIST and fashionmnist data classification
Course design of compilation principle --- formula calculator (a simple calculator with interface developed based on QT)
Flutter2 heavy release supports web and desktop applications
A new WiFi option for smart home -- the application of simplewifi in wireless smart home
[superhard core] is the core technology of redis
Matlab boundarymask function (find the boundary of the divided area)
PIP command reports an error pip is configured with locations that requires tls/ssl problems
Master the new features of fluent 2.10
MySQL trigger
Read and understand the rendering mechanism and principle of flutter's three trees