XML как хранилище данных.Вставить, удалить, удалить - PullRequest
3 голосов
/ 16 августа 2011

Я планировал использовать XML для хранения данных для приложения базы данных Java DVD, которое я пишу.Я знаю, что слово «база данных» прямо в названии, но XML просто казался намного более переносимым, понятным для человека и (я предполагал, прежде чем рассматривать его) проще в реализации.

Синтаксический анализ XML, кажется,быть самой легкой вещью в мире ... даже создание нового XML-файла не представляет особой проблемы, но изменение записей, их вставка или удаление я могу сделать только путем создания нового XML-файла.

Я что-то пропустил?Или мне не хватает того, что я должен переключиться на формат базы данных (но есть какой-то замечательный формат базы данных, о котором я не слышал, он полностью переносим, ​​и пользователям не нужно устанавливать что-то отдельное для использования :))

Ответы [ 2 ]

5 голосов
/ 16 августа 2011

самый популярный способ использовать файл в качестве базы данных, вероятно, с sqlite http://www.sqlite.org/, и это то, что я бы использовал, если бы решал вашу проблему (это в значительной степени стандартная база данных SQL, но использует только один файл)в качестве хранилища).Другой вариант, использующий чисто java, - это apache derby http://db.apache.org/derby/

, однако базы данных чистого xml существуют (и они были довольно модными около 10 лет назад - «nosql» их времени) - соответствующие стандарты - xpath http://en.wikipedia.org/wiki/XPath и xquery http://en.wikipedia.org/wiki/Xquery.я не использовал его, но кажется, что basex http://basex.org/open-source/ - это реализация с открытым исходным кодом, которую вы можете использовать (и она заявляет, что предоставляет гарантии ACID - http://basex.org/products/).

Если вы лучше знакомы с XML, чем с SQL, я не вижу большого вреда в использовании базы данных XML для небольшого проекта.просто структурируйте свой код так, чтобы большая часть программы не заботилась о том, что представляет собой хранилище (т.е. предоставляя нейтральный интерфейс).затем, если xml не работает, вы можете переключиться на sql, повторно внедрив только этот интерфейс и оставив остальную часть вашей программы в одиночку (и, если она работает, отправьте сообщение здесь, сказав так - было бы интересно узнать).

4 голосов
/ 16 августа 2011

Если вы собираетесь использовать веб-интерфейс, похоже, что обычная база данных - это то же самое, что и серверная часть.Я не верю, что вашим пользователям нужно будет загружать что-то новое, поскольку все это позаботится о серверной части.Реальная база данных также имеет преимущество ACID перед псевдобазой;он должен быть атомарным, согласованным, изолированным и долговечным, и я не могу представить, что XML будет хорошей заменой в этом отношении.

...