Veri analizi için MongoDB gibi NoSQL veritabanları nasıl kullanılabilir? Veri analizini daha hızlı ve güçlü hale getirebilecek özellikler nelerdir?
Veri analizi için MongoDB gibi NoSQL veritabanları nasıl kullanılabilir? Veri analizini daha hızlı ve güçlü hale getirebilecek özellikler nelerdir?
Yanıtlar:
Dürüst olmak gerekirse, çoğu NoSQL veritabanı büyük verilerdeki uygulamalar için çok uygun değildir. Bütün büyük veri uygulamalarının büyük çoğunluğu için, performansı MongoDB gibi bir ilişkisel veritabanı ile karşılaştırıldığında MySQL olduğu ölçüde tamamen MongoDB gibi bir şey uzak durmak emrine yoksul yeterlidir.
Bununla birlikte, büyük veri kümeleriyle çalışırken kesinlikle sizin lehinize çalışan NoSQL veritabanlarının gerçekten kullanışlı birkaç özelliği var, ancak bu faydaların okuma için SQL'e kıyasla NoSQL'in genel olarak zayıf performansından daha ağır basması yoğun işlemler (tipik olarak büyük veri kullanım örneklerine benzer) düşüktür.
Şahsen , veri bilimi uygulamalarınız için bir arka uç seçmek istiyorsanız, belirli sorgu türleri için gerçekten iyi performans gösteren Neo4j gibi grafik veritabanlarına da göz atmanızı önerebilirim .
json
tamamen yapılandırılmış verilerdir. Teknik olarak herhangi bir veri analizi yapabilirsiniz, bir NOSQL veritabanı kullanarak aslında ilgili değildir. Yine de analytica gibi mongo üzerine inşa edilmiş aletler var .
Şema içermeyen NoSQL yaklaşımının bir yararı, erken işlem yapmamanız ve Apache Drill gibi uygun bir araç kullanarak doğru şemayı sorgu zamanında uygulayabilmenizdir . Ayrıntılar için bu sunuma bakın. MySQL, büyük bir veri ayarında ilk tercihim olmazdı.
Birden fazla veritabanı düşünün, deneyin ve hatta kullanın. Burada sadece bir "performans" sorunu değil. Gerçekten gereksinimlerinize inecek. Ne kadar veri hakkında konuşuyorsunuz? ne tür veriler? ne kadar hızlı ihtiyacın var? Daha ağır mı okuyorsunuz yoksa ağır mı yazıyorsunuz?
SQL veritabanında yapamayacağınız bir şey: Duyarlılığı hesaplayın. http://www.slideshare.net/shift8/mongodb-machine-learning
Tabii ki bu durumda hız ihtiyaçlarınız için yeterince hızlı olmayabilir, ancak bu mümkün bir şeydir. Belirli toplam değerlerin bir miktar önbelleğe alınması ile bile oldukça kabul edilebilirdi. Neden bunu yaptın? Kolaylık.
Kolaylık gerçekten sizin ikna edeceğiniz bir şeydir. Tam da bu yüzden (bence) NoSQL veritabanları oluşturuldu. Performans da elbette, ancak karşılaştırmaları karşılaştırmaya ve diğer endişelere daha fazla odaklanmaya çalışıyorum.
MongoDB (ve diğer bazı NoSQL) veritabanları, yerleşik harita / azaltma gibi çok güçlü özelliklere sahiptir. Bu, Hadoop gibi bir şey kullanmanın hem maliyet hem de zamandan tasarruf etmesine neden olabilir. Veya daha büyük bir iş başlatmak için bir prototip veya MVP sağlayabilir.
Grafik veritabanları ne olacak? Onlar da "NoSQL" dir. OrientDB gibi veritabanlarına bakın. Performansı tartışmak istiyorsanız ... Bana orada daha hızlı bir SQL veritabanı göstereceğinizi düşünmüyorum =) ... ve grafik veritabanlarında yapmanız gerekenlere göre gerçekten harika bir uygulama var.
Teknoloji kuralı (ve internet) tek bir şeyle çok rahat olmaz. Sınırlı olacak ve kendinizi başarısızlığa ayarlayacaksınız.