sql >> Databasteknik >  >> RDS >> Mysql

Databasdesign för mycket stora mängder data

Eftersom du frågade om hur stora företag (i allmänhet) ställer sig till detta:

De har vanligtvis en dba(databasadministratör) som lever och andas databasen företaget använder.

Det betyder att de har folk som vet allt från hur man designar tabellerna optimalt, profilerar och ställer in frågor/index/OS/server till att veta vilken firmwarerevision av RAID-kontrollern som kan orsaka problem för databasen.

Man pratar inte så mycket om vilken typ av trimning man har gjort, t.ex.

  • Använder du MyISAM- eller InnoDB-tabeller? Deras prestanda (och inte minst deras funktioner) är radikalt olika för olika arbetsbelastningar.
  • Är tabellerna korrekt indexerade enligt de frågor du kör?
  • kör EXPLAIN på alla dina frågor - vilket hjälper dig att identifiera nycklar som kan läggas till/ta bort, oavsett om de rätta nycklarna är valda, jämför frågor (SQL ger dig många sätt att åstadkomma samma saker)
  • Har du ställt in query-cachen? För vissa arbetsbelastningar kan frågecachen (standard på) orsaka avsevärd nedgång.
  • Hur mycket minne har din box och är mysql inställd för att dra nytta av detta?
  • Använder du ett filsystem och raid-inställning som är inriktad på databasen?
  • Ibland behövs lite avnormalisering.
  • Olika databasprodukter kommer att ha olika egenskaper, MySQL kan vara blixtsnabbt för vissa arbetskoads och långsamt för andra.



  1. MySQL distinktion mellan e och é (e akut) - UNIKT index

  2. Hur man hämtar data från markören i Oracle med hjälp av For Loop

  3. Python - automatisera MySQL-index:skicka parameter

  4. Flera identiska entitetsrelationer