uğraşmamak istersen postgresql indexli bas
uğraşırım dersen a/b.json şeklinde böl bu dosyada ab.. ile başlayan idler olsun öyle sorgu atmayı dene cache ile tabi
postgreste partitioning var ona da bakabilirsin
Hocam exelden dönüştürdüğüm için json olarak çevirmek hem zaman kaybı hemde başa sarmak olur , dediğinize not aldım bakacağım pek bilgi sahibi değilim araştıracağım
Eğer CRUD yoksa Elasticsearch olabilir diye düşünüyorum. Postgre masraflı olacaktır. Apache Druid'de güzel bir çözüm olabilir ancak ciddi uğraş ister.
Hocam crud yok , birkaç tanıdığım kişi elasticsearch'tan bahsetti fakat forumda düzgün bir konu veya uğraşan kimseyi göremedim
1 Datanın tam olarak içeriği nedir ?
2 Sorgu şekli nedir ? ne arayacaksınız ?
3 php kullanmanız mecburiyet midir ?
Datanın içeriği konudada belirttiğim üzere ürün ismi ve barkodu gramajı ve fiyatlarından oluşuyor sorgu şekli api direk mysql bağlantısı kullanarak kullanıcı panelinden müşterinin arattığı ürünün bilgilerini getiriyor , şu anlık bayilik sistemi site üzerinden olduğu için php mecburi malsef.
Hızlı ve işlevsel bir çözüm arıyorsan mongo db ve elasticsearch ile çalışabilirsin elasticsearche indexletip de db aratmak baya hızlandırır
Şu anlık elasticsearch en mantıklısı gibi duruyor hocam
bağımsız değerler ile mi sorgulama yapıyorsun?
Evet hocam
yukarıdaki yorumlarda belirtilmiş fakat elastic sizin için en mantıklı seçenek olacaktır
Evet hocam elastic en mantıklısı gibi gözüksede internette tam olarak nokta atışı bir bilgi yok yabancı kaynaklar dahil ve uğraşan kimseyide bulamadım forumda.
hocam adet fazla gibi gözükebilir ama ürün barkod, ismi, fiyatı sorgulama işi mysql için veya diğer bilinen database sunucular için bebek işi. karmaşık bir sorgunuz yok. başka yazmadığınız birşeyler yoksa, sunucunuz yeterli olmayabilir, mysql yerine mariadb daha hızlıdır, mysql tuner diye ücretsiz yazılım var onu da deneyebilirsiniz, ya da aşağıdaki GPT'nin sıraladığı maddelere bir göz atın:
GPT:
Veritabanı sorgu süresini optimize etmek için bazı önerilerim var. İşte düşünmeniz gereken bazı adımlar:
- Veritabanı İndeksleme: Veritabanınızın sütunlarını doğru şekilde indekslediğinizden emin olun. İndeksler, sorgu hızını artırabilir. Özellikle sık kullanılan sütunları indekslemek önemlidir.
- Veritabanı Optimizasyonu: Veritabanınızın yapılandırmasını kontrol edin. Örneğin, veritabanı tampon boyutunu ve sorgu önbelleğini ayarlayarak performansı artırabilirsiniz.
- Sorgu Optimizasyonu: Sorgularınızı optimize edin. Örneğin, gereksiz JOIN işlemlerini ve alt sorguları azaltmaya çalışın. Sorgu planını inceleyerek hangi alanların yavaşladığını belirleyin.
- Veritabanı Sunucusu: Veritabanı sunucunuzun donanımını ve yapılandırmasını gözden geçirin. Daha hızlı bir sunucu veya daha fazla bellek eklemek performansı artırabilir.
- Veritabanı Partisyonlama: Büyük veritabanlarını bölerek performansı artırabilirsiniz. Örneğin, verileri tarih veya başka bir kritere göre bölebilirsiniz.
- Veritabanı İş Yükü Dağıtımı: Veritabanı iş yükünü birden fazla sunucuya dağıtarak yükü dengeleyin. Bu, sorgu süresini azaltabilir.
- Veritabanı İzleme ve Günlükleri İnceleme: Veritabanı günlüklerini inceleyerek yavaş sorguları belirleyin ve bu sorguları optimize edin.
- Veritabanı Versiyonu: Kullandığınız veritabanı yönetim sisteminin en son sürümünü kullanın. Yeni sürümler genellikle performans iyileştirmeleri içerir.
Bu adımları göz önünde bulundurarak veritabanı sorgu süresini optimize etmeye çalışın.
Öncelikle yorumunuz için teşekkürler hocam bahsettiğim verilerden oluşuyor veritabanı problem şu normal direkt ürün ismi veya barkodundan arama yaparken problem yaratmıyor fakat direkt ürünün markasını girdiğimizde o markaya ait aynı model ürünlerin listelenmesi vakit alıyor buda can sıkıcı bir durum dediğiniz gibi mariadb hazır kurulu şekilde veren bazı firmalar var vultr, docean gibi şu an araştırma aşamasındayım bakıyorum deneyeceğim.