2009-03-10 10 views
2

Wir migrieren mehrere alte Mainframe-Anwendungen für einen Kunden auf neuere ASP.NET + SQL Server 2005-Anwendungen. Jede Anwendung wird im Allgemeinen als eigenständig betrachtet, ohne dass zwischen ihnen gemeinsame Daten vorhanden sind. Sie können beispielsweise spezielle Inventaranforderungen oder Urlaubsrichtlinien verwalten. Die Daten sind klein und sollten nicht größer als ein einzelner SQL Server sein. Ist es besser, eine große Datenbank für alle diese Apps zu erstellen oder mehrere kleinere Datenbanken - eine für jede App?Sollte ich mehrere kleine oder eine große Anwendungsdatenbank erstellen?

Im Allgemeinen bevorzugen wir eine kleine db pro App, aber ein Fall könnte gemacht werden, dass eine größere Datenbank einfacher ist, Backups und Sicherheit zu verwalten. Welche Faktoren sollten bei dieser Entscheidung berücksichtigt werden?

Antwort

1

Ich würde die kleine db pro App-Ansatz sehr empfehlen. Wenn eine Anwendung abstürzt und ihre Tabellen korrumpiert, möchten Sie nicht eine selektive Wiederherstellung nur bestimmter Tabellen durchführen müssen. In der Lage zu fallen und zu laden ist viel besser für Wartung und unvorhergesehene Updates, die Sie in Zukunft tun müssen.

3

Sie sollten separate Datenbanken verwenden. Sie können alle von derselben Instanz von SQL Server ausgeführt werden.

1

Es hängt davon ab, ob diese Anwendung die Daten teilen sollte oder nicht. Wenn ja, dann ist es besser, eine Datenbank hinter sich zu haben. Wenn nicht, dann ist es besser, sie zu trennen, so dass Sie in Zukunft die Freiheit haben, die Anwendungen noch mehr zu verschieben (zu isolieren).

Denken Sie darüber nach, wie Ihre Anwendungen verwendet werden. Wenn Sie über eine Datenbank und beispielsweise eine Tabelle für Kunden verfügen, treten möglicherweise Probleme beim Sperren auf, wenn mehrere Anwendungen auf dieselbe Tabelle zugreifen.

1

Ich würde die eine Datenbank pro App Ansatz verwenden, wenn der Datenspeicher keine Überlappung zwischen den Apps hat. Wenn einer von ihnen den aktuellen Datenbankserver verlässt, können Sie ihn relativ einfach auf seinen eigenen Server verschieben.

Aus Gründen der Sicherung/Wiederherstellung ist es wahrscheinlich auch einfacher, die Datenbank für eine einzelne App wiederherzustellen, um sie zum Laufen zu bringen, anstatt den gesamten Satz wiederherstellen zu müssen (da sie sich in einer einzigen Datenbank befinden). und dann die Bits aufheben, die Sie tatsächlich benötigen, um den Dienst wiederherzustellen.

0

Ich würde vorschlagen, Sie erstellen eine DataBase-Lösung mit mehreren Katalogen im Inneren. Jeder Katalog ist unabhängig und wird als separate Datenbank verstanden, obwohl Sie unter der gleichen Lösung die zuvor erwähnten Vorteile wie Backup und Management haben. Danach würde jeder Katalog seine eigenen Datentabellen usw. enthalten. Kataloge beziehen Daten nicht untereinander wie Tabelle zu Tabelle.

Verwandte Themen