Как на самом деле json хранится в базе данных документов NoSQL

#database #mongodb #cassandra #nosql #scalability

Вопрос:

Мне интересно, как JSON хранится в базе данных NoSQL, такой как MongoDB и другие. Если бы я хранил данные JSON в базе данных SQL, я мог бы сохранить их в виде столбца text(varchar). Но тогда я потерял бы преимущества базы данных NoSQL. Сохраняет ли база данных NoSQL JSON в файле? Как происходит обновление поля? Считывается ли полный файл в памяти, затем обновляется и записывается обратно в файл?

Комментарии:

1. В MongoDB BSON(двоичный json) сохраняется в базе данных, данные сжимаются , и перед каждым обновлением весь документ загружается в память. Файл создается для каждой коллекции и для каждого индекса, а не для каждого документа. Все это, насколько я знаю, может быть, кто-то еще может дать больше информации

Ответ №1:

Общий ответ-особенно потому, что вы говорите «MongoDB и другие» — «во многих отношениях, каждый, вероятно, уникален для ядра базы данных, принимающего JSON, и в какой тип целевого поля». Даже большинство новых реляционных баз данных имеют особую производительность и обработку типов для данных JSON, jsonb при этом тип столбца postgres является заметным отличием. Здесь нет простого, последовательно применяемого ответа.

Ответ №2:

Большинство баз данных NoSQL сохраняют json как VARCHAR или СТРОКУ. Различные базы данных NoSQL используют различную стратегию сохранения на диске. Например, Кассандра создает файл для каждой таблицы. Для каждого обновления C* просто добавляет данные в файл. Существуют такие процессы, как уплотнение, в которых данные в файле могут быть сжаты, для нескольких строк одного первичного ключа одна строка сохраняется в процессе уплотнения, уплотнение зависит от метки времени строки.

Операции обновления всегда требуют много времени и ресурсов. Большинство баз данных NoSQL не используют операцию обновления, операция обновления может быть внутренне преобразована в операцию вставки. Это означает, что для первичного ключа сигнала может существовать несколько строк одновременно. Процесс уплотнения обеспечивает объединение нескольких строк в одну строку.