Aramayan Bulamaz
×
sqlite etiketine ait içerikleri görüntülemektesiniz.
Laravel ve MongoDB Entegrasyonu

Merhaba, iş yoğunluğum sebebiyle uzun zamandır blog yazamıyordum. Bu yazımda Laravel projenizde MongoDB veritabanını nasıl kullanırız onu anlatacağım.

Laravel varsayılanda MySQL desteği ile kuruluyor. Bunun yanı sıra config/database.php dosyasında PostgreSQL, SQLite ve SQL Server desteklerinin olduğunu görüyoruz. Veritabanı seçimi, projenin en başında, proje büyüklüğüne, veriye ne kadar sıklıkla ulaşmak isteyeceğimize ve ileride veri boyutu yükseldiğinde ihtiyaç halinde rahatça scaling yapabileceğimiz bir şekilde seçmek daha doğru olacaktır.

Yapmış olduğum projenin ilerleyen safhalarında veri boyutunun artacağını ön gördüğümüz için bu sebeple de veritabanı tarafında yükü daha da azaltmak ve problem yaşanması durumunda çözüm üretilene kadar kullanıcıların bunu en hafif şekilde hissedebilmesi için horizontal scaling yapısına uygun bir veritabanı seçmeye karar verdik.

Burada biraz araştırma yaptım, MongoDB, Cassandra vs hangisi Laravel ile daha uyumlu çalışır ve hangisinin resmi bir composer paketi var. Google’da “Laravel with nosql” şeklinde arama yapınca da ilk sırada MongoDB çıkıyor ve MongoDB’nin kendi hazırlamış olduğu composer paketi de var, bu sebeple projeye MongoDB ile ilerlemeye karar verdik.

MongoDB kurulumu ile ilgili olarak burada anlattığım konuyu inceleyebilirsiniz.

Eğer sunucuda (Local bilgisayarınız ya da uzak sunucu fark etmez, genel olarak sunucu diyeceğim) php-mongodb kurulu değilse bunun kurulumunu yapıyoruz. Bu işlem kullanmakta olduğunuz PHP sürümü ya da sunucuya göre değişebilir. Cpanel’de EasyApache ya da Pecl installer üzerinden, Plesk Panelde kullanacağınız PHP sürümüne terminalden pecl ile kurulabir. Ben Ubuntu sunucu üzerine kurulumdan bahsederek devam edeceğim.

apt install php-mongodb -y

Daha sonra Laravel projemizin olduğu dizinde terminalde aşağıdaki komut ile gerekli composer paketini kuruyoruz.

composer require mongodb/laravel-mongodb

Kurulum tamamlandıktan sonra confi

  • Önceki Sayfa
  • Sonraki Sayfa