Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#8

Re: Welche Datenbank - zum 1256sten mal

  Alt 22. Dez 2005, 11:25
Manchmal muss man Kunden aber zu ihrem Glück zwingen. Du kannst ja nicht in ein Autohaus gehen und sagen:"Ich will ein Auto, aber auf Tanken hab ich kein Bock". Geht nun mal nicht.
oder auch "Ich will keine Wartungsintervalle einhalten"... "Klar, aber wundern Sie sich nicht, wenn das Auto nicht lange hält"

So ist es auch hier: Ein normaler Anwender-PC, auf dem sich die DB befindet, mag ja auf den ersten Blick kostengünstig und bequem sein, aber lass doch einfach mal eins der user-GAUe passieren:
-Virus
-Festplatte im Eimer
-Aus Versehen Neustart
etc.

Ich würde zumindest *einen* PC etwas robuster ausstatten (also nicht die billig-HD nehmen, sondern vielleicht SCSI), das Software-Raid von Windows aktivieren (oder gleich ne kleine Raid-Karte) und den ohne Grafikschnickschnack in die Ecke stellen. Das muss nun wirklich kein Server sein, nur stabil muss er nun mal sein. Darauf einen wartungsarmen MSSQL (mein Favorit, aber FB und PostgreSQL sind wohl gleichwertig) draufpacken und fertig. Und wenn die DB mal hängt (was immer mal vorkommen kann), dann wird der Resetknopf gedrückt und gut ist: Bei richtigen DB (also *nicht* mysql) ist es nämlich so, das die DB garantiert nicht zerballert ist, bloss weil man den Resetknopf gedrückt hat. Beim Neustart wird die DB ganz brav geladen und der Zustand vor dem Rest wieder hergestellt. Dann noch ein paar Maintenance-Jobs per Timer (checkpoint setzen, backup etc.) und schon haben die ihre Ruhe. Du musst dann nur gelegentlich per Admintool nachschauen, ob alles ok ist.

Soweit ich das weiss (bitte korrigieren) ist ein sichere Transaktionskapselung mit 'Embedded Servern' doch gar nicht möglich, weil eben viele Server auf eine Datei zugreifen. Das geht nie 100% gut.

Du *musst* irgendwo eine zentrale Serverinstanz installieren, die sich auf die DB setzt und sie 100% wasserdicht abschottet und eine zentrale Transaktionskapselung vornimmt. Imho geht das nicht mit clientseitigen DBs (siehe Access).

Ich sage meinen Kunden: Kaufen Sie sich einen zusätzlichen PC, zur Not packen wir den ins Budget, wenn der Financial Controller mauert (was die gerne tun). Der Wert (max 1000 Euronen) entspricht 1-2 Tagessätzen, und die verbringt man allemal damit, eine DB-Havarie aus o.g. Gründen wieder zu korrigieren.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat