# Линейка двоичных кодировок KV-хранилищ: RDB, SSTable, LevelDB, RocksDB, Memcached

Побайтовое криминалистическое декодирование артефактов key-value хранилищ: RDB-снапшоты Redis, WAL-записи LevelDB/RocksDB, футеры SSTable, бинарные пакеты Memcached, заголовки страниц BoltDB и LMDB — с hex-diff ключевого пространства и матрицей TTL-экспирации.

> Каноническая страница: https://elysiatools.com/ru/tools/rdb-sstable-leveldb-rocksdb-memcached-binary-key-value-store-encoding-lineage

- **Категория:** Converter

- **Ключевые слова:** декодер redis rdb, футер sstable rocksdb, формат лога leveldb, бинарный протокол memcached, форензика kv store, crc64, декодер listpack, страница boltdb, заголовок lmdb

## Обзор

Криминалистический декодер двоичных кодировок семейства KV-хранилищ.

Поддерживаемые артефакты и что раскрывается:

· Redis RDB — магия "REDIS" + ASCII-версия, поля AUX (опкод 0xFA), SELECTDB (0xFE), RESIZEDB (0xFB), опкоды экспирации FD/FC, все типы значений от простых строк (int8/16/32 и сжатые LZF) до list, set, zset (ASCII- и бинарные double-оценки), hash, zipmap, ziplist, intset, quicklist v1/v2, listpack hash/zset/set (типы 16/17/18/20) с проверкой трейлера CRC-64 Jones.
· WAL LevelDB / RocksDB — блоки по 32 КиБ, 7-байтовые заголовки записей (маскированный CRC32C, длина u16, типы FULL/FIRST/MIDDLE/LAST), нулевые трейлеры.
· SSTable LevelDB / RocksDB — 48-байтовый легаси-футер (varint64 BlockHandles metaindex/index с паддингом до 40 байт + little-endian магия 0xdb4775248b80fb57 / 0x88e241b785f4cff7), префиксное сжатие блоков данных с точками перезапуска.
· Бинарный протокол Memcached — 24-байтовый заголовок (магия 0x80/0x81, опкод, разбивка key/extras/value, vbucket или статус, opaque, CAS), экстрас по опкодам вроде flags + expiry.
· BoltDB — 16-байтовый заголовок страницы и магия мета-страницы 0xed0cdaed; LMDB — флаги заголовка MDB_page (формат знаменит отсутствием магического числа).

Вставьте второй RDB-снапшот, чтобы получить diff ключевого пространства (добавленные/удалённые/изменённые ключи и сдвиг TTL) и матрицу экспирации относительно выбранного опорного времени.

RDB-путь проверен на реальных дампах redis-server 7.2.4; типы значений модулей и потоков (6/7/15/19/21) сообщаются, но не раскрываются.

## Входные данные

- **Бинарный снапшот A (hex-байты)** (textarea): e.g. 52 45 44 49 53 30 30 31 31 … (REDIS0011…), or 80 00 00 05 … for a memcached packet
- **Формат** (select)
- **Бинарный снапшот B (hex, опциональная база diff)** (textarea): Paste a second RDB snapshot here to get a keyspace diff + TTL drift matrix
- **Опорное время для матрицы TTL (Unix-секунды)** (number): 1790000000

## Когда использовать

- При аудите целостности или повреждения файлов RDB, SSTable или WAL с проверкой контрольных сумм CRC64 и CRC32C.
- При отладке сетевого трафика бинарного протокола Memcached с разбором опкодов, флагов, CAS и статусов.
- При сравнении двух снапшотов Redis для выявления добавленных, удалённых, изменённых ключей и дрейфа TTL.

## Как это работает

- Пользователь передаёт hex-представление двоичных данных и при необходимости выбирает формат вручную или оставляет автоопределение.
- Парсер разбирает внутренние структуры: магические числа, опкоды, AUX-поля, типы контейнеров (quicklist, listpack, intset, ziplist) и бинарные заголовки страниц.
- При указании второго снапшота и метки времени формируется матрица экспирации TTL и выполняется побайтовое сопоставление ключевых пространств.

## Сценарии использования

- Анализ дампов dump.rdb после аварийного завершения Redis для извлечения метаданных и ключей.
- Верификация сетевых запросов и ответов клиентов Memcached при разработке низкоуровневых драйверов.
- Исследование бинарных страниц хранилищ BoltDB и заголовков LMDB при низкоуровневой диагностике встраиваемых баз данных.

## Частые вопросы

### Какие контейнеры Redis RDB поддерживаются декодером?

Поддерживаются строки (int8/16/32, LZF), list, set, zset, hash, zipmap, ziplist, intset, quicklist v1/v2 и listpack hash/zset/set.

### Как работает автоопределение двоичного формата?

Оно проверяет сигнатуры: REDIS для RDB, магические байты 0x80/0x81 для Memcached, магии футеров SSTable, мета-страницы BoltDB и структуру WAL.

### Для чего требуется второй снапшот (hexInputB)?

Он используется для построения diff-отчёта ключевого пространства: подсчёта добавленных, удалённых, изменённых ключей и дрейфа сроков жизни TTL.

### Раскрываются ли типы модулей и потоков Redis Streams?

Опкоды потоков и модулей (типы 6, 7, 15, 19, 21) идентифицируются и отображаются в отчёте, но их внутреннее содержимое не разворачивается.

### Проверяется ли контрольная сумма файлов?

Да, декодер валидирует контрольные суммы CRC-64 Jones для дампов Redis RDB и маскированный CRC32C для записей журнала LevelDB/RocksDB.

## Связанные инструменты

- [Деобфускатор JavaScript](https://elysiatools.com/ru/tools/javascript-deobfuscator): Деобфусцирует и анализирует запутанный код JavaScript для улучшения читаемости и понимания
- [Оценщик обрезки Parquet по bloom-фильтрам, zone-картам, словарям и статистике колонок](https://elysiatools.com/ru/tools/parquet-bloom-filter-zonemap-dictionary-and-column-statistics-pruner-evaluator): Декодирует thrift-footer Parquet и количественно оценивает обрезку predicate pushdown: min/max zone-карт, split-block bloom-фильтры (XXH64), доли словарей и кодировки, с оценками экономии по группам строк для примерных предложений WHERE.
- [Декодер LTSSM и Lane Margining PCIe](https://elysiatools.com/ru/tools/pcie-link-training-linkstate-and-lane-margining-eye-decode): Разбор журнала обучения канала PCIe (последовательность LTSSM + упорядоченные наборы TS1/TS2): полная шкала Gen1-Gen6, согласованные скорость/ширина, биты идентификатора скорости, инверсия полярности и линий, фазы эквализации и диагностика перезапусков; оценка отчётов lane margining (CSV pcilmr) и тепловая карта глаза.
- [Форматировщик и минификатор SQL](https://elysiatools.com/ru/tools/sql-query-formatter): Форматирует или сжимает SQL с полным контролем диалекта (PostgreSQL, MySQL, SQLite, SQL Server/T-SQL, BigQuery, Snowflake и др.), регистра ключевых слов/идентификаторов/функций, стиля отступа (стандартный, табличный левый/правый) и пустых строк между запросами. Выводит результат с подсветкой синтаксиса и статистикой размера и числа операторов.
- [Конвертер TIFF в PDF](https://elysiatools.com/ru/tools/tiff-to-pdf): Преобразование TIFF изображений в PDF формат с настраиваемым размером страницы, ориентацией и настройками сжатия
- [Современный генератор уникальных ID](https://elysiatools.com/ru/tools/uid-generator): Генерирует современные идентификаторы: ULID, NanoID, Snowflake и CUID2. Сравнивайте форматы, декодируйте временную метку ULID.
- [Декодер сертификатов X.509](https://elysiatools.com/ru/tools/certificate-decoder): Разбирает SSL/TLS сертификат X.509 (вставить PEM или загрузить .pem/.crt) и показывает субъекта, эмитента, срок действия со статусом, открытый ключ, алгоритм подписи, серийный номер, SAN, использование ключа и отпечаток. Как openssl x509 -text, визуально. Локально.
- [Конвертер AVIF в TIFF](https://elysiatools.com/ru/tools/avif-to-tiff): Преобразование AVIF изображений в формат TIFF с качеством без потерь, опциями сжатия и профессиональными рабочими процессами

## Примеры

- [Примеры Hex/Unicode Конвертера](https://elysiatools.com/ru/samples/text-hex-unicode-formats): Тестовые примеры для преобразования hex и unicode escape-последовательностей
- [Примеры Обработки Изображений Android Java](https://elysiatools.com/ru/samples/android-image-processing-java): Примеры обработки изображений Android Java включая чтение/сохранение, масштабирование и преобразование формата
- [Примеры Обработки Изображений Android Kotlin](https://elysiatools.com/ru/samples/android-image-processing-kotlin): Примеры обработки изображений Android Kotlin включая чтение/сохранение, масштабирование и преобразование формата
- [Примеры Обработки Изображений Web Python](https://elysiatools.com/ru/samples/web-image-processing-python): Примеры обработки изображений Web Python используя PIL/Pillow включая чтение, сохранение, изменение размера и преобразование формата
