Tam metin 1631 Kelimeler, tahmini öğrenme süresi 5 dakika
Kaynak: Pexels
No-SQL, SQL'i aşamalı olarak mı kaldırıyor?
Geçen hafta, arkadaşım bana başarılı bir girişimciden "SQL modası geçmiş" şeklinde bir e-posta gönderdi.
Girişimci, MongoDB ve Redis gibi popüler No-SQL veritabanlarının SQL tabanlı veritabanlarını yavaşça aşamalı olarak kaldıracağını iddia ediyor. Bu nedenle, bir veri bilimci olarak SQL öğrenmek "engellileri tutmaktır"
E-postasını görünce şok oldum, bu kadar çirkin bir sonuca nasıl ulaştı? Ama bu da beni meraklandırıyor ... Başkaları bunu böyle yanlış anlayacak mı? Girişimcinin çok sayıda hayranı var ve kendisi de açık sözlü: Yeni veri bilimcileri SQL öğrenmeyi bırakmaları için tavsiyeler alıyor mu?
Belki başkaları da SQL'in ortadan kaldırıldığını düşünüyor, burada girişimciye açıkça cevap vermek istiyorum.
Veri bilimindeki bir kariyerde SQL öğrenmek çok gereklidir. No-SQL, SQL öğrenmenin anlamını sarsamaz.
Temel olarak, SQL'in önümüzdeki birkaç on yıl içinde modasının geçmeyeceğini garanti etmenin iki nedeni vardır.
Neden 1: SQL içermeyen veritabanları Presto, Redshift ve BigQuery gibi analitik veritabanlarının yerini almayacak
Uygulamanın MySQL gibi bir SQL arka ucu veya MongoDB gibi bir No-SQL arka ucu kullanıp kullanmadığına bakılmaksızın, arka uçtaki veriler sonunda Redshift, Snowflake, BigQuery veya Presto gibi özel bir analiz veritabanına yüklenir.
Veritabanı platformunun örnek mimarisini analiz edin: SQL ve NoSQL
Şirket verileri neden Redshift gibi sütun depolamaya aktarıyor? Sütun depolama, ister NoSQL ister MySQL gibi bir satır depolama veritabanı olsun, analitik sorguları daha hızlı çalıştırabildiğinden. Aslında, sütun depolama veritabanlarının popülaritesinin NoSQL veritabanları kadar hızlı olduğuna bahse girerim.
Bu nedenle, NoSQL ve diğer veritabanları gibi veritabanları eşleşen uygulamalara sahiptir.Teknolojileri, veritabanı uygulamalarını kullanmadıkları için genellikle veri bilimcileriyle ilgili değildir. Elbette daha sonra tartışılacak olan bazı istisnalar var.
Sebep 2: NOSQL veritabanının avantajı, SQL dilini desteklememesi değil
SQL tabanlı sorgu motorlarını desteklemek mantıklıysa, No-SQL depolamanın bunu başarabileceği ortaya çıktı. Benzer şekilde, SQL veritabanları da NoSQL sorgu dilini destekleyebilir, ancak bunu desteklememeyi seçerler.
Öyleyse, sütun depolama veritabanı neden kasıtlı olarak bir SQL arabirimi sağlamayı seçiyor?
Bu seçimi yaptılar çünkü SQL dili veri işleme talimatlarını ifade etmede çok güçlü.
Örnek olarak basit bir sorgu ele alalım: NoSQL veritabanı altındaki MongoDB hesaplama koleksiyonundaki dokümanların sayısıdır.
Not: MongoDB'deki belgeler satırlara benzer ve koleksiyonlar tablolara benzer.
db.sales.aggregate ()Eşdeğer SQL ile karşılaştırın.
satışlardan sayıyı (1) seçinAçıkçası, veri çıkarmak isteyen kişiler için SQL dili daha iyi bir seçimdir. NoSQL veritabanları farklı dilleri destekler, çünkü veritabanı arabirimi uygulama kitaplıkları açısından SQL'i doğru bir şekilde oluşturmak zordur.
Daha önce de belirtildiği gibi, uygulama veritabanı teknolojisinin veri bilimcilerle hiçbir ilgisi yoktur, ancak bu kuralın bazı istisnaları vardır. İlk şirketim aslında Redshift gibi analitik bir veritabanına sahip değildi, bu yüzden uygulama veritabanını doğrudan sorgulaması gerekiyordu. Daha doğrusu, uygulama veritabanının okunan kopyasını sorguluyor.
Şirketin uygulaması da No-SQL veritabanı Redis'i kullanıyor ve birden fazla kez doğrudan Redis'ten veri almam gerekiyor, bu yüzden Redis'in NoSQL API'sinin bazı bileşenlerini gerçekten öğrenmem gerekiyor.
Bu nedenle, ana uygulamanın yalnızca bir NoSQL veritabanı kullandığı bir ortamda, hangi SQL'i öğrendiğiniz önemli olmayabilir. Ancak çok nadir durumlarda, şirket büyüdükçe, neredeyse kesin olarak SQL destekli bir sütun depolama analizi veritabanının kurulmasına yatırım yapacaklardır.
Okuduğunuz için teşekkürler! Umarım herkese yardımcı olur ~
Yorum Beğen Takip Et
Yapay zeka öğrenme ve geliştirmenin kuru mallarını paylaşalım
Yeniden yazdırıyorsanız, lütfen arka planda bir mesaj bırakın ve yeniden yazdırma şartnamelerine uyun