Zum Inhalt springen

Verschiedene möglichkeiten der Datenarchivierung


Gateway_man

Empfohlene Beiträge

Guten Tag,

folgende Situation hat sich ergeben:

Ich muss eine Verwaltungssoftware schreiben. Die Daten, welche das Programm verwalten soll, müssen lokal gespeichert werden.

Das Mengengerüst beläuft sich auf jährlich ca. 500000 hinzukommende Datensätze.

Die schwierigkeit liegt darin, das ich gänzlich auf die Installation eines Datenbankserver verzichten möchte.

Fällt jemand eine alternative ein.

Was wichtig wäre:

Es sollte bei möglichkeit eine Schnittstelle fürs .NET vorhanden sein.

Ich dachte anfangs noch an XML, jedoch drängt sich mir immer mehr der Verdacht auf, das die Datenmengen einfach zu groß dafür sind.

lg

Gatway

Link zu diesem Kommentar
Auf anderen Seiten teilen

Du kannst z.B. auf SQLite ? Wikipedia setzen. Je nach Anwendung käme auch so etwas in Frage XML-Datenbank ? Wikipedia

Es ist für mich die Frage "was" genau nicht gewünscht ist, denn rein technisch kann ich auch einen mySQL Dämon laufen lassen, die Datenbank liegt für den Dämon eh lokal und greife dann via Socket oder TCP/IP auf die Datenbank zu (und das wenn gewünscht auch nur über lokalhost). Dann würde eben alles auf einem System liegen. Ich sehe da keine Probleme. Eine Datenbank ist ja nur ein Stück Software, das eben gewissen Eigenschaften an die Datenhaltung / -zurgiff liefert.

Link zu diesem Kommentar
Auf anderen Seiten teilen

ich würde dir statt sqlite, wenn es denn lokal sein muss, lieber zum SQL Server Compact raten, da man so technlogisch im Microsoft-Raum bleibt und nicht externen kram einbinden muss.

SQL Server Compact gibt einem dann, ebenso wie sqlite, eine lokale Datenbank.

Referenz: Entity Framework (SQL Server Compact)

Und wenn du ganz verzweifelt bist nimm Access.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Vielen Dank für die verschiedenen Möglichkeiten.

Ich denke eine auf filezugriff basierte Datenbank, welche ohne hintergrund Dienste auskommen, werd ich wie oben schon erwähnt unterjubeln können ;).

ich würde dir statt sqlite, wenn es denn lokal sein muss, lieber zum SQL Server Compact raten, da man so technlogisch im Microsoft-Raum bleibt und nicht externen kram einbinden muss.

Ich werde mich wohl eher für sqllite entscheiden, da ich zum einen mit dem compact Server bisher nicht so gute Erfahrungen gemacht habe und zum anderen da beim compact Server ab 4 GB Schluss ist.

Desweiteren vermisse ich dort einige Befehle aus dem SQL Standart.

Ich werde erstmal sqllite ausprobieren und schauen wie diese sich bei größeren Datenmengen verhält.

Und wenn du ganz verzweifelt bist nimm Access.

Das würde gänzlich aus dem Raster fallen. Meines wissens ist die maximale tabellengröße auf ca. 65000 Datensätze begrenzt.

lg

Gateway

Link zu diesem Kommentar
Auf anderen Seiten teilen

Nö, das war Excel 2003. Access ist auf als Dateigröße auf 2 GB beschränkt, wenn man nicht aufteilt.

Ich meinte ja nicht die Gesamtgröße der Datei. Ich spielte jetzt auf die maximale Tabellengröße an. Da soweit ich weiß, die Access Tabellen Matrix auf der von Excel basiert.

Danke für die Linq links, jedoch werde ich auf linq verzichten, da das Programm auch auf Rechner laufen soll, wo beispielsweise nur das Framework 2 oder 2.5 installiert ist.

lg

Gateway

Link zu diesem Kommentar
Auf anderen Seiten teilen

ein noch etwas exotischer Vorschlag wäre Hierarchical Data Format ? Wikipedia

Du hast zwar kein SQL, aber die kannst n-dimensionale Cubes direkt abspeichern, was sich eben bei entsprechenden Auswertungen bemerkbar machen würde. Ebenso hast Du die Möglichkeit sparse (dünn besetzte) Datenstrukturen zu verwenden, d.h. wenn Du sehr viele Null Werte hast, werden diese nicht explizit gespeichert, was letztendlich Speicherplatz spart. Kommt natürlich aber auf Deine Daten an und wäre vielleicht mal einen Blick wert.

Bibliothek läuft auf allen bekannten Plattformen und ein Zipper für die Daten ist direkt mit implementiert. Organisiert wird das ganze wie ein Verzeichnisbaum unter Unix

Link zu diesem Kommentar
Auf anderen Seiten teilen

ein noch etwas exotischer Vorschlag wäre Hierarchical Data Format ? Wikipedia

Super danke, das Konzept sieht sehr interessant aus.

Ich werd mich diesbezüglich mal näher informieren.

Mir geht es hierbei auch darum Erfahrungen hinsichtlich Datenbank alternativen zu Sammeln.

Von daher sind solche Vorschläge gerne gesehn ;).

Da kommt es mir gerade recht das ich das ganze möglichst ohne Datenbank Server realisieren soll.

lg

Gateway

Link zu diesem Kommentar
Auf anderen Seiten teilen

Mir geht es hierbei auch darum Erfahrungen hinsichtlich Datenbank alternativen zu Sammeln.

Ich nutze das Format primär für wissenschaftliche Daten. Mein Datenvolumen sind mehrere GBs. Wobei man auch so genannte Splitfiles bauen kann, d.h. man hat mehrere Dateien, die aber nur als ganzes den kompletten Datensatz enthalten (das wäre eben bei 2GB Limit wie man es z.B. bei FAT hat, eine Alternative). Weiterhin unterstützt HDF auch parallele Verarbeitung, in der MS Sprache wären das die HPC Sachen (ich glaube High Parallel Cluster), d.h. Du kannst wirklich riesige Datenmengen parallel lesen und schreiben. Nett sind die genannten Anotationen der Datensätze. Nachteilig, wenn man es jetzt gegenüber einer Datenbank sieht, ist eben die fehlende relationale Struktur und die Differenzierung nach Schlüsseln. Eine Art "View" Technik, wie man es aus SQL kennt, gibt es auch, wenn Du Cubes hast, musst Du nicht den gesamten Datenstamm einlesen, sondern kannst auch nur Teilblöcke lesen, die aber nicht zusammenhängend sein müssen. Natürlich gehen Abfragen wie "feld != value" oder "like" nicht, das musst Du dann selbst implementieren. Die Datensätze werden dann über Ranges bzw Slices adressiert

Das ganze ist in C++ bzw C implementiert, wie man das unter .NET verwendet, müsstest Du dann mal schauen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke dir, werd mich mal drum bemühen der Technik String-Filterfunktionen zu verpassen.

Allerdings denke ich, das eben solche Funktionen die ganze Performance zu nichte machen, da ich ja nichts desto trotz den Datenbestand durchloopen und vergleichen muss. Naja mal sehn eventuell komm ich auch ohne aus.

Für alle die das Thema interessiert.

Eine .NET Wrapper Klasse bekommt ihr von der hdfgroup.

lg

Gateway

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...