Desain Database
Pertemuan 14 - Desain Database
Nama: Rayhan Almer Kusumah
NRP: 5025211115
Kelas: Perancangan Perangkat Lunak (A)
Tahun: 2024
Desain Database
Deskripsi Aplikasi
Instagram adalah platform media sosial yang memungkinkan pengguna untuk berbagi foto dan video, serta berinteraksi dengan pengguna lainnya melalui fitur komentar, suka, dan pesan langsung. Aplikasi ini memiliki fokus kuat pada visual, dengan aliran berita yang didasarkan pada konten yang diunggah oleh pengguna yang diikuti.
Database Design
User
Table untuk menyimpan data user.
- userId: string [HashKey]
- name: string
- emailId: string
- creationDateInUtc: long
User Follows
Table untuk menyimpan data follower.
- followingUserId_followerUserId: string [HashKey]
- followingUserId: string [RangeKey]
- followerUserId: string
- creationDateInUtc: long
User Uploads
Table untuk menyimpan user upload.
- uploadId: string [HashKey]
- userId: string [RangeKey]
- imageLocation: string
- uploadDateInUtc: long
- caption: string
User Feed
Table untuk menyimpan data feed user.
- userId: string [HashKey]
- uploadId: string
- creationDateInUtc: long [RangeKey]
Database Mana yang Harus Kita Pilih untuk Penyimpanan Data?
Penting untuk memilih jenis database yang tepat untuk sistem Instagram kita, tetapi mana yang tepat — SQL atau NoSQL? Data kita secara inheren bersifat relasional, dan kita membutuhkan urutan untuk data tersebut (posting harus muncul dalam urutan kronologis) dan tidak ada kehilangan data bahkan dalam kasus kegagalan (ketahanan data). Selain itu, dalam kasus kita, kita akan mendapatkan manfaat dari kueri relasional seperti mengambil pengikut atau gambar berdasarkan ID pengguna. Oleh karena itu, database berbasis SQL memenuhi persyaratan ini.
Referensi: https://www.geeksforgeeks.org/design-instagram-a-system-design-interview-question/
Comments
Post a Comment