Значения · Наука и познание

Сериализация

существительное

Коротко о главном

Что такое сериализация

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

Преобразование трехмерного объекта в поток данных и файл
Преобразование трехмерного объекта в поток данных и файл
01

Преобразование объекта в поток байтов для хранения или передачи

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

Близкие слова

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

Для отправки профиля пользователя на сервер клиент выполняет сериализацию объекта в формат JSON.

Программа сохраняет настройки приложения, используя сериализацию данных в XML-файл.

02

Обеспечение совместимости между разными системами

Способ сделать данные понятными для разных языков программирования или платформ. Поскольку каждый язык имеет свои внутренние представления объектов, сериализация в стандартные форматы (JSON, Protocol Buffers, YAML) позволяет программе на Python прочитать данные, созданные программой на Java.

Близкие слова

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

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

API веб-сервиса использует сериализацию ответов в JSON для обеспечения совместимости с мобильными приложениями.

Чем сериализация отличается от архивирования

Часто эти понятия путают, но они решают разные задачи. Сериализация меняет структуру представления данных (из объекта в строку), сохраняя их логическую целостность и типизацию для последующего восстановления. Архивирование же (например, ZIP или GZIP) направлено на сжатие объема файлов без изменения их внутренней структуры. Можно сериализовать объект, а затем заархивировать полученный файл, но одно не заменяет другое.

Популярные форматы и протоколы

Для сериализации используются различные форматы. JSON и XML удобны для человека и хорошо поддерживаются веб-технологиями, но занимают больше места и медленнее обрабатываются машиной. Бинарные форматы, такие как Protocol Buffers или Apache Avro, не читаемы человеком напрямую, но значительно быстрее сериализуются и десериализуются, экономя трафик и процессорное время. Выбор формата зависит от требований к скорости, размеру данных и необходимости чтения логов вручную.