Saya mencoba mencari tahu padanan kunci asing dan indeks di database NoSQL KVP atau Dokumen. Karena tidak ada tabel penting (untuk menambahkan kunci yang menandai hubungan antara dua objek) saya benar-benar bingung tentang bagaimana Anda bisa mengambil data dengan cara yang akan berguna untuk halaman web normal.
Katakanlah saya memiliki pengguna, dan pengguna ini meninggalkan banyak komentar di seluruh situs. Satu-satunya cara yang dapat saya pikirkan untuk melacak komentar pengguna itu adalah dengan
- Sematkan mereka di objek pengguna (yang tampaknya sangat tidak berguna)
- Buat dan pertahankan
user_id:comments
nilai yang berisi daftar kunci setiap komentar [komentar: 34, komentar: 197, dll ...] sehingga saya dapat mengambilnya sesuai kebutuhan.
Namun, mengambil contoh kedua Anda akan segera menemui jalan buntu ketika Anda menggunakannya untuk melacak hal-hal lain seperti kunci yang disebut "active_comments" yang mungkin berisi 30 juta id di dalamnya sehingga memerlukan biaya TON untuk menanyakan setiap halaman hanya untuk mengetahui beberapa yang terbaru komentar aktif. Ini juga akan sangat rentan terhadap kondisi balapan karena banyak halaman mungkin mencoba memperbaruinya pada saat yang bersamaan.
Bagaimana cara melacak relasi seperti berikut dalam database NoSQL?
- Semua komentar pengguna
- Semua komentar aktif
- Semua posting diberi tag dengan [kata kunci]
- Semua siswa di klub - atau semua klub tempat siswa berada
Atau apakah saya memikirkan hal ini dengan tidak benar?