2013-07-11 4 views
1

У меня есть большой json-файл из проекта веб-очистки, который я делал некоторое время. Теперь я пытаюсь создать веб-интерфейс с использованием данных JSON. Тем не менее, мне сложно найти лучший способ построить его.Работа с большим файлом json

Файл JSON выглядит следующим образом:

{ 
    "_id" : { "$oid" : "55d5c85a96cc6212bdd4ca08" }, 
    "name" : "Example", 
    "url" : "http://example.com/blahblah", 
    "ts" : { "$date" : 1073423706824 } 
} 

У меня есть несколько вопросов:

  1. Файл JSon будет добавлен в сверхурочное время, так что лучшим решением будет регулярно добавлять в базы данных или просто сохранить json-файл в облаке где-нибудь и извлечь из него, когда это необходимо?

  2. Если я помещаю его в базу данных, как я могу регулярно добавлять его в базу данных, не замедляя переднюю часть сайта? Я знаю, что могу использовать что-то вроде json_decode, но в основном я видел только примеры с несколькими строками json, может ли он использоваться для больших json-файлов?

  3. Если я поместил его в базу данных, будет ли реляционный db быстрее/эффективнее или что-то вроде mongodb?

+4

Определение "большой JSon файл". На сколько огромный? Несколько GB? Может ли он разбиваться на разделы, поэтому запрашиваются только необходимые детали?База данных * может быть решением, но мы недостаточно знаем о ваших потребностях. –

ответ

2

После этого много webscraping себя вот что я бы рекомендовал:

  1. Решают между реляционной и NON, реляционной базы данных. Если ваши данные постоянно меняются с неизвестным количеством параметров, я рекомендую использовать MongoDB (поскольку это почти JSON и полностью схематично, так легко добавить новые грани). Если ваши данные имеют одинаковый формат, то использование реляционной БД является хорошим шагом вперед. PostgreSQL и MariaDB - хорошие варианты с открытым исходным кодом.

  2. Преобразуйте данные текущего JSON в выбранный формат DB и вставьте его.

  3. Начинайте скрепывать прямо в БД, старайтесь больше не использовать файлы JSON.

  4. Читайте из базы данных для вашего переднего конца. Если вы выбираете Python, вы можете посмотреть flask как хороший вариант.

Существует также очень интересный вопрос о Store static data in an array or in a database ранее писал с некоторыми углубленными ответами, чтобы статические файлы против базы данных.

Если вы берете статические файлы из уравнения и используете базы данных, вот ответы на ваши 3 вопроса;

  1. Просто используйте базу данных.

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

  3. Все зависит от ваших данных

+0

Спасибо, что это было очень информативно! –

Смежные вопросы