NoSql Crash Kursu / Eğitimi [kapalı]


100

NoSQL'in SO'da epeyce açıldığını gördüm ve neden onu kullanacağınıza dair sağlam bir anlayışa sahibim (buradan, Wikipedia vb.). Bunun nedeni, ne olduğuna dair somut ve tekdüze bir tanımın bulunmaması olabilir (somut uygulamadan daha çok bir paradigma), ancak kafamı, onu kullanacak bir sistemi nasıl tasarlayacağım ya da nasıl yapacağım Bunu kendi sistemime uygulardım. Tablolar ve birleşimler açısından şeyleri düşünerek gerçekten ilişkisel bir zihniyette sıkıştım ...

Her halükarda, onu kullanacak bir sistemle ilgili yoğun bir kurs / öğretici (NoSQL tabanlı bir sistem için bir tür "merhaba dünya") veya SQL tabanlı mevcut bir "Merhaba Dünya" uygulamasını alan bir öğretici biliyor mu? ve NoSQL'e dönüştürür (kod olarak değil, sadece üst düzey bir açıklama).


Bu videoyu gerçekten beğendim . 10Gen tarafından hazırlanmış bir web semineridir. MongoDB kullanarak temel içeriğin nasıl yayınlanacağını ve sosyal etkileşimlerin (etiketler, yorumlar, veri toplama) nasıl ekleneceğini açıklar.
Onema

Yanıtlar:



53

En basit haliyle NoSQL, bir tür anahtar / değer eşleştirme sistemi kullanarak nesneleri depolamanın bir yolundan başka bir şey değildir. Bunu zaten her zaman kullanıyorsun sanırım. Örneğin. javascript'te foo adında bir nesne oluşturabilir ve ardından foo['myobj'] = myobj;nesnede bir şeyler depolayabilirsiniz.

Tüm NoSQL sunucularının gerçekten yaptığı, size büyük dizileri eklemek / silmek / sorgulamak için bir yol sağlamak ve yine de kalıcılık ve hata toleransına izin vermektir. Bellek sunucusunda yaklaşık 100 satır kodda bir NoSQL oluşturabilirsiniz.

Öyleyse bunu şu şekilde yapalım ... CouchDB'de harita / azaltma kullanıyorsunuz ... öyleyse bir SQL kodu ile aynı şeyi yapacak bir harita işlevi oluşturalım:

SELECT * FROM users WHERE age > 10

CouchDB'de sunucuya, veritabanındaki her öğeye karşı çalıştırılan bir JavaScript işlevi sağlarsınız ...

function (doc)
{
    if (doc.objType == "users") {
       if (doc.age > 10) {
           emit(doc._id, null)
       }
    }
}

Gerçekte hepsi bu kadar ..... sunucu çökmeleri ve aynı nesnenin birden fazla revizyonunu ele almak zorunda olduğu için sunucu tarafında çok daha karmaşık hale geliyor, ancak bu sadece bir örnek.


10
Örneğiniz büyük bir DB'de verimsiz olacak gibi görünüyor. Sunucu belge türünde dizin oluşturabilir mi veya kullandığı anahtarlar ve anahtarlar üzerinde dizine alma konusunda akıllı olabilir mi? Kullanıcı1, kullanıcı2 vb. Anahtarlar olabilir.
Jess

3

MongoDB ile biraz çalışarak DNR TV'deki bu videoya bir göz atın . İlk giriş için güzel olabilir.



1

y_serial, çalışan bir öğretici gibi okuyan ve birçok ipucu ve referans içeren tek bir Python modülü olarak yazılmıştır: http://yserial.sourceforge.net/

Bu, rastgele bir Python nesnesinin (örneğin, bir sözlük veri yapısı) "NoSQL" (sadece SQL değil) biçiminde nasıl sürdürüleceğinin perspektifini alır.





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.