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

Amazon DynamoDB - Projektowanie stołów w oparciu o przyjaźnie

Pytanie brzmi, użytkownik może mieć listę znajomych. Podając użytkownika, chcemy zdobyć wszystkich jego znajomych (imię + status online/offline). Jak to robimy w DynamoDB?

Najpierw dla każdego użytkownika musisz przypisać identyfikator użytkownika. Będzie to unikalny identyfikator tego użytkownika, innymi słowy wskaźnik.

Możesz użyć tabeli Hash-Range do przechowywania danych o przyjaźni. Zarówno klucz skrótu, jak i klucz zakresu tej tabeli będą miały wartość user_id. W DynamoDB każdy klucz skrótu może mieć wiele kluczy zakresu. Klucz skrótu będzie jednym użytkownikiem i możemy przechowywać identyfikator użytkownika wszystkich jej znajomych w kluczu zakresu.

zakładając, że user_1 jest znajomym z user_2 i user_3

"Friendship table in DynamoDB"
HashKey   RangeKey
user_1    user_2
user_1    user_3
user_2    user_1
user_3    user_1

Możesz mieć inną tabelę, która przechowuje informacje o użytkowniku

"User table in DynamoDB"
HashKey   name    isLoggedin
user_1    J       true
user_2    swaggyp false
user_3    furion  false

Teraz chcesz zdobyć znajomego użytkownika user_1. Możesz wykonać zapytanie DynamoDB z hash_key równym user_1. W powyższym przykładzie otrzymasz 2 wiersze:

(user_1, user_2) (uiser_1, user_3).

Teraz wiesz, że user_2 i user_3 są znajomymi użytkownika user_1. Możesz użyć opcji User the table, aby uzyskać status online user_2 i user_3.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Możliwe zwracane wartości dla mysql_affected_rows()

  2. Podane hasło do konta użytkownika „root” jest nieprawidłowe lub nie udało się połączyć z serwerem bazy danych

  3. Jaka jest różnica między utf8_general_ci a utf8_unicode_ci?

  4. znajdź liczbę wierszy w zwróconym wyniku mysql (nodejs)

  5. Dynamiczna nazwa kolumny za pomocą przygotowanej instrukcji + zapytanie sql ze zmienną zawierającą 's