SQL (MySQL) - NoSQL (CouchDB) [kapalı]


126

Çok fazla veri depolaması gereken yüksek düzeyde ölçeklenebilir bir uygulama tasarlamanın ortasındayım. Örneğin, kullanıcılar hakkında çok şey depolayacak ve daha sonra mesajlarının, yorumlarının vb. Birçok şeyi daha önce her zaman MySQL kullandım ama şimdi couchdb veya SQL olmayan benzerleri gibi yeni bir şey denemeyi düşünüyorum.

Bu konuda herhangi bir fikri veya rehberliği olan var mı?


3
Gah, CW. Ve burada gerçek bir rep ve biraz sokak kredisi almayı umuyordum. :-)
Franci Penov

1
veri kümeniz hakkında biraz daha açıklar mısınız?
mikeal

4
Keşke bunun kapatılması gerekmeseydi. Bu soruların sorulması önemlidir, ancak bazı nedenlerden dolayı SO'ya ait değillerdir.
Neil Chowdhury

Yanıtlar:


191

İşte Dare Obasanjo'nun son blog gönderisinden bir alıntı .

SQL veritabanları otomatik iletim gibidir ve NoSQL veritabanları manuel iletim gibidir. NoSQL'e geçtiğinizde, sistemin ilişkisel bir veritabanı sisteminde otomatik olarak üstlendiği birçok işten sorumlu olursunuz. Otomatik şanzımana manuel şanzımanı seçtiğinde olanlara benzer. İkinci olarak, NoSQL, veritabanı katmanındaki ilişkisel veritabanları tarafından yapılan birçok bütünlük denetimini ortadan kaldırarak sistemden daha fazla performans elde etmenize olanak tanır. Yine, bu, otomatik şanzımanlı bir araca karşı manuel şanzımanı sürerek arabanızdan nasıl daha fazla performans elde edebileceğinize benzer.

Bununla birlikte, en dikkate değer benzerlik, tıpkı çoğumuz gibi, manuel şanzımanlı bir aracın avantajlarından gerçekten yararlanamadığımız gibi, sürüşümüzün çoğu işe gidip gelirken trafikte oturuyor, benzer sert bir gerçek var. çünkü çoğu site Google veya Facebook ölçeğinde değildir ve bu nedenle bir Bigtable veya Cassandra'ya ihtiyaç duymaz.

Sadece en azından biraz deneyime sahip olduğunuz MySQL'den hiç deneyiminiz olmayan CouchDB'ye geçişi ekleyebileceğim, yepyeni bir dizi problemle uğraşmanız ve farklı kavramları ve en iyi uygulamaları öğrenmeniz gerektiği anlamına gelir. Bu kendi başına harika olsa da (evde MongoDB ile oynuyorum ve onu çok seviyorum), o proje için çalışmayı tahmin ederken hesaplamanız gereken bir maliyet olacak ve bilinmeyen faydalar vaat ederken bilinmeyen riskler getirecek. Bilmediğiniz bir teknolojiye dayanıyorsa, projeyi zamanında ve istediğiniz / başarılı olmak için ihtiyaç duyduğunuz kalitede yapıp yapamayacağınıza karar vermek çok zor olacaktır.

Şimdi, eğer takımda NoSQL alanında bir uzman varsa, o zaman kesinlikle ona iyi bakın. Ancak ekipte herhangi bir uzmanlık olmadan, yeni bir ticari proje için NoSQL'e atlamayın.

Güncelleme : Başladığınız ateşe biraz benzin atmak için, işte SQL kampındaki insanlardan iki ilginç makale. :-)

NoSQL'in Ölmesini Bekleyemiyorum (orijinal makale gitti, işte bir kopyası )
NoSQL Zihniyetiyle Mücadele, Bu Bir Anti-NoSQL Parça
Güncellemesi Olmasa da : İşte NoSQL'in NoSQL Anlayışı Yapma hakkında ilginç bir makale


2
SQL çözümlerini ölçeklendirme süreci, özelliklerin ve ilişkilerin kaldırılması sürecidir. Bu yüzden bunun tamamen adil bir değerlendirme olduğunu düşünmüyorum. Ayrıca, ben olmaz grup NoSQL birlikte böyle veritabanları, örneğin Cassanda ölçekleme mercek altına almaktadır kadar CouchDB api ölçekleme ile ilgilidir iken aşağı ve kullanımı kolay hale ve uzak yukarı mümkün olduğunca ölçeğine bu api izin girişimleri.
mikeal

Bu, alıntıya bağlantı olabilir mi? 25hoursaday.com/weblog/2010/03/29/…
edosoft

Ah, evet gerçekten. Bunu herkese açık bir blog yazısı yapmasını da özledim. Gönderiyi güncelleyeceğim.
Franci Penov

1
Gönderi için teşekkürler! "NoSQL'in Ölmesini Bekleyemiyorum" bağlantısı benim için çalışmıyor, kontrol etmek isteyebilirsiniz.
kbpontius

"Daha yeni, yetersiz anlaşılmış bir sınırlama ve siğil listesi için iyi numaralandırılmış bir sınırlamalar ve siğiller listesi ile işlem yaptınız" - NoSQL'in Ölmesini Bekleyemiyorum
Yarin

3

Görünüşe göre bugün yalnızca gerçek çözümler ölçeklendirme veya parçalama etrafında dönüyor. Tüm modern veritabanları (NoSQL'lerin yanı sıra NewSQL'ler), uygulamanın parçalama koduna veya başka bir şeye sahip olmasına gerek kalmadan, veritabanı katmanında kutudan çıkar çıkmaz yatay ölçeklendirmeyi destekler.

Ne yazık ki, güvenilir eski MySQL için parçalama "kutudan çıkar çıkmaz" sağlanmamaktadır. ScaleBase (sorumluluk reddi: Orada çalışıyorum) tam bir ölçek genişletme çözümünün üreticisi ve isterseniz bir "otomatik parçalama makinesi". ScaleBae, verilerinizi ve SQL akışınızı analiz eder, verileri DB düğümlerine böler ve çalışma zamanında toplar - böylece yapmanız gerekmez! Ve ücretsiz olarak indirilebilir.

Beni yanlış anlamayın, NoSQL'ler harika, yeniler, yeni daha fazla seçenek ve seçim her zaman iyidir !! Ancak NoSQL'i seçmenin bir bedeli vardır, ödeyebileceğinizden emin olun ...

Burada MySQL, NoSQL hakkında daha fazla veri görebilirsiniz ...: http://www.scalebase.com/extreme-scalability-with-mongodb-and-mysql-part-1-auto-sharding

Umarım yardımcı olmuştur.


0

En iyi seçeneklerden biri ölçeklenebilirliği destekleyen MongoDB'yi (NOSql dB) kullanmaktır.Sql'deki satır ve tablolardan farklı olarak büyük miktarda veriyi belge biçimindeki büyük veriden başka hiçbir şey saklar. temel olarak birincil db sunucusuna sahip birden çok sunucuyu koruyan verilerin garanti edilmesini sağlamak. Dilden bağımsız. Kullanımı esnek


Fikrinizi "en iyi" olarak yedeklemelisiniz çünkü Couchbase, Cassandra, AeroSpike vb. Ve bahsettiğiniz özellikleri destekleyen tüm veritabanları.
OneCricketeer
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.