Сжатие / кодирование Node.js Объект / JSON Строка Для вставки в PostgreSQL? - PullRequest
1 голос
/ 06 апреля 2020

Можно ли сжимать / кодировать объект Javascript, например

{
    '123.12': 10.2,
    '123.23': 11.3,
    '123.241': 9.38    
}

, чтобы он занимал меньше места для хранения при вставке в таблицу PostgreSQL, возможно, в bytea поле при необходимости?

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

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


Пример Node.js кода, который вставляет репрезентативный объект record в PostgreSQL с использованием Knex. js. record.data - это значение, которое необходимо сжать.

const record = {
    firstname: 'jack',
    lastname: 'ryan',
    data: JSON.stringify({    // <--- how can we compress this string/dictionary/object?
        '123.12': 10.2,
        '123.23': 11.3,
        '123.241': 9.38    
    })
}

knex('myTable').insert(record);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...