Ini adalah masalah arsitektur yang besar, Anda tahu. Perusahaan seperti facebook dan twitter menghabiskan banyak waktu dan uang untuk memecahkan masalah Anda dengan cara yang kuat. Jika server obrolan Anda sederhana (Seperti yang telah Anda tulis), gunakan cara 1.b, tetapi buat lapisan abstraksi (seperti saveConversation
, getConversation
). Jika di masa depan kecepatan tidak akan memuaskan Anda, pikirkan representasi yang lebih efisien, seperti database NoSQL (LevelDB atau sesuatu seperti ini). Jangan pikirkan performa sekarang, buat prototipe dengan abstraksi yang bagus dan arsitektur yang dapat dipasang.