System Design Глава 7: Проектирование генерации уникального идентификатора / Владимир Перепелица, Артем Бояршинов - podcast episode cover

System Design Глава 7: Проектирование генерации уникального идентификатора / Владимир Перепелица, Артем Бояршинов

Apr 01, 20231 hr 49 minSeason 3Ep. 21
--:--
--:--
Download Metacast podcast app
Listen to this episode in Metacast mobile app
Don't just listen to podcasts. Learn from them with transcripts, summaries, and chapters for every episode. Skim, search, and bookmark insights. Learn more

Episode description

Генерация уникального идентификатора в распределенной системе кажется тривиальной задачей - уже давно есть UUID, который генерируется на основе MAC адреса и локальных часов. Но не все так просто, вместе разобрались какие еще есть варианты - Артем сделал презентацию где мы обсудим альтернативные варианты. 


Помогать в обсуждении будут

📍Артем Бояршинов - разрабатываю в Мир Plat.Form онлайн систему межбанковских переводов. Немного менторю, иногда коммичу в популярные java-библиотеки вроде hibernate-validator, xmlunit, assertj. Даже вхожу в 20ку самых активных контрибьюторов в репозиторий с 40к звездочек. Изредка выступаю и пишу технические статьи. Обожаю изящные fluent API


📍Владимир Перепелица - архитектор и PM в Tarantool & VK Cloud. Хорошо разбирается в архитектуре и топологии баз данных. Особенно любимые — In-Memory. Курировал разработку синхронной кворумной репликации и механизма фейловера на базе Raft в Tarantool.


📍Николай Голов - Head of data engineering at ManyChat, знает все о том как построить OLAP и OLTP систему, в деталях разбирается в построении аналитических систем.


Ламповый чат https://t.me/backend_megdu_skobkah

Канал с анонсами https://t.me/megdu_skobok

YouTube https://youtu.be/3LBFnLGo1hQ


Полезные ссылки 👇

1. K-sorted (roughly sorted) последовательности: https://www.researchgate.net/publication/262154069_Roughly_sorting_sequential_and_parallel_approach

2. RFC-4122 на UUID: https://www.rfc-editor.org/rfc/rfc4122.html 

3. Подход к генерации идентификаторов в Planetscale: https://planetscale.com/blog/why-we-chose-nanoids-for-planetscales-api 

4. Java UUID Generator - библиотека для генерации UUID различных версий: https://github.com/cowtowncoder/java-uuid-generator 

5. Калькулятор для подсчета вероятности коллизий при рандомной генерации: https://zelark.github.io/nano-id-cc/ 

6. ULID https://github.com/ulid/spec 

7. NanoId https://github.com/ai/nanoid 

8. Анонс Snowflake Id: https://blog.twitter.com/engineering/en_us/a/2010/announcing-snowflake 

9. Исходники Snowflake Id: https://github.com/twitter-archive/snowflake/tree/scala_28 

10. Hazelcast flake id generator: https://docs.hazelcast.com/imdg/4.2/data-structures/flake-id-generator 

For the best experience, listen in Metacast app for iOS or Android
Open in Metacast
System Design Глава 7: Проектирование генерации уникального идентификатора / Владимир Перепелица, Артем Бояршинов | { между скобок } podcast - Listen or read transcript on Metacast