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

Databasenormalisering til facebook-lignende beskedsystem

Du har ret, sådan et stort bord er ikke brugbart. Hvis du har brug for et rigtigt meddelelsessystem, der holder et bedre øje med NoSQL-løsninger (såsom HBase, Cassandra, MongoDB osv.), bliver du bare nødt til at glemme alt, hvad du ved om relationelle databaser.

Med MySQL kan du dog stadig gøre noget skalerbart, hvis du deler bordet op i meget små stykker. Få en tabel til at beholde meddelelser på maks. 1k brugere (du bliver nødt til at skrive alle meddelelser to gange, medmindre begge brugere er fra samme tabel). Og hold ikke mere end 1k tabeller i én DB, opret automatisk en anden, når denne grænse er nået. At have flere databaser (selv på én fysisk server) vil gøre det nemt for DBA at overføre hver til en ny server, når den nuværende bliver overbelastet. For at få beskeder fra en bestemt bruger skal din kode hente den nødvendige DB/tabel fra et kort, du har.




  1. Oracle - Hvorfor skal jeg bruge pakker i stedet for selvstændige procedurer eller funktioner

  2. Hvordan ændrer jeg min session til at vise UTF8 i Oracle?

  3. MELLEM forespørgsel ved hjælp af JDBC med MySQL

  4. MySQL/MariaDB TRIGGER