2009-04-24 4 views
2

Ich lerne gerade C# und .NET (von einem UNIX-Hintergrund) und habe gerade angefangen, einen Media Player zu schreiben. Ich hatte auf einige Vorschläge gehofft, wie man die interne Datenbank der Songs am besten speichert. SQL? Irgendeine Art von Textdatei? Ich habe in diesem Bereich keine Erfahrung, daher werden alle Punkte sehr geschätzt.Die effizienteste interne Datenbank für einen Media Player

Prost!

Antwort

1

Es gibt auch SQL Server Compact. Linq to Sql arbeitet auch damit.

1

Es gibt ein ganzes Spektrum von Anforderungen hier beteiligt sind, um einige zu nennen:

  • Multi-User?
  • voraussichtliche Größe (n)
  • Möchten Sie die Multi-Media-Binärdateien auch speichern?

für komplexe strukturierte Daten Textdateien wird nicht sehr gut.

für Binärdateien Speicherung ich nicht XML

So verwenden würde, es wird wahrscheinlich sein: Was SQL-Datenbank zu verwenden? Sie können für Diskussionen über SQLite, SQL Express suchen, SQLCE usw.

0

Eine grundlegende Frage wohl gestellt werden sollten, bevor wir entlang in Richtung empfehlen eine Technologie über eine andere bewegen ...

Das der Architektur. Aus der obigen kurzen Beschreibung geht hervor, dass es sich bei dem, was Sie erstellen, um einen Windows Media Player-Bibliothek-ähnlichen Teil der Funktionalität handelt. Wenn das der Fall ist, scheint der Vorschlag einer SQL-Datenbank geeignet zu sein, aber die Komplikation der Synchronisation des Dateisystems (Sie hatten nicht vor, die Mediendateien in einen monolithischen Datenspeicher zu verwandeln, oder?)

Wenn Sie sich nur um persistente Wiedergabelisten sorgen, erscheint ein textbasiertes Format angemessen.

Playlists könnten textbasiert sein (was für mich XML-Darstellungen eines Objektdiagramms einschließt), aber Bibliotheksinformationen scheinen in einem robusteren, besser abfragbaren Datenspeicher zu liegen.

Eine Objektdatenbank könnte ebenfalls geeignet sein, da Sie im Vergleich zu anderen Vorschlägen eine viel transparentere Persistenz-Ansicht verwenden können. Das Isolieren der Anzahl neuer Themen, mit denen Sie während des Lernens zu tun haben, kann ein wichtiger Weg sein, Ihre Lernkurve zu verwalten. db4o hat eine .Net-Variante, die ich in letzter Zeit nicht angeschaut habe.