Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Normalizacja bazy danych dla systemu przesyłania wiadomości podobnego do Facebooka

Masz rację, taki duży stół nie nadaje się do użytku. Jeśli potrzebujesz prawdziwego systemu przechowywania wiadomości, lepiej przyjrzyj się rozwiązaniom NoSQL (takim jak HBase, Cassandra, MongoDB itp.), po prostu będziesz musiał zapomnieć o wszystkim, co wiesz o relacyjnych bazach danych.

Z MySQL możesz jednak zrobić coś skalowalnego, jeśli podzielisz tabelę na bardzo małe części. Stwórz jedną tabelę przechowującą wiadomości maksymalnie 1k użytkowników (będziesz musiał napisać wszystkie wiadomości dwukrotnie, chyba że obaj użytkownicy są z tej samej tabeli). Dodatkowo przechowuj nie więcej niż 1k tabel w jednej bazie danych, automatycznie twórz kolejną po osiągnięciu tego limitu. Posiadanie kilku baz danych (nawet na jednym serwerze fizycznym) ułatwi DBA przeniesienie każdej z nich na nowy serwer, gdy bieżący zostanie przeciążony. Aby otrzymać wiadomości od określonego użytkownika, twój kod będzie musiał uzyskać wymaganą bazę danych/tablicę z mapy, którą będziesz mieć.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Błąd:Klient nie obsługuje protokołu uwierzytelniania żądanego przez serwer; rozważ aktualizację klienta MySQL

  2. Uzyskaj najbliższą datę z tabeli MySQL

  3. Zastąp w MySQL

  4. Policz liczbę tagów podrzędnych z XML w SQL

  5. Pobieranie indeksu wstawionego wiersza