2016-03-31 25 views
1

Yaklaşık 75 Veritabanı tablosu içeren bir uygulama üzerinde çalışıyorum. Her seferinde belirli bir tabloda bir kayıt eklenir/güncellenir, bu verileri başka bir depoda saklamak istiyoruz.Web Uygulaması - Veritabanı Günlüğü

Şu an itibariyle, her tablo için esasen bir Günlük tablosu var. i.e table_a_log, tableB_log, vb.

Modeller kaydedildiğinde (Laravel uygulaması) ilgili Günlük tablosundaki verileri günlüğe kaydetmek için olaylar başlatılıyor.

Sorum şu: Kayıt tutmaya yaklaşmanın en iyi yolu nedir? Veritabanını veritabanında saklıyorsak, kayıt için ayrı bir Datatase kullanmalı mıyız? Giriş yapmak için daha iyi alternatifler var mı?

+0

Böyle sert ve hızlı bir kural olup olmadığından emin değil. Ana endişe nedir? –

+0

Bu, Kullanıcı Analizi günlüğüne daha çok benziyor, bu nedenle dosya günlüğü gibi şeyler işe yaramazdı çünkü bunların aranabilir olması gerekiyordu (belki de uygulamadan değil, gerçeğin ardından) diyebiliriz. bu tarihler arasında bu promosyonlar arasında ". Ama 75 tablo ile (her tablo için milyonlarca kayıt için büyüyebilir bir günlük tablosu ile) sadece insanların genel olarak bu – djt

+0

işlemek merak ettiniz Analitik verileri diğer veritabanı kaynakları gibi ele alırsanız, optimizasyonu dikkate almanız gerekecektir. veritabanı boyut olarak büyür. Örneğin, bazı ölçeklenebilirlik kaynaklarını okumanızı öneririm: http://highscalability.com/ –

cevap

0

5.2'yi kullandığınızı varsayarsak, Laravel'in içine giriş yapmak için documentation. Log::info('[email protected] was used');

gibi bilgileri kullanarak standart Laravel günlüklerine bilgi girebilirsiniz. Daha gelişmiş kayıtlar için, kutudan çıktığı anda Laravel'de bulunan Monolog kullanabilirsiniz.

Düzenleme: Asıl sorunuza daha eksiksiz bir yanıt vermek için, oturum açmış bilgileri ne kullandığınıza bağlıdır. Hiçbir şeyin kırılmadığından emin olmak için neler olup bittiğini takip etmek istiyorsanız, düzenli Laravel kayıt işlemi iyi çalışır. Kişisel olarak halihazırda sahip olduğunuz yoldan kaçınacağım (bir veritabanında günlükler) çünkü bu, bir şeyi kaydettiğiniz veya güncellediğiniz her seferinde, iki farklı sql eylemi gerçekleştirdiğiniz anlamına gelir (gerçek verileri kaydedip daha sonra günlük kaydederek). Ayrıca, Laravel'in günlüğü ve Monolog bir sebepten dolayı orada.

İlgili konular