2012-01-19 29 views
7

Bir ilişkisel veritabanında yabancı anahtarlar kullanılarak işaret edilen dezavantajlardan biri, herhangi bir ekleme işlemi yapmadan önce üst tablonun var olduğundan emin olmanın ek yüküdür. (Example). Veritabanınız ve işleminiz büyüdükçe, bu etki artar. Web'deki büyük sitelerin bunları kullanıp kullanmadığını bilen var mı? Eğer öyleyse, bu ek yükü nasıl aşarlar? Aksi takdirde, geliştirme ekibiniz büyüdükçe, birçok olası hataya/uyuşmaya/iletişim/yetim satırına neden olabilir.Büyük sistemler veritabanlarında yabancı anahtarlar kullanıyor mu?

Herhangi bir fikir?

+0

Veri Yürütülmesinin Karşı Karşıya Çıkması vs Geçerliliği - henüz öznel olmayan, ama ne cevaplar aldığınızı görmek ilginç olacaktır. Yine de bir sorudan daha fazla bir CW düşünürdüm. – Andrew

+2

Çoğu "web'deki büyük siteler" ilişkisel veritabanlarını hiç kullanmaz. – Magnus

+0

@Magnus - Umm, evet öyle. Her şey, büyük olasılıkla HTML içeriği için değil, genellikle işlemsel veriler için yaparlar. – MatBailie

cevap

0

Bu, "büyük site" tanımınıza bağlıdır: Örneğin Citigroup çevrimiçi bankası "büyük bir site" ise, sanırım öyle yaparlar.

Bu örnekle demek istediğim, yabancı anahtarların kullanımı (veya kullanılmaması), yalnızca kayıtlı prosedürlere göre erişimin, iş mantığının (ve belki de yasal çerçevesinin) gereksinimlerine bağlı olmasıdır. sadece teknik konularda.

+0

Açıklığa kavuşturmak için, benim vurgulama, RDBMS'den büyük miktarda veri yazma ve okumaya sahip olan varsayımsal bir web sitesinde yer alıyor. Citigroup, bu FK genel gider maliyetlerinin onları etkileyeceği ölçüde "büyük bir site" olacaktır. Belki Twitter veya Wordpress daha iyi örneklerdir. – carlbenson

+1

Twitter (ve AFAIK) bir RDBMS kullanmamalı ve böylece yabancı anahtarlar kullanmamalı, Wordpress yabancı anahtarları kullanmaz - tam olarak benim argümanım: İş mantığı ve yasal çerçeve buna gerek duymaz. Citibank bunları kullanır, hatta tavan yükü onları etkilese bile, ancak iş mantığı ve yasal onu gerektirir. –

1

Bir telekom için çalışıyorum, evet öyle yapıyorlar ki, FK'nin maliyeti çoğu zaman ciddi olmayan bir büyük olay ile kıyaslandığında çok küçük bir olaydır (zaman kaybı araştırma, yama ...). FK kontrol ediyor.

İlgili konular