Ich interessiere mich für Datenbank Refactoring. Ich beschäftige mich mit mehreren Datenbanken, die keine großen Datenmengen haben, nur ein paar GB mit höchstens ein paar hunderttausend Zeilen. Sie haben jedoch Hunderte - manchmal Hunderte - von Tabellen, Ansichten, Sprocs und Funktionen. An einigen Stellen wurde eine Strategie der Aufteilung und Regel implementiert, die Schemata verwendet, die einige Probleme beim Erkennen des Besitzes/der Verwendung von Tabellen unterstützt hat. Es hat jedoch nicht wirklich zur Objektkopplung beigetragen.Wie viele Tabellen/Sprocs/Funktionen in einer Datenbank sind zu viele?
Wir alle lesen, dass integration via shared database ist keine gute Sache, aber wir wissen auch, dass es, zumindest für eine Weile, eine sehr produktive Sache ist, wie alles in der Datenbank ist. Wir wenden die Single Responsibility Principle nicht nur auf Datenbanken an, wie wir es bei Objekten tun.
Bearbeiten: Ich sollte hinzufügen, dass ich keine Datenbankleistungsprobleme habe. Die Tische sind nicht groß, der größte hat nur ein paar hunderttausend Reihen. Es gibt kein wirkliches Datenbankleistungsproblem. außer wenn das Schema/die Logik/Implementierung der Datenbank grotesk ineffizient ist (das heißt, dass ein Cursor eine Sproc-Ausführung für jede Zeile in einer Ergebnismenge ausführen muss, um Daten für einen Bericht vorzuverarbeiten). Bevor Sie sagen, dass ich diese ändern sollte, ist das der springende Punkt: Ich kann das nicht, weil die Datenbank nicht mehr in einem Zustand ist, in dem die Auswirkungen von Änderungen bewertet werden können.
Klar irgendwann sagen Sie "Genug!" und in mehrere Datenbanken teilen, die durch Nachrichten, ETL, Anwendungsebenen usw. verbunden sind.
Die Frage ist: Wie viele sind zu viele? Was ist die absolute Obergrenze für die Anzahl der Sprocs/Tabellen/Funktionen, die Sie haben können, bevor Sie verrückt werden?
Ich habe keine Performance-Problem in der Datenbank Begriffe haben. Das einzige Problem, dem ich gegenüberstehe, sind technische Schulden. Die Datenbank ist nicht nur komplex, sondern undurchsichtig mit vielen Feldern, die nicht länger relevant sind. –