Liebe Community
Ich hoffe ich liege mit meiner Frage hier in dem Bereich nicht völlig falsch. Bitte entschuldigt, falls ich völlig dumme Fragen stelle, aber Datenbanken sind noch ziemliches Neuland für mich…
Ich soll an meiner Arbeitsstelle eine Art „Middleware“ für bestimmte Laborbefunde schreiben. Die Ideen meiner Vorgesetzten lassen sich gut realisieren denke ich, allerdings bin ich etwas unsicher was die Verwendung der Datenbank betrifft.
Der Workflow sieht folgendermaßen aus:
Der Workflow an sich ist sehr statisch, sodass wenig „Veränderungen“ möglich sind. Kopfzerbrechen bereitet mir die Datenbank. Es werden täglich (an Wochentagen) bis zu 300 neue Datensätze eingespielt.
Meine Fragen wären, bezogen auf die Datenmenge…
Viele Grüße
Jesfreric
Die Frage ist so genau wie "Was soll ich heute Abend essen?" 😉
Ob eine DB wie Oracle infrage kommt, kommt auch auf euren Geldbeutel an.
300 simple Datensätze pro Tag verkraftet sogar eine XML Datei. Dazu alleine braucht man keine Datenbank 😃
Dazu braucht man auch keinen leistungsstarken Rechner. Das würde jeder RaspberryPI locker packen.
Lokale Datenbankdateien vermeidet man, da man auf diese nicht ohne Risiko parallel schreibend zugreifen kann.
Allgemein greift man bei einer Client Server Anwendung - nichts anderes hast Du - nicht mehr direkt auf eine Datenbank zu.
I.d.R. ist ein Zugriff über einen Service, der sich dazwischen befindet, in den aller meisten Fällen der bessere und einfachere Weg.
Dadurch kann dem Client herzlich egal sein, welche Datenbank dahinter sitzt.
Die Middleware stellt nur einen REST / OData API zur Verfügung.
Bei dem Szenario also zB.
Wie die Installation erfolgt kannst Du dann den jeweils vorhandenen Anleitungen entnehmen.
Alle von mir hier genannten Dinge sind gut, offiziell dokumentiert.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Hallo Abt
Vielen Dank für deine Antwort. Bitte entschuldige die "Laienhafte" Fragestellung 😃
Wegen den 300 Datensätzen pro Tag...Also es kämen praktisch jeden Tag 300 Datensätze neu dazu. Das wären dann im Monat ungefähr 7000 Datensätze, im Jahr dementsprechend 80 k.
Sollte man bei so einer Zahl wirklich noch mit XML Dokumente arbeiten?
Die Daten sollten auch immer abrufbar sein...
Viele Grüße
Jesfreric
Ich hab nirgends geschrieben "soll".
Der Inhalt dieses Kommentars ist, dass das keinerlei relevante Datenmenge für eine Datenbank ist - auch in 10 Jahren x 300 Einträge pro Tag ist das immer noch enorm wenig für eine Datenbank.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Hallo Jesfreric,
Deine Aufgabenstellung kann von so ziemlich jeder Datenbank erledigt werden.
Ich empfehle Dir den Microsoft SQL Server 2016 Express Edition. Das SQL Management Studio gleich dazu installieren.
Die Datenbankdateien werden nicht im Netzwerk freigegeben, sondern ausschließlich vom SQL Server verwaltet. So verhindert man Datenverluste und erhöht Sicherheit und Geschwindigkeit.Der Client oder die Middleware kommuniziert dann mit dem SQL Server per TCP/IP, Named Pipes oder Shared Memory.
Der SQL Server sollte auf einem zentralem Server installiert werden, nicht auf einem Arbeitsplatz.
Hinweis zur Installation : Gemischte Authentifizierung = Ja, TCP/IP überall einschalten, SQL-Browserdienst Startart automatisch, Windows Firewall erstmal ausschalten.
Eine ausführliche Installationsanleitung zur Installation eines SQL Servers in einem Netzwerk stelle ich gerne zur Verfügung.
Grüße Bernd
Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3
Hallo
Danke für eure Antworten=)
Ich werde die Problematik noch einmal mit unserer örtlichen IT besprechen und mich dann nochmal bei euch melden=)
Viele Grüße und vielen dank
Jesfreric
Ich würde hier von jeglichen komplexen Datenbanken abraten und eher Sql Server Compact oder Sqlite nehmen (im .NET Umfeld wohl eher den Sql Server Compact). Dann musst du auf dem Server auch nichts installieren.
Alles andere ist evtl. deutlich erhöhter Administrationsaufwand. Oracle würde ich hier gar nicht ins Spiel bringen, das wird die wahrscheinlich mittelfristig völlig grundlos Kopfzerbrechen bereiten. Der Sql Server ist deutlich überschaubarer, aber wenn dir eine Embedded Datenbank wie Sql Server Compact reicht, würde ich auf jeden Fall sowas nehmen.
SqlCE wurde vor 3 Jahren abgekündigt. Es wird weder neue Versionen noch Updates geben.
Damit würde ich heute nichts mehr anfangen.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Danke für die Info, hatte ich leider nicht mitbekommen.