Exactly what it says on the tin.
This commit is contained in:
parent
d25a0536ba
commit
6a344eee0a
1 changed files with 72 additions and 0 deletions
72
An algorithmn for server backups.txt
Normal file
72
An algorithmn for server backups.txt
Normal file
|
@ -0,0 +1,72 @@
|
|||
0 1 2 3 4 5 6 7 8 9 0
|
||||
X
|
||||
X X
|
||||
X X X
|
||||
X - X X
|
||||
X - X X X
|
||||
X - X - X X
|
||||
X - X - X X X
|
||||
X - X - X - X X
|
||||
X - X - X - X X X
|
||||
X - - - X - X - X X
|
||||
when 4 in a row, delete 2nd
|
||||
|
||||
0 1 2 3 4 5 6 7 8 9 0
|
||||
1
|
||||
1 1
|
||||
1 1 1
|
||||
2 - 1 1
|
||||
2 - 1 1 1
|
||||
2 - 2 - 1 1
|
||||
2 - 2 - 1 1 1
|
||||
2 - 2 - 2 - 1 1
|
||||
2 - 2 - 2 - 1 1 1
|
||||
3 - - - 2 - 2 - 1 1
|
||||
3 - - - 2 - 2 - 1 1 1
|
||||
3 - - - 2 - 2 - 2 - 1 1
|
||||
3 - - - 2 - 2 - 2 - 1 1 1
|
||||
3 - - - 3 - - - 2 - 2 - 1 1
|
||||
3 - - - 3 - - - 2 - 2 - 1 1 1
|
||||
3 - - - 3 - - - 2 - 2 - 2 - 1 1
|
||||
3 - - - 3 - - - 2 - 2 - 2 - 1 1 1
|
||||
3 - - - 3 - - - 3 - - - 2 - 2 - 1 1
|
||||
3 - - - 3 - - - 3 - - - 2 - 2 - 1 1 1
|
||||
3 - - - 3 - - - 3 - - - 2 - 2 - 2 - 1 1
|
||||
3 - - - 3 - - - 3 - - - 2 - 2 - 2 - 1 1 1
|
||||
4 - - - - - - - 3 - - - 3 - - - 2 - 2 - 1 1
|
||||
4 - - - - - - - 3 - - - 3 - - - 2 - 2 - 1 1 1
|
||||
4 - - - - - - - 3 - - - 3 - - - 2 - 2 - 2 - 1 1
|
||||
4 - - - - - - - 3 - - - 3 - - - 2 - 2 - 2 - 1 1 1
|
||||
4 - - - - - - - 3 - - - 3 - - - 3 - - - 2 - 2 - 1 1
|
||||
4 - - - - - - - 3 - - - 3 - - - 3 - - - 2 - 2 - 1 1 1
|
||||
4 - - - - - - - 3 - - - 3 - - - 3 - - - 2 - 2 - 2 - 1 1
|
||||
4 - - - - - - - 3 - - - 3 - - - 3 - - - 2 - 2 - 2 - 1 1 1
|
||||
4 - - - - - - - 4 - - - - - - - 3 - - - 3 - - - 2 - 2 - 1 1
|
||||
4 - - - - - - - 4 - - - - - - - 3 - - - 3 - - - 2 - 2 - 1 1 1
|
||||
4 - - - - - - - 4 - - - - - - - 3 - - - 3 - - - 2 - 2 - 2 - 1 1
|
||||
4 - - - - - - - 4 - - - - - - - 3 - - - 3 - - - 2 - 2 - 2 - 1 1 1
|
||||
4 - - - - - - - 4 - - - - - - - 3 - - - 3 - - - 3 - - - 2 - 2 - 1 1
|
||||
4 - - - - - - - 4 - - - - - - - 3 - - - 3 - - - 3 - - - 2 - 2 - 1 1 1
|
||||
4 - - - - - - - 4 - - - - - - - 3 - - - 3 - - - 3 - - - 2 - 2 - 2 - 1 1
|
||||
4 - - - - - - - 4 - - - - - - - 3 - - - 3 - - - 3 - - - 2 - 2 - 2 - 1 1 1
|
||||
4 - - - - - - - 4 - - - - - - - 4 - - - - - - - 3 - - - 3 - - - 2 - 2 - 1 1
|
||||
4 - - - - - - - 4 - - - - - - - 4 - - - - - - - 3 - - - 3 - - - 2 - 2 - 2 - 1 1
|
||||
4 - - - - - - - 4 - - - - - - - 4 - - - - - - - 3 - - - 3 - - - 2 - 2 - 2 - 1 1 1
|
||||
4 - - - - - - - 4 - - - - - - - 4 - - - - - - - 3 - - - 3 - - - 3 - - - 2 - 2 - 1 1
|
||||
4 - - - - - - - 4 - - - - - - - 4 - - - - - - - 3 - - - 3 - - - 3 - - - 2 - 2 - 1 1 1
|
||||
4 - - - - - - - 4 - - - - - - - 4 - - - - - - - 3 - - - 3 - - - 3 - - - 2 - 2 - 2 - 1 1
|
||||
4 - - - - - - - 4 - - - - - - - 4 - - - - - - - 3 - - - 3 - - - 3 - - - 2 - 2 - 2 - 1 1 1
|
||||
5 - - - - - - - - - - - - - - - 4 - - - - - - - 4 - - - - - - - 3 - - - 3 - - - 2 - 2 - 1 1
|
||||
|
||||
|
||||
The amount of data used, compared to data requested to save... is at most 3 * log2(n)
|
||||
In other words, you can "save" 10000 data points, and have the algorithm back up only 3 * log2(n) of them
|
||||
This means that... we can back up the server. Every hour. Every day. For 40 years. And only use 20 storage slots
|
||||
|
||||
Problem is that inserting a new element may cause a chain reactin where data gets deleted and deleted. At worst case, it could be log(n)
|
||||
If deleting server backups take time... then we should probably run server backups asyncronously or at off-hours of the server time
|
||||
Still, this backup method is incredibly helpful.
|
||||
2^n / 3
|
||||
|
||||
|
||||
|
Loading…
Reference in a new issue