Hacker News Digest

Тег: #crdt

Постов: 3

Distributed Systems Classics (2017) (nvartolomei.com) 🔥 Горячее

Этот список представляет собой подборку ключевых работ, определивших развитие теории и практики распределённых систем. Он начинается с фундаментальной статьи Лампорта 1978 года о логических часах и упорядочивании событий — основы для понимания причинности в отсутствие глобального времени. Далее следует классическая формулировка проблемы византийских генералов (1982), показывающая пределы надёжности при наличии злонамеренных узлов. Работа Чанди и Лампорта (1985) вводит алгоритм распределённых снимков для фиксации согласованного глобального состояния, а доказательство ФЛП (1985) устанавливает фундаментальную невозможность достижения консенсуса в асинхронной системе даже при одном сбойном процессе.

Далее в списке идут seminal работы по репликации и консенсусу: Viewstamped Replication (1988) — предшественник Raft, Paxos в двух формах (оригинальное описание 1998 и упрощённая версия 2001), Bitcoin (2008) как первое практическое применение консенсуса в открытой среде, CRDTs (2011) для eventualmente-согласованных структур данных и, наконец, Raft (2014) — алгоритм консенсуса, разработанный для понятности и преподаваемости. Вместе эти работы образуют хронологическую цепочку идей, от теоретических основ до реализуемых систем, и остаются обязательными для изучения в области распределённых вычислений.

by grep_it • 14 сентября 2026 г. в 16:02 • 347 points

ОригиналHN

#bitcoin#byzantine#crdt#lamport#paxos#raft#viewstamped-replication

Комментарии (75)

Обсуждение дополняет список классических работ по распределённым системам, выделяя практические реализации и недооценённые труды. Chain Replication широко применяется в облачных системах (включая Facebook), хотя редко документируется публично. RFC 677 является истинным источником идей логических часов, что подтверждал Лампорт. Диссертация Джо Армстронга о надёжных системах при программных ошибках считается фундаментальной, но часто исключается из списков из-за объёма и формата. Разграничиваются Dynamo (исследовательский прототип) и DynamoDB (коммерческий продукт AWS) из-за разной архитектуры и гарантий согласованности. Отмечается, что CAP-теорема привела к ошибочным компромиссам в проектировании из-за нечёткого определения Availability. Rendezvous hashing признан более производительным и читаемым, чем consistent hashing, несмотря на сложности при расширении. Работы Лампорта заложили основу отрасли, связав причинность в системах с теорией относительности и сделав отношения между событиями приоритетнее абсолютного времени. Для глубокого понимания рекомендуется изучать его комментарии к статьям (особенно про автоматы состояний) и проходить практические задания курсов MIT 6.824 и 6.5840, так как только реализация позволяет осознать сложности согласованности и отказоустойчивости. В дискуссиях поднимаются вопросы о статусе диссертации Армстронга и о том, является ли CS ветвью теоретической физики из-за физических ограничений вычислительных моделей или же абстракции вроде λ-исчисления независимы от физики.

Sequoia backs Zed (zed.dev) 🔥 Горячее 💬 Длинная дискуссия

Sequoia ведёт раунд $32 млн для Zed
Суммарное финансирование превысило $42 млн. Четыре года мы строили самый быстрый IDE, но это лишь фундамент. Следующая цель — живое, непрерывное сотрудничество, где разговоры о коде всегда связаны с актуальным состоянием проекта.

Проблема снимков
Git ограничивает обсуждение коммитами и ветками. Между коммитами разработчик работает изолированно; обсуждения в чатах быстро теряют связь с кодом. ИИ-агенты тем более страдают: каждый их шаг требует снимка, что тормозит итерации.

DeltaDB: версионирование операций
Мы создаём DeltaDB — систему, которая фиксирует каждое изменение на уровне операций через CRDT. Она совместима с Git, но позволяет:

  • реальное время без снимков;
  • пермалинки на символы, выживающие при любом рефакторинге;
  • сохранение диалогов и контекста навсегда.

Как это работает
Инженер видит ошибку, кликает на строку и мгновенно получает историю обсуждений, предположений ИИ и решений команды. Всё — внутри IDE, без переключения на внешние сервисы.

Zed и DeltaDB будут open-source с платными опциями. Набираем команду — присоединяйтесь.

by vquemener • 20 августа 2025 г. в 12:13 • 421 points

ОригиналHN

#crdt#deltadb#git#ide#llm#open-source#sequoia#zed

Комментарии (282)

  • Вокруг Zed спор: продукт вызывает восторг качеством кода и скоростью, но $42 млн от Sequoia вызывают тревогу VC-«эншитификации».
  • Главные сомнения: окупится ли такой капитал на «просто редакторе» и не приведёт ли к навязыванию AI-фич и сбора данных.
  • Плюсы: финансирование даст ресурсы догнать Cursor/VS Code по AI и снизить трения миграции.
  • Тех-фишка: анонс DeltaDB — версионирование уровня каждого символа через CRDT, совместимое с git.
  • Часть пользователей уже ищет форки (Zedless) или возвращается к Sublime, опасаясь потери приватности и роста требований.

Automerge 3.0 (automerge.org) 🔥 Горячее

Automerge — это движок синхронизации данных с приоритетом локальной работы, упрощающий создание коллаборативных приложений. Выпущена версия 3.0.

Главное обновление — резкое снижение потребления памяти. Ранее хранение полной истории документов могло приводить к гигабайтам в ОЗУ. В 3.0 память сокращена более чем в 10 раз (иногда значительно больше), что делает Automerge применимым в куда большем числе сценариев.

Также упразднены избыточные API, особенно при работе со строками.

Если вы уже используете Automerge, обновляйтесь: формат файлов тот же, API почти полностью обратно совместим. Подробности — в руководстве по миграции. Если вы ещё не пробовали, сейчас хорошее время — производительность и надежность сильно выросли.

Чтобы узнать, как достигнуты улучшения, читайте далее.

  • Улучшенное использование памяти

    • Automerge хранит каждое изменение для офлайн-работы, конфликтов и истории; это требует большого объёма метаданных.
    • Раньше: сжатый колоночный формат «на диске», но при загрузке в память — несжатый вид, из-за чего ОЗУ раздувалось.
    • Теперь: сжатое представление используется и во время выполнения, давая огромную экономию. Пример: вставка «Моби Дика» — было ~700 МБ в v2, стало ~1,3 МБ в v3.
    • Меньше памяти — стабильнее нагруженные сервера синхронизации.
    • Для документов с длинной историей существенно ускорена загрузка (пример: с «не загрузилось за 17 часов» до 9 секунд).
  • Упрощение API

    • Два типа строк: «коллаборативные» (сливают правки) и «неколлаборативные».
    • В 1.0: обычные строки для неколлаборативных, класс Text — для коллаборативных.
    • В 2.0 (namespace next): сделали коллаборативный текст по умолчанию — строки для него, RawString для неколлаборативного.
    • В 3.0: закрепили новый подход — удалён Text, API next стал дефолтным; RawString переименован в ImmutableString.
  • Попробовать

    • Automerge 3.0 используется по умолчанию в последних @automerge/automerge-repo и @automerge/react (версия 2.1.0).
    • Новичкам — туториал. Существующим кодовым базам — руководство по миграции; если зависите от @automerge/automerge-repo, выполните npm update @automerge/automerge.
    • Проблемы — создавайте issue; вопросы — в Discord.

by surprisetalk • 03 августа 2025 г. в 15:08 • 336 points

ОригиналHN

#automerge#collaborative-editing#convex#crdt#data-synchronization#electricsql#local-first#performance-optimization#yjs#zero

Комментарии (29)

  • Обсуждение вокруг Automerge 3.0: многие впечатлены скачком производительности и «local‑first» подходом к CRDT; сравнивают с Yjs, ElectricSQL, Convex, Zero и интересуются бенчмарками.
  • Ключевой апгрейд: сжатое представление данных теперь используется на рантайме — память и время загрузки резко снижены (пример: «Моби Дик»: ~700 МБ → ~1,3 МБ в v3).
  • Вопросы по применимости: когда выбирать Automerge/Yjs (совместное редактирование, rich text) vs ElectricSQL (сервер — источник истины, синхронизация приложения). Также интерес к настройкам для «одиночной» кросс‑девайс синхронизации.
  • Технические вопросы: структура полурешётки, тип регистра карт (MV-Register vs LWW), поддержка перемещений в деревьях, permissioned-блоки в документе, интеграция с TipTap/ProseMirror, терминальные UI, C/Rust API и состояние C-обёртки.
  • Ответы/подсказки: TipTap можно использовать, обернув схему атрибутами Automerge; undo/redo меняется соответствующим образом; ссылки на конфликты в доках; перемещения в деревьях прототипировались (Клепманн), но, похоже, ещё не в основном релизе.
  • Практические интересы: какие железо/серверные ресурсы нужны для синка и сколько чтений/записей выдержит; запрос бенчмарков против Yjs и рекомендации по альтернативам (jsonjoy для перформанса).
  • Сообщество делится опытом кастомных CRDT, типобезопасностью, бизнес‑правилами и тем, как это вписать в Automerge; часть аудитории всё ещё ищет простое объяснение, «что именно делает» инструмент.