Şu anda öğrencilerin derslerini yönetmelerine izin vermek için bir uygulama geliştiriyorum ve özellikle belirli bir özellik için veritabanını nasıl tasarlayacağımı bilmiyorum. Müşteri, Facebook'a çok benziyor, bir öğrenci şu anda belirli bir kursta olan kişilerin listesini görüntülediğinde, giriş yapmış olan kullanıcıyla en fazla karşılıklı dersleri olan insanlar önce görüntülenir. Facebook ile hemen hemen aynı ek bir filtre ile "Arkadaş önerileri" özelliği.Facebook'un "Karşılıklı arkadaşlar" özelliğini nasıl kullandığını merak etme
Ek bir özellik olarak, öğrencilerin bir başkasını aramasına ve arama sonuçlarında ilk defa oturum açmış kullanıcıyla en çok karşılıklı dersleri olan kişilerin görüntülenmesi için bir arama özelliği eklemek istiyorum.
Şu anda MySQL kullanıyorum, Cassandra'yı başka özellikler için kullanmayı planlıyorum ve ayrıca arama için sonuç önbelleği ve Sfenks için Memcached kullanıyorum.
Teşekkürler.
-
uygulama wayyyys çok olduğu
BTW, Python geliştirilen Ve standart yaklaşım (güzel MySQL sorgu kullanarak ORDER BY ile tüm bu hesaplamak için) belirtmeyi unutmuşum edilir yavaş. Okumalar okunduğundan çok daha sık olduğu için, mantığın birçoğunun bir kez, insanların < -> dersi eklendiği zaman gerçekleşmesini istiyorum.
Oturum açmış bir kullanıcı yeni bir kursa katıldıklarında (ya da ayrıldığında azaldığında), bir kursun tüm kullanıcıları için artırılacak bir tuple (kullanıcı, kurs) özgü bir "karşılıklı dersler" sayacının güncellenmesini düşündüm .
En çok karşılıklı arkadaşlara sahip insanlar hakkında ne kastediyorsunuz?Şu anda giriş yapmış olan kişi ile aynı arkadaşları olan başka bir kullanıcı bulmak mı istiyorsunuz? Ayrıca hangi dilde gelişmekte olduğunuzu da söylemeniz gerekecek. Web tabanlı şeyler gibi görünüyor, ama mySQL bağımsız uygulamalar için kullanılabilir. Ve hala PHP/ASP/JS veya başka bir dil olup olmadığını bilmemiz gerekiyor. – thecoshman
Evet, beni doğru anladın. Uygulama Python'da geliştirildi, ancak gerçekten, başka bir dil ile aynı kesin sorunla karşı karşıya kalırdım. İnsanların bana kodla yardım etmesini beklemiyorum, ama yapısal fikirlerle :) – Pierre
"Karşılıklı arkadaşların" uygulanması, "en karşılıklı dersler" özelliğinin uygulanmasından biraz farklı olacaktır. Birincisi sadece bir tür varlık (kişi) ve bir ilişki "arkadaşıyla" 'ya ihtiyaç duyar. Sonuncusu iki öğrenci (öğrenci, ders) ve öğrenci ile ders arasındaki ilişkinin, öğrenciler arasındaki ilişkilerin tahmin edilmesinin gerekli olacağıdır. –