2010-02-11 3 views
3

Я создаю простую Changelog lib в CodeIgniter, которая будет в основном регистрировать сообщение каждый раз, когда кто-то добавляет, удаляет, изменяет или публикует сообщение в блоге. Я буду регистрировать сообщения в файлах партиями по 300. Таким образом, каждое 301-е сообщение отправляется в новый файл. Сначала я хотел записать журналы в простые .log-файлы, но потом у меня возникла идея на самом деле стилизовать эту вещь, и мне пришлось отделить каждый «атрибут» каждого сообщения (то есть: пользователь, сообщение, тип журнала , и т.д.). Так что файлы .log не могут быть и речи, поскольку извлечение информации будет больно.Файл изменений: YAML vs JSON vs CSV

Каков наиболее подходящий формат для такой задачи? Я уже исключил MySQL и XML, потому что они слишком тяжелые (особенно учитывая, что файлы журнала не будут превышать 300 строк). Я предложил YAML против JSON против CSV в названии, но есть ли еще лучшая альтернатива?

ответ

2

Я бы сказал, что все зависит от того, что вам нужно/хочу сделать с этими файлами:

  • CSV имеет одно преимущество: он может быть импортирован в Excel и таких приложений - которые могут быть полезны в например,
  • JSON читается на многих языках, включая Javascript; но нелегко читать человеком; и труднее изменить «вручную»
  • И YAML довольно легко читать; не трудно модифицировать вручную; но не уверены в доступности библиотек для чтения на нескольких языках.


Если вы ни в одной из этих ситуаций:

  • должен быть читаемым
    • по-человечески
    • на нескольких языках программирования
  • легко изменить
    • же ноты

Тогда я предполагаю, что все три формата будет хорошо ^^


Не зная больше, я бы либо CSV (для импорта в Excel материала), или JSON (для удобства переносимости).

+0

Спасибо за ваш ответ, ваши размышления были очень интересными.Согласно контексту, я думаю, что JSON - это формат, который я выберу. –

1

Я думаю CSV будет легче из-за нескольких причин:

  • сосчитать, сколько журналов уже находятся в списке (просто посчитать количество строк)
  • добавления материала в объект JSON может» t быть сделано путем добавления данных

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

+0

Вы не будете писать/писать JSON (или YAML) вручную, хотя - вы собираетесь использовать библиотеку. И тогда это просто вопрос «data <- read_json (json); длина (данные); data + = more_data; json_write (данные) '... – naught101