Jump to content

Синхронизация данных

Процесс синхронизации между сервером и двумя клиентами

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

Синхронизация данных необходима для обновления и обеспечения согласованности нескольких копий набора данных друг с другом или для поддержания целостности данных (рис. 3). [1] Например, репликация базы данных используется для синхронизации нескольких копий данных с серверами баз данных, которые хранят данные в разных местах.

Примеры [ править ]

Примеры включают в себя:

Проблемы [ править ]

Некоторые проблемы, с которыми может столкнуться пользователь при синхронизации данных:

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

форматов Сложность данных

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

Оперативность в реальном времени [ править ]

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

Безопасность данных [ править ]

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

Качество данных [ править ]

Качество данных является еще одним серьезным ограничением. Для лучшего управления и поддержания хорошего качества данных общепринятой практикой является хранение данных в одном месте и обмен ими с разными людьми и разными системами и/или приложениями из разных мест. Это помогает предотвратить несоответствия в данных.

Производительность [ править ]

Процесс синхронизации данных состоит из пяти различных этапов:

Каждый из этих шагов имеет решающее значение. В случае больших объемов данных процесс синхронизации необходимо тщательно спланировать и выполнить, чтобы избежать негативного влияния на производительность.

Файловые решения [ править ]

Существуют инструменты для синхронизации файлов , контроля версий ( CVS , Subversion и т. д.), распределенных файловых систем ( Coda и т. д.) и зеркалирования ( rsync и т. д.), поскольку все они пытаются синхронизировать наборы файлов. Однако только инструменты контроля версий и синхронизации файлов могут вносить изменения в более чем одну копию файлов.

  • Синхронизация файлов обычно используется для домашнего резервного копирования на внешних жестких дисках или обновления для транспортировки на флэш-накопителях USB . Автоматический процесс предотвращает копирование уже идентичных файлов, что позволяет сэкономить значительное время по сравнению с копированием вручную, а также является более быстрым и менее подверженным ошибкам. [2]
  • Инструменты контроля версий предназначены для ситуаций, когда несколько пользователей пытаются одновременно изменить один и тот же файл, а синхронизаторы файлов оптимизированы для ситуаций, когда одновременно будет редактироваться только одна копия файла. По этой причине, хотя для синхронизации файлов можно использовать инструменты контроля версий, специальные программы требуют меньших затрат .
  • Распределенные файловые системы также можно рассматривать как средство, обеспечивающее синхронизацию нескольких версий файла. Обычно для этого требуется, чтобы устройства, хранящие файлы, всегда были подключены, но некоторые распределенные файловые системы, такие как Coda, допускают отключенную работу с последующей сверкой. Возможности слияния распределенной файловой системы обычно более ограничены, чем возможности системы контроля версий, поскольку большинство файловых систем не поддерживают граф версий.
  • Зеркало (вычисления) . Зеркало — это точная копия набора данных. В Интернете зеркало сайта — это точная копия другого сайта в Интернете. Зеркальные сайты чаще всего используются для предоставления нескольких источников одной и той же информации и имеют особую ценность как способ обеспечения надежного доступа к большим загрузкам.

Теоретические модели [ править ]

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

Неупорядоченные данные [ править ]

Проблема синхронизации неупорядоченных данных (также известная как проблема согласования множеств ) моделируется как попытка вычислить симметричную разность между двумя удаленными устройствами и b-битных чисел. [3] Некоторые решения этой проблемы типичны:

Оптовая передача
В этом случае все данные передаются на один хост для локального сравнения.
Синхронизация временных меток
В этом случае все изменения данных отмечаются временными метками. Синхронизация осуществляется путем передачи всех данных с отметкой времени, более поздней, чем предыдущая синхронизация. [4]
Математическая синхронизация
В этом случае данные рассматриваются как математические объекты, а синхронизация соответствует математическому процессу. [3] [5] [6]

Заказные данные [ править ]

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

Иногда можно преобразовать проблему в проблему неупорядоченных данных с помощью процесса, известного как шинлинг (разделение строк на черепицы). [ нужны разъяснения ] ). [7]

Обработка ошибок [ править ]

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

Самый простой подход — иметь один главный экземпляр, который является единственным источником истины. Изменения в нем реплицируются на другие экземпляры, и один из этих экземпляров становится новым мастером в случае сбоя старого мастера.

Paxos и Raft — это более сложные протоколы, которые существуют для решения проблем с временными эффектами во время аварийного переключения, например, когда два экземпляра одновременно думают, что они являются главными.

Совместное использование секретов полезно, если сбои целых узлов очень распространены. Это перемещает синхронизацию из явного процесса восстановления в часть каждого чтения, где чтение некоторых данных требует извлечения закодированных данных из нескольких разных узлов. Если на некоторых узлах могут присутствовать поврежденные или устаревшие данные, этот подход также может выиграть от использования кода исправления ошибок .

DHT и блокчейны пытаются решить проблему синхронизации между многими узлами (от сотен до миллиардов).

См. также [ править ]

Ссылки [ править ]

  1. ^ Накатани, Кадзуо; Чуанг, Та-Тао; Чжоу, Дуаньнин (2006). «Технология синхронизации данных: стандарты, бизнес-ценности и последствия» . Сообщения Ассоциации информационных систем . 17 . дои : 10.17705/1cais.01744 . ISSN   1529-3181 .
  2. ^ А. Триджелл (февраль 1999 г.). «Эффективные алгоритмы сортировки и синхронизации» (PDF) . Кандидатская диссертация. Австралийский национальный университет.
  3. ^ Jump up to: Перейти обратно: а б Минский Ю.; Ари Трахтенберг ; Зиппель, Р. (2003). «Настройте согласование с почти оптимальной сложностью связи». Транзакции IEEE по теории информации . 49 (9): 2213–2218. CiteSeerX   10.1.1.73.5806 . дои : 10.1109/TIT.2003.815784 .
  4. ^ «Руководства по базе знаний для разработчиков Palm» . Архивировано из оригинала 11 марта 2002 г. Проверено 9 января 2007 г.
  5. ^ Ари Трахтенберг ; Д. Старобинский; С. Агарвал. «Быстрая синхронизация КПК с использованием интерполяции характеристического полинома» (PDF) . IEEE ИНФОКОМ 2002 . дои : 10.1109/INFCOM.2002.1019402 .
  6. ^ Ю. Мински и А. Трахтенберг, Согласование масштабируемого множества, Аллертонская конференция по коммуникации, управлению и вычислениям, октябрь 2002 г.
  7. ^ С. Агарвал; В. Чаухан; Ари Трахтенберг (ноябрь 2006 г.). «Сверка строк с эффективным использованием пропускной способности с помощью головоломок» (PDF) . Транзакции IEEE в параллельных и распределенных системах . 17 (11): 1217–1225. дои : 10.1109/TPDS.2006.148 . S2CID   4300693 . Проверено 23 мая 2007 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: ed450c05e5ebdabc6bf8410738c542ad__1706091000
URL1:https://arc.ask3.ru/arc/aa/ed/ad/ed450c05e5ebdabc6bf8410738c542ad.html
Заголовок, (Title) документа по адресу, URL1:
Data synchronization - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)