sql >> Databasteknik >  >> RDS >> Mysql

Bra praxis att dela upp data över flera databaser?

"God praxis" är en av de fraser som gör att vi kan få våra fördomar att låta viktigare än de egentligen är...

Generellt sett vill man förvara saker som hör ihop. Om du har ett enda informationssystem som driver allt för ett företag, och de enheter du hanterar är relaterade till varandra - kunder har beställningar, beställningar har säljare och produkter - kan du hävda att de hör ihop. Om du däremot märker att du har "öar" av tabeller som inte riktigt länkar till några andra tabeller, kanske de inte hör ihop.

Ur underhållssynpunkt innebär hantering av fler databaser fler säkerhetskopieringar, fler underhållsrutiner och fler säkerhetsprofiler att hantera.

Ur läsbarhetssynpunkt är det förmodligen en dålig sak att leta runt i olika databaser för att hitta bordet du är intresserad av - till exempel där det finns en många-till-många kopplingstabell mellan "kunder" och "anställda" - t.ex. säljteam - var bor det bordet? I "kund"-databasen, eller "anställd"?

Ur tillförlitlighetssynpunkt är jag inte säker på om du kan upprätthålla begränsningar för främmande nyckel över databaser.

Jag kan inte riktigt komma på några fördelar med att göra det här - så jag skulle säga att det är en dålig idé.



  1. ladda ner värden för sql-tabellen för offlineåteranvändning

  2. Att ställa in värdet för en kolumn av alla rader är mycket långsamt

  3. Datamaskering i realtid med utlösare

  4. SQL orderadress efter husnummer