Так что это скорее концептуальный вопрос.Могут быть некоторые фундаментальные понятия, которые я не совсем понимаю, поэтому, пожалуйста, укажите на любые ошибки в моем понимании.
Мне поручено разработать фреймворк, и часть его состоит в том, что у меня есть MySQL DB и REST API, который действует как уровень доступа к данным.Теперь пользователь должен иметь возможность анализировать различные данные (JSON, CSV, XML, текст, исходный код и т. Д.) И отправлять их в API REST, который сохраняет данные в БД.
Вопрос 1 : Должен ли я указать, что все данные, отправляемые в REST API, должны быть в формате JSON независимо от того, что анализируется?Это обеспечит (насколько мне известно) независимость от языка и даст REST API общий формат для работы.
Вопрос 2 : Что нужно указать в модели данных?Это что-то вроде универсальной модели или модель данных может изменяться на основе входящих данных?
Вопрос 3 : Когда я думаю о реляционных данныхВ модели приходит мысль о внешних ключах, которая создает отношение .Теперь может случиться так, что некоторые данные могут вообще не содержать отношения.Если мы подумаем о чем-то вроде Customer
Order
данных, то связь легко идентифицировать.Но что, если данные не имеют никакого отношения вообще?Как реляционная модель вписывается в это?
Любая помощь / предложение очень ценится.Спасибо!
РЕДАКТИРОВАТЬ:
Во-первых, данные могут быть как структурированными (скажем, XML), так и неструктурированными (скажем, два текстовых файла).Я хочу, чтобы DAL мог обрабатывать и сохранять любые входящие данные (вот почему я подумал об интерфейсе REST перед БД).
Во-вторых, я также недавно думал о MongoDB как об опции и изучал ее (я никогда раньше не использовал NoSQL DB).Это имеет смысл использовать, если входящие данные в REST находятся в формате JSON.Из того, что я понял, я могу создать коллекцию в Монго.Имеет ли это больше смысла, чем использование реляционной базы данных ??
Наконец, что я хочу сделать с данными, так это то, что у меня есть инструмент, который выполняет своего рода анализ различий (думаю, git diff
) наданные.Скажем, я отправил два XML-файла, и инструмент извлекает их из БД, выполняет анализ различий и сохраняет результат обратно в БД.
На основании этих требований, каков будет оптимальный путь для этого?