Канал для поиска исполнителей для разных задач и организации мини конкурсов
Last updated 1 month, 3 weeks ago
https://pdos.csail.mit.edu/6.824/papers/spanner.pdf - еще один, уже классический, подход по реализации консистентности в распределенной СУБД - "Spanner: Google’s Globally-Distributed Database".
Ребята из гугла придумали TrueTime API - он предоставляет время с некоторой точностью и на основе этого спроектировали MVCC который хорошо скейлится.
Продолжаем с классикой - "Calvin: Fast Distributed Transactions
for Partitioned Database Systems":
https://www.cs.yale.edu/homes/thomson/publications/calvin-sigmod12.pdf
СУБД которая реализована по принципам из статьи - YDB.
TL;DR
The essence of Calvin lies in separating the system into three separate layers of processing:
• The sequencing layer (or “sequencer”) intercepts transactional inputs and places them into a global transactional input
sequence—this sequence will be the order of transactions to
which all replicas will ensure serial equivalence during their
execution. The sequencer therefore also handles the replication and logging of this input sequence.
• The scheduling layer (or “scheduler”) orchestrates transaction execution using a deterministic locking scheme to guarantee equivalence to the serial order specified by the sequencing layer while allowing transactions to be executed concurrently by a pool of transaction execution threads. (Although
they are shown below the scheduler components in Figure 1,
these execution threads conceptually belong to the scheduling layer.)
• The storage layer handles all physical data layout. Calvin
transactions access data using a simple CRUD interface; any
storage engine supporting a similar interface can be plugged
into Calvin fairly easily.
Такой дизайн накладывает ограничение:
All transactions are therefore required to declare their full read/write
sets in advance;
Но есть трюки что бы его ~~почти~~ обойти.
Рекомендации от Databricks и других умных ребят как строить современное хранилище данных.
Кажется, что все крупные игроки уже так делают, хотя пейперу всего 3 года.
Пейпер легко читается - можно подчерпнуть некторые идеи.
А вот и форкнутый выпуск подкаста - рекомендуется к просмотру!
https://t.me/apacheigniteRus/172
Telegram
Apache Ignite Community RUS
Впереди долгие выходные, и к просмотру предлагается видео про то, как правильно писать "распределенные, конкурентные и устойчивые к падениям сервисы". Эксперты обсудили контринтуитивность подхода, его применимость и даже немного программировали на Яве, чтобы…
Сейчас занимаюсь исследованием проектов которые реализуют идеи Amazon Aurora (Cloud Native Postgres) - NeonDB - решение на слуху, пока не понял насколько готовое.
Исходники выглядят неплохо, есть тех.документация, RFC.
Дизайн описан в статье в их блоге - https://neon.tech/blog/architecture-decisions-in-neon
Neon
Architecture decisions in Neon - Neon
The idea behind Neon is to create a new serverless Postgres service with a modern cloud-native architecture. When building for the cloud it usually is a good idea to separate storage and compute. For operational databases such design was first introduced…
Если когда-то возникал вопрос "Как ConsumerGroup'ы работают в Кафке?" - то вот ответ: https://www.youtube.com/watch?v=MmLezWRI3Ys
GitHub
KAFKA-8104: Consumer cannot rejoin to the group after rebalancing (#7… · apache/kafka@00374c3
…460) This PR contains the fix of race condition bug between "consumer thread" and "consumer coordinator heartbeat thread". It reproduces in many production env...
Если когда-то возникал вопрос "Как ConsumerGroup'ы работают в Кафке?" - то вот ответ:
https://www.youtube.com/watch?v=MmLezWRI3Ys
YouTube
"The Magical Rebalance Protocol of Apache Kafka" by Gwen Shapira
Very few people know that inside's Apache Kafka's binary protocol for publishing and retrieving messages hides another protocol - a generic, extensible protocol for managing work assignments between multiple instances of a client application. When multiple…
Четвертый выпуск получился самым сложным по организации. Поругались до трех раз, переделали претезентацию два раза, форкнули подкаст - надеюсь наши усилия не пропадут даром и вам зайдет.
В этом выпуске мы даже писали код! И даже запускали его!!!
https://www.youtube.com/watch?v=ojtNJX0ik2I
YouTube
Программирование распределённых отказоустойчивых алгоритмов с использованием Rule-Based подхода
#distributed #ignite #concurrency Обсуждаем работу "Experience with Rules-Based Programming for Distributed, Concurrent, Fault-Tolerant Code" [1]. Работа предлагает подход к программированию распределённых алгоритмов, который упрощает написание и поддержку…
Классика разработки СУБД - ARIES - читать непросто, да и статья обьемная - но знать надо. Рекомендую к ознакомплению:
Канал для поиска исполнителей для разных задач и организации мини конкурсов
Last updated 1 month, 3 weeks ago