Можно ли сжимать / кодировать объект 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);