#сага — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #сага, aggregated by home.social.
-
Миграция без боли и даунтайма: как мы перевозили данные с MongoDB на PostgreSQL
Всем привет! Меня зовут Андрей, я бэкенд‑разработчик ядра Яндекс Диска. В индустрии я уже около 15 лет и повидал некоторое ПО. Последние три года занимаюсь ядром файловой системы — всем, что связано с метаданными о файлах. Однажды мы в Диске переносили общие данные из шардированного MongoDB в шардированный же PostgreSQL. После переноса пользовательских данных у нас осталась часть данных про общие папки.Их было сложно изолировать внутри шарда пользователя, и они остались в общей БД на MongoDB, которую мы так и назвали — CommonDB. Спустя время мы заметили, что общая БД не справляется с нагрузкой: все запросы перед выполнением должны были сначала получить информацию об общих папках, и только после этого они начинали работать. Поэтому надо было дублировать информацию ближе к другим данным пользователей — на их шарды. Однако при дублировании важно было избежать распределённых транзакций, так как они снижают общую производительность. Также проблемой был сам процесс перехода: у нас сотни миллионов пользователей, которые не должны были ощущать процесс перехода и потерять доступ к своим данным. При этом надо было выкатывать изменения не сразу на 100%, а частично, с возможностью в любой момент отключить функциональность. При выкатке также нельзя было допустить даунтайм. В статье я хочу поделиться опытом этой масштабной миграции. Под катом покажу, как вообще устроены сложные миграции и как к ним подходить. А также перечислю те пункты, на которые нужно обратить внимание, если вам предстоит миграция под нагрузкой. Замигрировать
https://habr.com/ru/companies/yandex/articles/945094/
#миграция_бд #сага #mongodb #postgresql #шеринг #миграция_данных #шардирование
-
Миграция без боли и даунтайма: как мы перевозили данные с MongoDB на PostgreSQL
Всем привет! Меня зовут Андрей, я бэкенд‑разработчик ядра Яндекс Диска. В индустрии я уже около 15 лет и повидал некоторое ПО. Последние три года занимаюсь ядром файловой системы — всем, что связано с метаданными о файлах. Однажды мы в Диске переносили общие данные из шардированного MongoDB в шардированный же PostgreSQL. После переноса пользовательских данных у нас осталась часть данных про общие папки.Их было сложно изолировать внутри шарда пользователя, и они остались в общей БД на MongoDB, которую мы так и назвали — CommonDB. Спустя время мы заметили, что общая БД не справляется с нагрузкой: все запросы перед выполнением должны были сначала получить информацию об общих папках, и только после этого они начинали работать. Поэтому надо было дублировать информацию ближе к другим данным пользователей — на их шарды. Однако при дублировании важно было избежать распределённых транзакций, так как они снижают общую производительность. Также проблемой был сам процесс перехода: у нас сотни миллионов пользователей, которые не должны были ощущать процесс перехода и потерять доступ к своим данным. При этом надо было выкатывать изменения не сразу на 100%, а частично, с возможностью в любой момент отключить функциональность. При выкатке также нельзя было допустить даунтайм. В статье я хочу поделиться опытом этой масштабной миграции. Под катом покажу, как вообще устроены сложные миграции и как к ним подходить. А также перечислю те пункты, на которые нужно обратить внимание, если вам предстоит миграция под нагрузкой. Замигрировать
https://habr.com/ru/companies/yandex/articles/945094/
#миграция_бд #сага #mongodb #postgresql #шеринг #миграция_данных #шардирование
-
Миграция без боли и даунтайма: как мы перевозили данные с MongoDB на PostgreSQL
Всем привет! Меня зовут Андрей, я бэкенд‑разработчик ядра Яндекс Диска. В индустрии я уже около 15 лет и повидал некоторое ПО. Последние три года занимаюсь ядром файловой системы — всем, что связано с метаданными о файлах. Однажды мы в Диске переносили общие данные из шардированного MongoDB в шардированный же PostgreSQL. После переноса пользовательских данных у нас осталась часть данных про общие папки.Их было сложно изолировать внутри шарда пользователя, и они остались в общей БД на MongoDB, которую мы так и назвали — CommonDB. Спустя время мы заметили, что общая БД не справляется с нагрузкой: все запросы перед выполнением должны были сначала получить информацию об общих папках, и только после этого они начинали работать. Поэтому надо было дублировать информацию ближе к другим данным пользователей — на их шарды. Однако при дублировании важно было избежать распределённых транзакций, так как они снижают общую производительность. Также проблемой был сам процесс перехода: у нас сотни миллионов пользователей, которые не должны были ощущать процесс перехода и потерять доступ к своим данным. При этом надо было выкатывать изменения не сразу на 100%, а частично, с возможностью в любой момент отключить функциональность. При выкатке также нельзя было допустить даунтайм. В статье я хочу поделиться опытом этой масштабной миграции. Под катом покажу, как вообще устроены сложные миграции и как к ним подходить. А также перечислю те пункты, на которые нужно обратить внимание, если вам предстоит миграция под нагрузкой. Замигрировать
https://habr.com/ru/companies/yandex/articles/945094/
#миграция_бд #сага #mongodb #postgresql #шеринг #миграция_данных #шардирование
-
Миграция без боли и даунтайма: как мы перевозили данные с MongoDB на PostgreSQL
Всем привет! Меня зовут Андрей, я бэкенд‑разработчик ядра Яндекс Диска. В индустрии я уже около 15 лет и повидал некоторое ПО. Последние три года занимаюсь ядром файловой системы — всем, что связано с метаданными о файлах. Однажды мы в Диске переносили общие данные из шардированного MongoDB в шардированный же PostgreSQL. После переноса пользовательских данных у нас осталась часть данных про общие папки.Их было сложно изолировать внутри шарда пользователя, и они остались в общей БД на MongoDB, которую мы так и назвали — CommonDB. Спустя время мы заметили, что общая БД не справляется с нагрузкой: все запросы перед выполнением должны были сначала получить информацию об общих папках, и только после этого они начинали работать. Поэтому надо было дублировать информацию ближе к другим данным пользователей — на их шарды. Однако при дублировании важно было избежать распределённых транзакций, так как они снижают общую производительность. Также проблемой был сам процесс перехода: у нас сотни миллионов пользователей, которые не должны были ощущать процесс перехода и потерять доступ к своим данным. При этом надо было выкатывать изменения не сразу на 100%, а частично, с возможностью в любой момент отключить функциональность. При выкатке также нельзя было допустить даунтайм. В статье я хочу поделиться опытом этой масштабной миграции. Под катом покажу, как вообще устроены сложные миграции и как к ним подходить. А также перечислю те пункты, на которые нужно обратить внимание, если вам предстоит миграция под нагрузкой. Замигрировать
https://habr.com/ru/companies/yandex/articles/945094/
#миграция_бд #сага #mongodb #postgresql #шеринг #миграция_данных #шардирование
-
https://www.wacoca.com/2005518/ 俳優・橋本環奈さんも登場! ハウステンボスの新エリア「ミッフィーワンダースクエア」オープニングセレモニー(2025年6月19日) ##橋本環奈 #báo #CâuChuyện #destan #gazete #HashimotoKanna #journal #KannaHashimoto #karatsu #Kashima #Kisah #krant #news #periódico #saga #Shinbun #takeo #tosu #ureshino #газета #Сага #अखबार #นักปรัชญา #หนังสือพิมพ์ #サガ #ニュース #三神 #企業 #佐賀 #佐賀新聞 #佐賀県 #佐贺 #唐津 #地方新聞 #報紙 #報道 #多久 #嬉野 #小城 #情報 #报纸 #新聞 #新聞社 #杵島郡 #神埼 #藤津郡 #鳥栖 #鹿島 #사가 #신문
-
https://www.moezine.com/1750977/ 声優の南條愛乃さんひとこと動画(2025年2月23日) 声優の南條愛乃さんひとこと動画(2025年2月23日) ▶動画の記事はこちら: 🔍佐賀県の情報が満載! 佐賀新聞社のニュースサイト… ##南條愛乃 #Bao #CâuChuyện #destan #FemaleVoiceActors #gazete #journal #KARATSU #KASHIMA #Kisah #krant #news #periódico #saga #Shinbun #TAKEO #TOSU #URESHINO #VoiceActors #VoiceActresses #газета #Сага #अखबार #นักปรัชญา #หนังสือพิมพ์ #サカ #ニュース #三神 #企業 #佐賀 #佐賀新聞 #佐賀県 #佐贺 #唐津 #地方新聞 #報紙 #報道 #声優 #多久 #女性声優 #嬉野 #小城 #情報 #报纸 #新聞 #新聞社 #杵島郡 #神埼 #藤津郡 #鳥栖 #鹿島 #사가 #신문
-
https://www.moezine.com/1750977/ 声優の南條愛乃さんひとこと動画(2025年2月23日) 声優の南條愛乃さんひとこと動画(2025年2月23日) ▶動画の記事はこちら: 🔍佐賀県の情報が満載! 佐賀新聞社のニュースサイト… ##南條愛乃 #Bao #CâuChuyện #destan #FemaleVoiceActors #gazete #journal #KARATSU #KASHIMA #Kisah #krant #news #periódico #saga #Shinbun #TAKEO #TOSU #URESHINO #VoiceActors #VoiceActresses #газета #Сага #अखबार #นักปรัชญา #หนังสือพิมพ์ #サカ #ニュース #三神 #企業 #佐賀 #佐賀新聞 #佐賀県 #佐贺 #唐津 #地方新聞 #報紙 #報道 #声優 #多久 #女性声優 #嬉野 #小城 #情報 #报纸 #新聞 #新聞社 #杵島郡 #神埼 #藤津郡 #鳥栖 #鹿島 #사가 #신문
-
Эпическое программирование: пишем понятные и поддерживаемые саги
В мире микросервисов часто возникает необходимость сделать согласованные изменения в сервисах. Один из надёжных способов добиться этого — использовать паттерн «Сага», который помогает выполнять распределённые транзакции и при сбоях корректно откатывать изменения. Но, как всегда, есть нюансы, начиная от нереалистичных материалов на эту тему и заканчивая реальным опытом использования. Алексей Бакин занимается разработкой внутренних продуктов. Один из них — это API-прокси, предоставляющее внешние API для внутренних сервисов. Для реализации этого решения использовали паттерн «Сага».
https://habr.com/ru/companies/oleg-bunin/articles/877676/
#golang #сага #хореография #оркестрация #cтруктурный_подход #pivot #retry #panic #идемпотентность #пример_кода
-
Пиррова победа Domain-Driven Design
TL;DR: DDD неизбежно ведёт к избыточному (на порядки больше минимально необходимого) количеству саг в проекте, которые, в свою очередь, неизбежно ведут к нарушению целостности данных в БД. DDD вполне успешно решает поставленную задачу: дать разработчикам инструменты, которые позволят им справится (корректно реализовать и поддерживать) со сложной предметной областью. Но эта победа оказалась пирровой: инструменты, обеспечивающие корректность данных в памяти , оказались неспособны гарантировать корректность данных в БД . А что толку от изначально корректных данных в памяти, если со временем (после их сохранения в БД и последующего чтения) они перестают быть корректными? По сути, у DDD есть фатальный недостаток: DDD неизбежно приводит к нарушению целостности данных (инварианта бизнес-логики) в БД .
https://habr.com/ru/articles/800385/
#DDD #DomainDriven_Design #eventual_consistency #aggregate #saga #агрегат #сага