В этом руководстве в основном объясняется совместимость серверов, SDK и плагинов DolphinDB. Вы можете обратиться к требованиям каждого уровня совместимости, чтобы быстро узнать о потенциальных рисках обновлений. Для обновления безопасности последние стабильные версии сервера DolphinDB обеспечивают обратную совместимость.
Начиная с версий 1.30.17 и 2.00.5, DolphinDB будет указывать уровень совместимости каждой версии в примечаниях к выпуску. Будут указаны несовместимости и предоставлены соответствующие решения. Кандидаты на выпуск и стабильные версии сервера DolphinDB гарантируют как минимум обратную совместимость.
Обратная совместимость относится к способности более новой версии программного обеспечения принимать конфигурации, данные и программы, которые работали в старой версии.
Прямая совместимость относится к способности старой версии программного обеспечения принимать конфигурации, данные и программы новой версии.
Откат — это операция, которая откатывается к старой версии, когда после обновления обнаруживаются риски. Его можно разделить на три случая в зависимости от того, были ли обновлены файлы базы данных.
(1) Безусловный откат. Если новая версия не обновляет формат файлов данных, файлов журналов и метаданных, вы всегда можете вернуться к старой версии независимо от того, была ли запись данных после обновления.
(2) Откат после резервного копирования метаданных. Формат файла данных остаётся прежним, а формат метаданных был обновлён. Во время процесса перезапуска после обновления система выполнит контрольную точку в журнале редактирования для создания новых метаданных. Однако после возврата к старой версии файл метаданных в новом формате не будет читаемым. Мы можем сделать резервную копию метаданных перед обновлением на случай такой ситуации.
(3) Откат после корректного завершения работы. Был обновлён формат файла данных. Даже если пользователь не записывает данные после перезапуска, возможно, что данные будут записаны в файл базы данных журналом повтора. Таким образом, данные нельзя будет прочитать после возврата к старой версии. Чтобы решить эту проблему, DolphinDB поддерживает корректное завершение работы начиная с версий 1.30.17 и 2.00.5, чтобы гарантировать, что все данные в журнале повторов записываются в файл базы данных перед завершением работы узла.
Постепенное обновление: Традиционный способ обновления кластера обычно заключается в том, чтобы выключить все узлы и затем обновить их до новой версии перед перезапуском. Обновление таким образом, однако, вызовет прерывание обслуживания. Постепенное обновление означает, что обновления могут выполняться по узлам без прерывания обслуживания. После того как узел обновлён и работает нормально, обновляется другой узел и так далее, пока все узлы не будут обновлены.
Поддержка постепенных обновлений требует, чтобы форматы данных в памяти, включая протоколы передачи, протоколы сериализации и т. д., были полностью совместимы между новой и старой версией.
Во время постепенного обновления система остаётся в сети. Это требует, чтобы новая версия имела высокий уровень совместимости, и кластер должен быть развёрнут для обеспечения высокой доступности.
Совместимость плагинов и SDK: Совместимость плагинов и SDK включает двоичную совместимость и совместимость исходного кода.
Для плагинов двоичная совместимость означает, что старая версия плагинов (динамическая библиотека) может быть загружена и запущена на новой версии сервера. Исходная совместимость означает, что код, написанный с использованием... Старая версия плагина может быть запущена на новой версии без каких-либо модификаций. При обновлении сервера базы данных вы можете выбрать не обновлять плагины, если они удовлетворяют условиям бинарной совместимости.
Что касается SDK (Python, C++, Java, C# и т. д.), бинарная совместимость означает, что старая версия SDK (обычно в виде динамических библиотек) совместима с новой версией сервера. Исходная совместимость означает, что интерфейсы SDK совместимы с существующими клиентскими кодами.
В DolphinDB существует 5 уровней совместимости. Более высокий уровень совместимости имеет более строгие требования. Если версия удовлетворяет определённому уровню совместимости, все более низкие уровни совместимости также удовлетворяются.
Уровень совместимости 1 обычно гарантирует обратную совместимость для сервера DolphinDB, чтобы данные и коды старой версии можно было использовать в новой версии со следующими исключениями:
(1) Некоторые встроенные функции, объявленные устаревшими более 1 года, могут быть удалены. (2) Исходная совместимость плагинов может не поддерживаться, что означает, что файлы двоичных библиотек могут потребовать обновления, а скрипт, вызывающий функцию плагина, может потребовать модификации. (3) Бинарная совместимость SDK может не поддерживаться, то есть динамическая библиотека SDK должна быть обновлена, тогда как совместимость кода может быть гарантирована.
Требования к уровню совместимости плагинов и API различаются, поскольку плагины выполняются в том же процессе, что и сервер DolphinDB, и заголовочные файлы плагинов часто меняются по мере изменения сервера, в то время как SDK должны быть совместимы только с протоколом связи сервера.
Требования:
Руководство по обновлению:
Уровень совместимости 2 обеспечивает полную обратную совместимость. В дополнение ко всем требованиям уровня 1 уровень 2 требует, чтобы сервер DolphinDB был совместим со всеми функциями и кодами старой версии. Поддерживается исходная совместимость плагинов и SDK. После обновления двоичных файлов плагинов коды, написанные с помощью плагинов, могут продолжить работу.
Требования:
Руководство по обновлению:
Уровень совместимости 3 основан на уровне совместимости 2 и поддерживает двоичную совместимость плагинов и SDK.
Требования:
Руководство по обновлению:
Сделайте резервную копию метаданных контроллера и узлов данных перед обновлением. После отката вам нужно сначала восстановить резервные копии старой версии.
Уровень совместимости 4 основан на уровне совместимости 3 и требует, чтобы новую версию можно было условно откатить к старой версии и поддерживал поэтапное обновление, что означает, что кластеры DolphinDB можно обновлять по узлам. Когда один узел обновляется и работает стабильно, обновляется другой узел. Во время процесса обновления, если возникает исключение, вы можете быстро вернуться к старой версии, что значительно снижает риски обновления.
Кроме того, следует отметить, что для поддержки поэтапного обновления требуется, чтобы формат данных и протоколы передачи в памяти были полностью совместимы.
Требования:
Уровень совместимости 5 — это самый высокий уровень сервера DolphinDB, который поддерживает поэтапные обновления и безусловный откат.
Требования:
Требования для разных уровней совместимости показаны в таблице ниже:
Конфигурация | Функции и скрипты | Сохранённые данные | Плагины | SDK | Поэтапное обновление | Откат | |
---|---|---|---|---|---|---|---|
Уровень 1 | Совместимость | Встроенные функции, объявленные устаревшими более 1 года, могут быть удалены. | Обратная совместимость | Исходный код потенциально несовместим | Исходный код совместим | Возможно неподдерживаемый | Откат после корректного завершения работы |
Уровень 2 | Совместимость | Совместимо | Обратная совместимость | Исходный код совместим | Исходный код совместим | Возможно неподдерживаемый | Откат после корректного завершения работы |
Существует три типа основных версий DolphinDB: стабильные релизы, релиз-кандидаты и бета-релизы.
Обновление основной версии сервера DolphinDB, например с 1.20 до 1.30 или с 1.30 до 2.00, обычно соответствует стандартам Уровня 1, а иногда — Уровню 2. Уровень 1 может не поддерживать совместимость исходного кода плагинов или двоичную совместимость SDK. При обновлении DolphinDB может потребоваться обновить бинарные файлы библиотек плагинов и SDK, перекомпилировать API-клиентов и обновить скрипты, вызывающие функции плагинов. Пожалуйста, обратитесь к примечаниям к выпуску для получения подробной информации. Обратите внимание, что откат поддерживается на Уровнях совместимости 1 и 2, но требуется сделать резервную копию метаданных контроллера и узлов данных и корректно завершить работу перед обновлением.
Обновление версии патча сервера DolphinDB, например, с 1.30.17 до 1.30.18, обычно соответствует Уровням 4 или 5, а иногда только Уровню 3. Однако обновление минорной версии бета-релизов DolphinDB может иметь значительные модификации и соответствовать только стандартам Уровней совместимости 1 или 2.
Если при обновлении пропускаются версии, стандарты совместимости принимают минимальное значение уровней совместимости между соседними версиями. Например, уровень совместимости равен 4 при обновлении с 1.30.16 до 1.30.17 и 3 при обновлении с 1.30.17 до 1.30.18. Тогда обновление с 1.30.16 до 1.30.18 соответствует стандартам Уровня 3. Чтобы выполнить обновление с пропуском нескольких версий, вы можете обратиться в службу технической поддержки DolphinDB для оценки рисков.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )