Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Жмём и храним байтики – Андрей Бородин
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
GopherCon Russia
March 28, 2020
Programming
110
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Жмём и храним байтики – Андрей Бородин
GopherCon Russia
March 28, 2020
More Decks by GopherCon Russia
See All by GopherCon Russia
Go Profiling from Bottom Up - Felix Geisendörfer
gopherconrussia
0
270
Learning Unsung Gotchas of Go - Rashmi Nagpal
gopherconrussia
1
310
Прозрачный gRPC-proxy один-ко-многим - Андрей Смирнов
gopherconrussia
0
190
Из Python в Go и обратно - Андрей Минкин
gopherconrussia
0
190
Оптимизация работы с PostgreSQL в Go: от 50 до 5000 RPS - Иван Осадчий
gopherconrussia
0
230
Пакет embed: распаковка знаний - Илья Данилкин
gopherconrussia
0
310
За пару мгновений до main() - Олег Ковалев
gopherconrussia
0
180
Тестирование в Go c Ginkgo и Gomega - Александр Егурнов
gopherconrussia
0
170
Building an Autoscaling HTTP Proxy for Kubernetes - Aaron Schlesinger
gopherconrussia
0
170
Other Decks in Programming
See All in Programming
contenteditable と日本語入力に向き合う
colorful12
0
200
Verilogで学ぶCPU自作入門
uyuki234
8
4.1k
ChromeでローカルLLM
ryu1013
0
140
IBM Bob Dojo #1 仕様駆動開発入門
oniak3ibm
PRO
0
400
JIS keyboard support in Omarchy
lef237
0
130
[Dev Group Paris Octobre 26] Agentforce, SIforce, Claudeforce, Slackbot… on s'y retrouve ?
nabondance
0
110
月間100万人のサービス刷新で、 技術選定をHonoに振り切った話
yutobara
8
6.7k
残高管理から台帳サービスへの進化
artoy
1
200
re:Inventに行く前に知っておきたい現地参加のノウハウ
nokomoro3
0
440
TechTown - Creating Composable Callables in Contemporary C++
rollbear
0
130
自サークルのIdPからログアウトできるようになるまで
taiseiue
1
140
FactoryBotをやめればRSpecは速くなるのか?
yuta_onishi_97
0
700
Featured
See All Featured
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
220
Code Review Best Practice
trishagee
74
20k
How Software Deployment tools have changed in the past 20 years
geshan
2
35k
Ethics towards AI in product and experience design
skipperchong
2
440
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
4
4.4k
Paper Plane
katiecoart
PRO
5
54k
Automating Front-end Workflow
addyosmani
1369
210k
Large-scale JavaScript Application Architecture
addyosmani
516
110k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
710
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
600
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
480
Transcript
None
жмём и храним байтики Андрей Бородин, руководитель подразделения разработки РСУБД
с открытыми исходных кодом
Баги и особенности ваших зависимостей == ваши баги Андрей Бородин,
руководитель подразделения разработки РСУБД с открытыми исходных кодом
None
PostgreSQL в Яндексе ▎ Яндекс.Почта › Сколько-то сотен миллионов пользователей
› 1+ триллион строк, 1+ миллион запросов в секунду ▎ Яндекс.Облако › Несколько петабайт Постгреса › Много разных сервисов Яндекса живут в Облаке 5
НА cluster in the cloud Sync replication Async replication Backup
WAL archiving 6 М Network Object Storage
Специфика СУБД: backup API 7 LSN Файл 1 Файл 2
Файл 3 Start Stop
Специфика СУБД: дельта-копии не на CGO 8
Специфика СУБД: дельта-копии не на CGO 9
Специфика СУБД: дельта-копии не на CGO 10
Специфика СУБД: дельта-копии не на CGO 11
Специфика СУБД: дельта-копии не на CGO 12
Специфика СУБД:concurrent fetch 13 WAL-FETCH 1337 WAL-PREFETCH 1338 WAL-PREFETCH 1339
WAL-PREFETCH 1340
Специфика СУБД:concurrent archive 14 14 WAL-PUSH WAL-PUSH WAL-PUSH WAL-PUSH
Базы данных 15 Базы данных 15
Независимые компоненты 16 Сжатие Шифрование БД Хранилище Дешифровка Разжатие БД
None
Жмём байтики
lz4 19
lz4 20
lz4 21
lzma 22 ▎ Просто дорого по CPU
ZStd https://github.com/DataDog/zstd/issues/39 23
brotli 24
OpenPGP 25
libsodium 26
Push-based vs Pull-based executer 27
io.Reader vs io.Writer 28
io.ReadFull 29
Хранение
S3-based WAL-G 31
S3-based WAL-G 32 ▎ AWS умеет в криптографию
S3 ListObjectsV2() 33
S3 Retry 34
S3 35 ▎ буферизация и троттлинг
S3 параллелизм 36 › Он есть › Но не все
реализации его поддерживают
S3 – всё им поросло 37
Переезд в storages 38
GCP 39 › Нет мультипартов › Какие-то странные проблемы с
зависаниями и ретраями
Azure 40 ▎ Принесли контрибьюторы из KubeDB
FS 41 ▎ Проблемы с Windows build
SWIFT 42 ▎ Проблем нет, возможно, никто им не пользуется?
SSH\SCP 43 › Спрашиваю часто › Многие хотят сделать ›
То же самое с backblaze
Load Balancing https://www.backblaze.com/blog/design-thinking-b2-apis-the-hidden-costs-of-s3-compatibility/ 44
На стыке сжатия и хранения
Прогрев page cache 46
Баги и особенности ваших зависимостей == ваши баги Андрей Бородин,
руководитель подразделения разработки РСУБД с открытыми исходных кодом
Переиспользуемые компоненты WAL-G 48 ▎ Storages
Переиспользуемые компоненты WAL-G 49 ▎ Storages › S3 › Google
Cloud Storage › SWIFT › Azure › Локальная FS › SCP
Переиспользуемые компоненты WAL-G 50 ▎ Storages › S3 › Google
Cloud Storage › SWIFT › Azure › Локальная FS › SCP ▎ WAL parser
Переиспользуемые компоненты WAL-G 51 ▎ Storages › S3 › Google
Cloud Storage › SWIFT › Azure › Локальная FS › SCP ▎ WAL parser ▎ Compression
Баги и особенности ваших зависимостей == ваши баги Андрей Бородин,
руководитель подразделения разработки РСУБД с открытыми исходных кодом
None
54
55
56
Вопросы?
Андрей Бородин Руководитель подразделения разработки РСУБД с открытым исходным кодом
Спасибо!
[email protected]
@x4mmm