Veritabanı ve indeks: tanımlar
Veritabanı, bir mağazanın ürün, sipariş, müşteri ve yapılandırma gibi tüm bilgilerini tablolar halinde saklayan ve düzenleyen sistemdir. İndeks ise, veritabanının tüm satırları taramadan aradığı satırı bulabilmesi için bu tablolara konulan bir yapıdır.
Mağazanın görünmeyen kalbi
PrestaShop ve WooCommerce, verilerini genellikle MySQL veya MariaDB olmak üzere ilişkisel bir veritabanında saklar. Her bilgi türü, satır ve sütunlardan oluşan ayrı bir tabloda tutulur: bir ürün tablosu, bir sipariş tablosu, bir müşteri tablosu, birbirine kimlikler (ID) aracılığıyla bağlanır. Belirli bir müşterinin tüm siparişlerinin anında bulunmasını sağlayan da bu yapıdır.
Bir e-ticaret satıcısı için veritabanı, sitenin en kritik unsurudur: tema ve eklentiler yeniden kurulabilir, ancak sipariş geçmişi ve ürün sayfaları yalnızca veritabanında bulunur. Bu nedenle ciddi bir yedekleme her zaman dosyalardan ayrı olarak veritabanını da içerir ve yalnızca dosyaların kopyalanması hiçbir zaman çalışan bir mağazayı geri yüklemeye yetmez.
İndeks, ya da aynı veritabanı neden bazen hızlı bazen yavaş yanıt verir
İndeks, bir kitabın dizini sayesinde kitabı baştan sona okumadan bir sayfayı bulabilmeniz gibi, bir tablodaki aramayı hızlandıran bir yapıdır. İndeks olmadan veritabanı, istenen bilgiyi bulmak için tabloyu satır satır tarar. Örneğin id_product gibi sık aranan bir sütuna konulan bir indeksle ilgili satırlara doğrudan ulaşır. On binlerce üründen oluşan bir katalogda, birkaç saniye süren bir sorgu birkaç milisaniyeye inebilir.
Bu kazanç bedava değildir: her indeks disk alanı kaplar ve veritabanı her satır değişikliğinde onu güncellemek zorunda olduğundan yazma işlemlerini biraz yavaşlatır. Bu yüzden tüm sütunlar değil, sık yapılan aramalarda gerçekten kullanılan sütunlar indekslenir. Doğru sütunlarda indeks eksikliği, büyümüş bir katalogda yavaşlığın klasik bir nedenidir; aşırı indeks ise daha az göze çarpan bir başka nedendir.
Sıkça sorulan sorular
Veriler veritabanında doğrudan değiştirilebilir mi?
Veritabanı bir mağazayı bazen neden yavaşlatır?
Bir tabloda indeks eksikliği olup olmadığı nasıl anlaşılır?
Bir indeks eklemek mağazayı kapatmayı gerektirir mi?
Veritabanı, sitenin dosyalarıyla aynı yerde mi barındırılır?
İhtiyacınızı bir dakikada anlatın
Size bir anket daha değil, doğrudan bir tahmin sunabilmem için birkaç hedefli soru.