• 16-10-2024, 10:00:59
    #1
    Php ile sitemize iç mesajlaşma ekliyoruz. Bunun için sizce ne tür bi veritabanı daha mantıklı? Ana sistem mysql kullanıyor.
  • 16-10-2024, 10:08:49
    #2
    Üyeliği durduruldu
    mysql ile devam edebilirsiniz. mysql ilişkisel veritabanı olarak yapılandırılmış bir sistemdir ve veri bütünlüğü ile güçlü ACID desteği sağlar.
  • 16-10-2024, 10:19:19
    #3
    Ana sistem Mysql ise bence değiştirmeye gerek yok , fantazi olsun derseniz nosql sistemlere bakabilirsiniz (bkz firestore) , fakat sorgu oranlarını planlamak lazım , nosql ve sql dezavantaj ve farklarını araştırın.
  • 16-10-2024, 10:23:51
    #4
    SerdarGnd adlı üyeden alıntı: mesajı görüntüle
    Ana sistem Mysql ise bence değiştirmeye gerek yok , fantazi olsun derseniz nosql sistemlere bakabilirsiniz (bkz firestore) , fakat sorgu oranlarını planlamak lazım , nosql ve sql dezavantaj ve farklarını araştırın.
    Kullanıcı başına 50 giden mesaj limiti var. Şu anda az kullanıcı var ama artarsa sistemi ayaküstü değiştirmek yerine önden sistemi sağlam kurmak istiyorum.
  • 16-10-2024, 10:26:20
    #5
    Üyeliği durduruldu
    BABER adlı üyeden alıntı: mesajı görüntüle
    Kullanıcı başına 50 giden mesaj limiti var. Şu anda az kullanıcı var ama artarsa sistemi ayaküstü değiştirmek yerine önden sistemi sağlam kurmak istiyorum.
    tablolar arasında ilişkiyi ve indeks yapısını iyi ayarlarsanız sağlam bir yapı olmuş olur.
    kurgu önemli yanlış olursa teknloji bağımsız sağlam yapı kuramazsınız.
  • 16-10-2024, 10:29:02
    #6
    vido adlı üyeden alıntı: mesajı görüntüle
    tablolar arasında ilişkiyi ve indeks yapısını iyi ayarlarsanız sağlam bir yapı olmuş olur.
    kurgu önemli yanlış olursa teknloji bağımsız sağlam yapı kuramazsınız.
    Şu anda gönderen_id, alan_id ve mesaj olarak bir yapıya sahip hocam. Mesaj başına 70 karakter limit var.
  • 16-10-2024, 10:31:04
    #7
    Üyeliği durduruldu
    BABER adlı üyeden alıntı: mesajı görüntüle
    Şu anda gönderen_id, alan_id ve mesaj olarak bir yapıya sahip hocam. Mesaj başına 70 karakter limit var.
    mevcut tablo yapısını ve düşündüğün kurguyu paylaşırsan buradan ilerleyebiliriz.
  • 16-10-2024, 10:45:41
    #8
    vido adlı üyeden alıntı: mesajı görüntüle
    mevcut tablo yapısını ve düşündüğün kurguyu paylaşırsan buradan ilerleyebiliriz.
    User tablosu-> user_id(int), username(string:15), şifre(hash), güvenlik_anahtarı(string:60)
    Mesaj tablosu-> gönderen_id(int), alan_id(int), mesaj(string:70), anahtar_onay(int:1)
    Mesaj göndermek için kullanıcı seçiliyor, mesaj yazılıyor, gönder dediği zaman
    1) gönderen kullanıcının kaç mesajı var bakılıyor eğer 50 ise uyarı verip exit
    2) Eğer 50den azsa güvenlik anahtarının geçerliliğine bakıyor. Anahtar geçerliyse mesaj veritabanına mesaj işleniyor.
    3)Alıcı mesajı yanıtlamayı seçerse yanıt verebiliyor.
  • 16-10-2024, 11:14:10
    #9
    Üyeliği durduruldu
    BABER adlı üyeden alıntı: mesajı görüntüle
    User tablosu-> user_id(int), username(string:15), şifre(hash), güvenlik_anahtarı(string:60)
    Mesaj tablosu-> gönderen_id(int), alan_id(int), mesaj(string:70), anahtar_onay(int:1)
    Mesaj göndermek için kullanıcı seçiliyor, mesaj yazılıyor, gönder dediği zaman
    1) gönderen kullanıcının kaç mesajı var bakılıyor eğer 50 ise uyarı verip exit
    2) Eğer 50den azsa güvenlik anahtarının geçerliliğine bakıyor. Anahtar geçerliyse mesaj veritabanına mesaj işleniyor.
    3)Alıcı mesajı yanıtlamayı seçerse yanıt verebiliyor.
    iş görür. gönderen_id ve alan_id indeksleri ekleyin yoksa.

    ben olsam şöyle yapardım.
    conversations: id, to_user, from_user, created_at
    messages: id, conversation_id, sender_id, is_read, deleted_for_user, created_at

    yapının mantığı:
    konuşma başlatma: bir kullanıcı, başka bir kullanıcıya mesaj göndermek istediğinde önce conversations tablosunda iki kullanıcı arasında bir konuşma olup olmadığı kontrol edilir. eğer yoksa yeni bir konuşma başlatılır ve mesaj bu konuşmaya eklenir.
    mesaj gönderme: mesajlar, mevcut bir konuşmaya eklenir ve mesajın kim tarafından gönderildiği, ne zaman gönderildiği bilgileri saklanır.
    mesaj silme: mesajlar tablosuna bir silme durumu eklenir. bu sütun mesajın kim için silindiğini takip eder