JSON-файл VS SQLite android

Я разработаю приложение для Android с большим количеством данных (json-файлы с некоторыми строками и CSV для графических данных с большим количеством строк), эти данные изменяются каждые 5 минут и заменяют все предыдущие данные (или в основном).

Каковы наилучшие подходы к его разработке? У меня есть 2 варианта:

Какой подход будет наилучшим? Это учитывает время для разбора файлов, сортировки данных, времени загрузки и согласованности данных.

Любые другие идеи?

PD: Мне тоже нужна система кэширования, если у меня нет интернета, и мне нужны предыдущие сохраненные данные

Solutions Collecting From Web of "JSON-файл VS SQLite android"

Sqlite в основном используется, когда вы хотите сохранить и использовать данные в будущем. В вашем случае данные меняются каждые 5 minutes поэтому лучше иметь JSON потому что каждый раз, чтобы сделать store Database connection к базе Database connection и retrieve через 5 minutes , потребуется некоторое время.

ОБНОВИТЬ:

У меня также было такое же приложение, в котором данные менялись каждый раз. В этом случае я использовал Map<K, V> и ArrayList для поддержания значений, потому что, поскольку данные меняются каждый раз, я думаю, что не всегда возможно хранить данные в Sqlite каждый раз. Для выполнения работы с хранилищем DB Connection требуется много времени, загрузка, обновление данных в Sqlite.

Преимущества SQLite:

  • Изменения: ACID
  • Вы можете быстрее выполнять сложные запросы (например, «дайте мне только поля A, B из элементов с (C / D)> E»)
  • Я бы поставил более компактный для больших данных (целые числа хранятся как целые числа вместо строки отдельной цифры)
  • Только один файл
  • Вы можете легко объединить старые данные с новыми данными
  • Вы можете обновлять текущие данные, даже при использовании
  • Параллелизм можно обрабатывать

Преимущества для JSON / CSV:

  • Легче отлаживать (простой текст)
  • Быстрее сделать все обновление (скопируйте новый файл + удалите старый)

Для исходного вопроса все удаление / замена данных делает JSON / CSV победителем.

Однако, если приложение должно было получить частичные данные каждые 10 секунд и объединить / обновить его с предыдущим, SQLite будет лучшим вариантом.

Я рекомендую использовать JSON или некоторый тип сериализации объектов, если:

  • Для выполнения операций записи требуется соответствие ACID
  • Вам необходимо сообщить данные, которые могут включать в себя копирование данных на внешнюю СУБД или
  • Вы хотите присоединиться к этим соучастникам в чрезмерном использовании / злоупотреблении базами данных, как это обычно наблюдается в наши дни

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

Цель JSON и SQLite полностью отличается друг от друга

  • JSON = используется для отправки и получения данных между сервером и клиентом.
  • SQLite = используется для хранения данных.