Глубокое погружение в German Strings

Глубокое погружение в German Strings

Мы хотим углубиться в тонкости реализации German Strings и рассказать о том, почему оптимизации, описанные в нашем предыдущем посте, необходимы для высокопроизводительной обработки строк....

сентября 4, 2024 · 6 минут · German Gorelkin
German Strings

German Strings

Строки концептуально очень просты: По сути, это обычная последовательность символов, верно? Почему же тогда каждый язык программирования имеет свою собственную, немного отличающуюся реализацию строк? Оказывается, строка - это нечто большее, чем «просто последовательность символов»....

сентября 3, 2024 · 8 минут · German Gorelkin
Распределенные данные. Слабые уровни изоляции

Распределенные данные. Слабые уровни изоляции

Транзакции, не затрагивающие одних и тех же данных, могут спокойно выполняться конкурентно, поскольку друг от друга не зависят. Проблемы конкурентного доступа (состояния гонки) возникают, только если одна транзакция читает данные, модифицируемые в этот момент другой, или две транзакции пытаются одновременно модифицировать одни и те же данные...

декабря 19, 2023 · 16 минут · German Gorelkin
Распределенные данные. Транзакции

Распределенные данные. Транзакции

Транзакция — способ группировки приложением нескольких операций записи и чтения в одну логическую единицу....

декабря 15, 2023 · 9 минут · German Gorelkin
Распределенные данные. Секционирование

Распределенные данные. Секционирование

В случае очень больших наборов данных необходимо разбить данные на секции (partitions), иначе говоря, выполнить шардинг (sharding) данных....

октября 19, 2023 · 15 минут · German Gorelkin
Основы Распределенных Систем. Часть 1

Основы Распределенных Систем. Часть 1

Распределенная система состоит из множества компонентов, возможно, находящихся на разных географических границах, которые взаимодействуют и координируют свои действия посредством передачи сообщений....

октября 7, 2023 · 4 минуты · German Gorelkin
Распределенные данные. Репликация с несколькими ведущими узлами

Распределенные данные. Конкурентные операции

Заметки из книги Клеппмана "Высоконагруженные приложения". Конкурентный доступ, время и относительность. Почему хорошо когда B причинно-следственно зависит от A. Зачем нужны векторы версий....

сентября 19, 2023 · 11 минут · German Gorelkin
Распределенные данные. Репликация с несколькими ведущими узлами

Распределенные данные. Репликация с несколькими ведущими узлами

Заметки из книги Клеппмана "Высоконагруженные приложения". Репликация с несколькими ведущими узлами и репликация без ведущих узлов. Зачем такой подход нужен и какие сложности несет; Обнуружение и исправление конфликтов; Как собрать кворум и чем он поможет....

сентября 16, 2023 · 14 минут · German Gorelkin
Распределенные данные. Репликация

Распределенные данные. Репликация

Заметки из книги Клеппмана "Высоконагруженные приложения". Зачем нужно распределять данные по разным нодам или даже ЦОДам; Чем отличается синхронная и асинхронная репликация; Как можно организовать реплкацию ведущего и ведомаго узла; Какие анамалии возможны при асинхронной репликации и какие гарантии можно дать....

сентября 7, 2023 · 13 минут · German Gorelkin