Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Amazon DynamoDB - Merancang tabel berdasarkan pertemanan

Pertanyaannya adalah, pengguna dapat memiliki daftar teman. Mengingat seorang pengguna, kami ingin mendapatkan semua temannya (nama + status online/offline). Bagaimana kita melakukannya di DynamoDB?

Pertama untuk setiap pengguna, Anda perlu menetapkan user_id. Itu akan menjadi pengidentifikasi unik untuk pengguna itu, dengan kata lain, sebuah pointer.

Anda dapat menggunakan tabel Hash-Range untuk menyimpan data pertemanan. Baik kunci hash dan kunci rentang dari tabel ini akan menjadi user_id. Di DynamoDB, setiap kunci hash dapat memiliki beberapa kunci rentang. Kunci hash akan menjadi satu pengguna dan kami dapat menyimpan semua id pengguna teman-temannya di kunci rentang.

dengan asumsi user_1 berteman dengan user_2 dan user_3

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

Anda dapat memiliki tabel lain yang menyimpan informasi Pengguna

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

Sekarang Anda ingin mendapatkan teman user_1. Anda dapat melakukan kueri DynamoDB dengan hash_key sama dengan user_1. Pada contoh di atas, Anda akan mendapatkan 2 baris:

(pengguna_1, pengguna_2) (uiser_1, pengguna_3).

Sekarang Anda tahu bahwa pengguna_2 dan pengguna_3 adalah teman pengguna_1. Anda dapat menggunakan tabel Pengguna untuk mendapatkan status online pengguna_2 dan pengguna_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. Ambil Gambar yang disimpan sebagai BLOB pada MYSQL DB

  2. Mengonversi nomor Epoch ke tanggal yang dapat dibaca manusia di mysql

  3. Apakah ada cara yang lebih baik untuk mendapatkan data dari dua tabel sekaligus dengan Sphinx/MySQL?

  4. Mengamankan Server MySQL

  5. Apakah ada alasan untuk khawatir tentang urutan kolom dalam tabel?