Ich habe diese Web-App (php & mysql) erstellt, die Informationen für verschiedene Organisationen speichert (derzeit ca. 20 Kunden).
Im aktuellen Szenario werden clientbezogene Informationen in einzelnen Datenbanken gespeichert, sodass 20 Clientdatenbanken und 1 Masterdatenbank vorhanden sind.
Einer der Hauptvorteile hierbei ist, dass die Nummerierung der Client-Artefakte (Berichte, Audits) usw. sequenziert wird, wenn jede Client-Datenbank isoliert ist. Unseren Kunden ein Gefühl der Sicherheit geben.
Jede Datenbank verfügt über ungefähr 15 Tabellen, und die meisten Zeilen in einer Tabelle sind ungefähr 2000. Es wird erwartet, dass maximal 5000 Datensätze vorhanden sind.
Das Verwalten einer einzelnen Änderung auf Datenbankebene bedeutet das Ändern von 20 Datenbanken. In dem seltenen Fall, dass ich eine solche Änderung vornehmen muss, verwende ich ein Skript, das dies in einem einzelnen Funktionsaufruf ausführt.
Wir haben ein Shared-Hosting-Arrangement und unser ISP liefert uns eine eingeschränkte Nummer. von Datenbanken; und das hat mich veranlasst, über die Zentralisierung der Datenbank nachzudenken; Damit können ALLE Kundendaten in der Stammdatenbank gespeichert werden.
Einige wichtige Punkte, die auftauchen, sind natürlich:
ein. Beibehalten der Artefaktsequenz (dies kann durch Erstellen eines zusätzlichen Referenzschlüssels behoben werden) b. Geschwindigkeit und Leistung (in diesem Fall kann ich Indizes erstellen, um die Dinge zu beschleunigen) c. Sicherheit: Dies wird als jede Abfrage verwaltet, die Client-Informationen abruft. verfolgen auch ihre client_id
In Zukunft müssen wir vielleicht überlegen, ob wir die Datensätze einer Organisation mit denen einer anderen vergleichen sollen, aber ich glaube, dass dies auch mit einer zentralen Datenbank erreicht werden kann. Ich bin (aus Gründen der Leistung und Wartbarkeit) eher geneigt, auf eine zentralisierte Datenbank umzusteigen.
Halten Sie es für sinnvoller, auf eine zentralisierte Datenbank umzusteigen, als so zu bleiben, wie wir es sind (bei einzelnen Datenbanken)?
Danke für deinen Rat.