База данных, используемая для построения системы каталогизации файлов - PullRequest
0 голосов
/ 18 мая 2011

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

Поэтому, чтобы уточнить, приложение будет иметь коллекцию файлов и будет хранить метаданные о файлах вбаза данных.Что касается музыки, то в ней хранятся все исполнители, участвующие в этой конкретной песне, а также альбомы, в которых была выпущена песня и т. Д.

Для упрощения поиска по коллекции файлов и связанных метаданных, Я рассматриваю возможность использования базы данных.

Я планирую написать эту программу, используя C ++ / Qt4 в качестве учебного упражнения по базам данных, Qt4 и хорошим методам кодирования на C ++.

Для такой задачи, какэто, какую систему баз данных вы бы порекомендовали.Вот те, которые я подумал использовать.Не стесняйтесь предложить что-то еще.

  1. MongoDB
  2. CouchDB
  3. SQLite
  4. Tuple Store, например Redis или Raik

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

Отредактировано название для ответа на закрытое голосование.

1 Ответ

1 голос
/ 19 мая 2011

Mongo и Couch - это NoSQL, а SQLite - это реляционное решение.Я думаю, что для такой задачи вам лучше иметь базу данных документов, например, Couch и Mongo.

Вы видели RavenDB?Это база данных документов, содержащая разрешение конфликтов из коробки, Map / Reduce Querying и механизм полнотекстового поиска.Он написан на .NET, но к нему можно получить доступ через HTTP-запросы, которые вы можете сделать довольно просто на C ++.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...