sql >> Database >  >> RDS >> Mysql

Database-ontwerp voor zeer grote hoeveelheden gegevens

Omdat je vroeg hoe grote bedrijven dit (in het algemeen) aanpakken:

Ze hebben meestal een dba (databasebeheerder) die leeft en ademt in de database die het bedrijf gebruikt.

Dit betekent dat ze mensen hebben die alles weten, van het optimaal ontwerpen van tabellen, het profileren en afstemmen van de queries/indexen/OS/server tot weten welke firmwarerevisie van de RAID-controller problemen kan veroorzaken voor de database.

Je praat niet veel over wat voor soort afstemming je hebt gedaan, bijvoorbeeld

  • Gebruikt u MyISAM- of InnoDB-tabellen? Hun prestaties (en niet in het minst hun functies) zijn radicaal verschillend voor verschillende workloads.
  • Zijn de tabellen correct geïndexeerd volgens de zoekopdrachten die u uitvoert?
  • voer EXPLAIN uit op al uw zoekopdrachten - waarmee u sleutels kunt identificeren die kunnen worden toegevoegd/verwijderd, of de juiste sleutels zijn geselecteerd, vergelijk zoekopdrachten (SQL biedt u veel mogelijkheden om dezelfde dingen te bereiken)
  • Heb je de query-cache aangepast? Voor sommige workloads kan de querycache (standaard aan) aanzienlijke vertraging veroorzaken.
  • Hoeveel geheugen heeft uw box en is mysql afgestemd om hiervan te profiteren?
  • Gebruik je een bestandssysteem en raid setup gericht op de database?
  • Soms is een beetje de-normalisatie nodig.
  • Verschillende databaseproducten hebben verschillende kenmerken, MySQL kan razendsnel zijn voor sommige werelden en traag voor andere.



  1. Hoe sys.dm_exec_describe_first_result_set_for_object werkt in SQL Server

  2. Een MySQL-database maken met behulp van de cPanel API

  3. decimaal(s,p) of getal(s,p)?

  4. SQLAlchemy - Een lijst met tabellen krijgen