当前位置:网站首页>Aurora system model of learning database
Aurora system model of learning database
2022-07-06 13:23:00 【Li Suqing】
overview
Aurora yes AWS Provided Relational Database Service One of , oriented OLTP Business scenario .
The core idea
The performance bottleneck of data processing has shifted from storage and computing to the network .
Solution
take RedoLog Push down from the kernel to Aurora Multi tenant scalable storage services .
Introduce
Deposit is separate
In modern distributed cloud services , elastic and Extensibility Mostly through Deposit is separate Realization , The upper layer is stateless , Lower level shared distributed storage .
The introduction of distributed storage makes IO Operations can be executed concurrently , But there are advantages and disadvantages , Because of the local IO To the network IO The transformation of , The system performance will be limited by the network environment .
besides , Traditional database architecture 2PC、3PC Distributed transaction protocol , Due to the high requirements for the network environment , Will no longer apply to shared distributed storage architectures .
Kernel disassembly
Aurora The same is to use the storage and accounting separation architecture , In order to solve the above problems , take RedoLog Push down to the storage tier , The upper layer only needs to write to the storage layer RedoLog, Reduce network IO, also RedoLog Relevant functions of, such as fault recovery 、 Backup restore , Handled asynchronously by the storage layer .
WAL Benefits of falling into the storage tier ?
- Better fault tolerance .
- IOPS A lower .
- Asynchronous replication and recovery .
Persistence of large-scale systems
Aurora use Quorum Realize the persistence of storage layer , Set the total number of nodes to T, Every time you write N Nodes , Each read M Nodes , Yes Quorum Constraints ,N+M>T
establish , And because each write needs to be aware of the last write , therefore N>T/2
establish .
Think about ,Quorum It ensures that the written data will be read .
Area and availability area
The computer rooms of cloud computing companies are generally divided into several regions (Region), For example, a computer room in North China , A machine room in East China . Each region is divided into several isolated availability areas such as power and network (AZ), identical Region Of AZ It can be interconnected through intranet .
Nodes are deployed in the same AZ in , Lower network latency ; Deploy in different AZ in , Better disaster tolerance . stay Auraro in , Use 3 individual AZ, Every AZ hold 2 Copies , Write 4 read 3 The plan .
Segmented storage
If an error occurs , And another error occurred before the error was fixed , that Quorum It is likely to be broken , Breaking can be reduced by reducing the time to fix errors Quorom Probability ,Aurora Solve this problem by segmented storage .
Split the database volume into several 10GB Data segment size , Each paragraph has 6 Copies , Call this 6 Copies are one Protection Group, Average distribution in 3 individual ZA On . After segmentation, the space of each segment is smaller , Data recovery is also faster .
The log is the database
As mentioned above Quorum+Group Model ,IO Will be copied and enlarged , At the same time a lot of IO There will be synchronous waiting , Even with chain copying , We also have to face the problem of synchronization delay .
Traditional database writing will modify the data page first , Then record WAL, And in the Aurora in , Data pages will not be changed at the database level , Only records WAL, The log application will be applied asynchronously in the background WAL Generate data pages .
In the structure above , The primary instance logs to the storage layer , wait for 6 One copy of 4 Responses succeeded , The copy is responsible for applying the log to the data page . Although this is the same 6 Times magnified the write operation , But it greatly reduces the network load .
Principle of consistency
Because of the log , So there's no need for 2PC Let's do consistency , Instead, state consistency can be maintained asynchronously . stay Aurora in , Each copy maintains two values :VCL and CPL, Respectively represents the maximum applied log serial number , And the agreed maximum log serial number . And when recovering, it is more than VDL( Less than or equal to VCL One of the biggest CPL) Log is truncated .
I can't help thinking of Raft, This discord lastCommitted and lastApplied What is the same ?
About whether the latest data can't be read by the read operation ,Auraro Also associated with a read operation LSN( Log serial number ), Ensure that the read data pages are up-to-date through the sequential application of logs .
End
This article mainly talks about share disk、6 copy 、WAL These things , Not very detailed , It's mainly because I'm afraid of writing more and making more mistakes , For more details, please see the original . Non professional articles , If there is any mistake, please point it out .
边栏推荐
- How do architects draw system architecture blueprints?
- Interview Essentials: talk about the various implementations of distributed locks!
- Iterable、Collection、List 的常见方法签名以及含义
- 7.数组、指针和数组的关系
- 架构师怎样绘制系统架构蓝图?
- arduino+DS18B20温度传感器(蜂鸣器报警)+LCD1602显示(IIC驱动)
- 10 minutes pour maîtriser complètement la rupture du cache, la pénétration du cache, l'avalanche du cache
- MYSQL索引钟B-TREE ,B+TREE ,HASH索引之间的区别和应用场景
- Voir ui plus version 1.3.1 pour améliorer l'expérience Typescript
- 用栈实现队列
猜你喜欢
View UI plus released version 1.2.0 and added image, skeleton and typography components
MYSQL索引钟B-TREE ,B+TREE ,HASH索引之间的区别和应用场景
Introduction and use of redis
如何保障 MySQL 和 Redis 的数据一致性?
Arduino+ds18b20 temperature sensor (buzzer alarm) +lcd1602 display (IIC drive)
TYUT太原理工大学2022软工导论大题汇总
凡人修仙学指针-2
Record: the solution of MySQL denial of access when CMD starts for the first time
系统设计学习(二)Design a key-value cache to save the results of the most recent web server queries
Iterable、Collection、List 的常见方法签名以及含义
随机推荐
MySQL limit x, -1 doesn't work, -1 does not work, and an error is reported
Common method signatures and meanings of Iterable, collection and list
How to ensure data consistency between MySQL and redis?
There is always one of the eight computer operations that you can't learn programming
Summary of multiple choice questions in the 2022 database of tyut Taiyuan University of Technology
十分钟彻底掌握缓存击穿、缓存穿透、缓存雪崩
Fgui project packaging and Publishing & importing unity & the way to display the UI
What are the advantages of using SQL in Excel VBA
MYSQL索引钟B-TREE ,B+TREE ,HASH索引之间的区别和应用场景
MySQL Database Constraints
Data manipulation language (DML)
Experience summary of autumn recruitment of state-owned enterprises
继承和多态(上)
4.30动态内存分配笔记
All in one 1405: sum and product of prime numbers
图书管理系统小练习
TYUT太原理工大学2022软工导论大题汇总
Ten minutes to thoroughly master cache breakdown, cache penetration, cache avalanche
IPv6 experiment
Employment of cashier [differential constraint]