SQL Server'ın büyük ölçüde ölçeklenebilir uygulamalar için veritabanı olarak kullanılması önerilir mi?


10

Diyelim ki Facebook ölçeğinde bir web sitesi oluşturmayı planlıyorsunuz (Eğer bir web sitesinin ismini vereceksem neden Facebook olmasın ?!). Bu tür uygulamalar için veritabanı olarak SQL Server kullanılması tavsiye edilir mi?

Bu soruyu soruyorum çünkü birçok meslektaşım SQL sunucusunun bu tür uygulamalar kullanılmaması gerektiğini söylüyor. Bunun yerine Oracle veya MySQL'i tercih ediyorlar.


1
Herhangi bir uygulama için SQL Server kullanıyorlar mı?
JeffO

5
SQL sunucusunun cevap olup olmadığını bilmiyorum, ancak Oracle SQl Server'dan daha iyi değil.
İş

9
Önce kendinize şu soruyu sorun - veri ilişkiniz mi ??
Henrik

2
Bütçeniz büyük ölçüde ölçeklenebilir mi?
sasfrog

Yanıtlar:


10

Evet , SQL Server web dahil yoğun kullanım için tasarlanmıştır. Bir işlemci örnekleri ile birleştirilmiş bellek örnekleri ve depolama olarak bir SAN gibi birçok farklı konfigürasyona koyma yeteneğine sahiptir.

Yerel Microsoft entegratörünüzden veya evangelistinizden tavsiye isteyin.

SQL Server'ın ölçekleme yetenekleri ile ilgili birçok kaynağı web üzerinde bulabilirsiniz ve burada bir başlangıç ​​olarak SQL Server ekibinden konuyla ilgili güzel bir blog yazısı bulunmaktadır: http://blogs.msdn.com/b/sqlcat/archive/ 2008/06/12 / sql-server ölçekli-out.aspx

Azure'un bulutta nasıl SQL Server sağladığını kontrol ettiğinizden emin olun.


SQL Azure sadece bir 'bulutta SQL Server' değil, bazı farklılıklar da var. Ancak, büyük ölçekli bir site için kesinlikle uygun bir seçenektir ve bakılmalıdır.
Bart

Eğer atmak için paranız varsa, o zaman ölçeklenir.
David Neale

3

SQL Server, bu tür işler için başka herhangi bir veritabanı için eşleşmedir, ancak bu tür bir ölçekte bir şey yapmayı düşünüyorsanız, ölçeklenebilirlik açısından geleneksel bir ilişkisel veritabanı yerine bir bulut tablo depolama sistemi ile çalışmak daha iyi olabilir. veya daha büyük ölçekli veri yönetimi için tablo depolama alanı ve sundukları ilişkisel veya işlemsel olanaklara ihtiyaç duyduğunuz yerler için bir veritabanı kullanan heterojen bir sistem tasarlamak.


Evet, cevap kabul edildi. Oy verildi. ;)
Henrik

3

Orijinal olarak büyük ölçüde ölçeklenebilir özelliklere ihtiyacınız varsa, geleneksel veritabanı motorlarını kullanmamalısınız.

Geleneksel SQL veritabanları oldukça iyi ölçeklenir (MySQL, SQL Server veya Orcale kullanarak birçok büyük site örneği bulacaksınız), ancak belirli bir noktada ölçeklenebilirlik sınırına ulaşacaksınız . Bu gerçekleştiğinde, talep düzeyine, uygulama gereksinimlerinizin karmaşıklığına, pahalı sunucularda ne kadar harcama yapmak istediğinize ve veritabanı kullanımını ne kadar iyi optimize edebileceğinize bağlı olacaktır. Birçok site asla bu sınıra ulaşmaz, ancak yaparsanız oldukça acı verir ve sorunu çözmek için büyük bir mühendislik zorluğu ile karşı karşıya kalacaksınız.

Bu noktanın ötesinde, tam olarak dağıtılmış bir NoSQL veritabanına ihtiyacınız var - örneğin Cassandra gibi bir şey , aslında büyük veri zorluklarının bazılarını çözmek için Facebook'ta geliştirildi. NoSQL veritabanları, etkin bir şekilde sınırsız yatay ölçeklenebilirlik sağlamak için geleneksel SQL veritabanı özelliklerinden bazılarını (genellikle işlemler, kilitleme ve nihai tutarlılık etrafında) açıkça feda eder.

Genel olarak tavsiyem, gerçekten büyük bir ölçeklenebilirliğe ihtiyacınız olup olmadığını anlamak ve teknoloji yolunuzu buna göre seçmektir.


2

Evet. Microsoft Live.com'un SQL Server üzerine kurulu olduğuna inanıyorum.

Linux / PostgreSQL hayranı olmak, bugünün herhangi bir teknolojisiyle, özellikle SQL Server ile Facebook oluşturabileceğinizi söyleyeyim.

Facebook (500M) kadar kullanıcı sahibi olmayı planlamıyorsanız, bu en çok web sitesi (Stack Overflow ağı) .Net ve SQL Server üzerine kurulmuştur.


2

Bir araç olarak SQL Server'ı kullanabilirsiniz, ancak Facebook gibi sitelerin tek başına bir Veri Tabanı üzerine inşa edilmediğini unutmayın. Görevi tamamlamak için çeşitli teknolojileri kullanıyorlar, facebook'un günlükleri nasıl yönettiğini bulmak için Yahoo videolarına bakın ve DB'nin büyük ölçeklenebilir Mimarinin sadece bir parçası olduğunu fark edeceksiniz. Saniyede yaklaşık 10000 satır güncellemede, iyi yapılandırma makinelerinde birkaç gün sonra hem SQL Server hem de Oracle DB'nin çok yavaş olduğunu gördüm. Benim sorunum dağıtılmış bilgi işlem kullanamıyorum olmasıdır. Bu nedenle, bir DB'nin veya ölçeklenebilir Mimarinin sağlayabileceği destek sistemlerine bakmak önemlidir.


2

MySQL (!) İçin cevap veremem ama SQLServer veya Oracle kullanmayı seçtiğimiz müşterileri destekleme deneyimim var. Şimdiye kadar, aralarında genellikle bir fark olmadığını gördük, ancak işler uçtuğunda Oracle çok daha iyi bir ürün. Örneğin, SQLServer'ın bu görevi gerçekleştirirken (yansıtılmış bir ortamda) uzun saatler alacağına karar verdiği için, şu anda 7/24 görev kritik sistemimizi indiriyoruz. Hiçbir zaman tam olarak çözülmemiş bir WAN bağlantısı üzerinden büyük bir veri kümesinin günlük gönderimi ile ilgili sorunlar yaşadık. Bunun gibi şeyler, Oracle'da çalışan ve asla bu kadar sorun yaşamadığımız müşterileri desteklemekten memnuniyet duyar.

Yani, büyük ölçüde ölçeklenebilir bir sistem arıyorsanız, o zaman bu sorunları bulabileceksiniz. Oracle donuk, zor ve sinir bozucu, ama gerçekten işe yarıyor.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.