sql >> Database teknologi >  >> RDS >> Mysql

God praksis at opdele data over flere databaser?

"God praksis" er en af ​​de sætninger, der giver os mulighed for at få vores fordomme til at lyde vigtigere, end de i virkeligheden er...

Generelt vil man gerne opbevare ting sammen, der hører sammen. Hvis du har et enkelt informationssystem, der driver alt for en virksomhed, og de enheder, du administrerer, er relateret til hinanden - kunder har ordrer, ordrer har sælgere og produkter - kan du argumentere for, at de hører sammen. Hvis du derimod bemærker, at du har "øer" af borde, der ikke rigtigt linker til andre borde, hører de måske ikke sammen.

Fra et vedligeholdelsessynspunkt betyder administration af flere databaser flere sikkerhedskopier, flere vedligeholdelsesrutiner og flere sikkerhedsprofiler at administrere.

Fra et læsbarhedssynspunkt er det sandsynligvis en dårlig ting at jage rundt i forskellige databaser for at finde det bord, du er interesseret i - for eksempel, hvor der er en mange-til-mange join-tabel mellem "kunder" og "medarbejdere" - f.eks. salgsteam - hvor bor det bord? I "kunde"-databasen, eller "medarbejder"?

Fra et pålidelighedssynspunkt er jeg ikke sikker på, om du kan håndhæve fremmednøglebegrænsninger på tværs af databaser.

Jeg kan ikke rigtig komme i tanke om nogen fordele ved at gøre dette – så jeg vil sige, at det er en dårlig idé.



  1. Hvornår/hvorfor skal man bruge Cascading i SQL Server?

  2. Mærkelig MySQL skrivebeskyttet fejl

  3. Brug af understreng i MySQL-kriterier

  4. Hvordan gør man mySQL-database på min lokale tilgængelig fra forskellige maskiner?