Şimdi Ara

SQL Nasıl NoSQL'den Daha Hızlı Oluyor?

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
8
Cevap
0
Favori
216
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • 2000 girdiyi insert etmem neredeyse 4 dakika aldı. JSON ise saniyelik iş. Ancak tüm karşılaştırmalarda SQL daha hızlı diyor. Bu nasıl oluyor?



  • Duruma göre değişen bir şey bu aslında

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • nosql de insert cok hızlıdır sql ise yavaş kaçar fakat sorgulamada tam tersi sql cok hızlıdır json yavaş kaçar. karşılaştırmayı sorgulama için yapmış olabilirler.

    < Bu ileti mini sürüm kullanılarak atıldı >
  • quote:

    Orijinalden alıntı: bentürküm

    nosql de insert cok hızlıdır sql ise yavaş kaçar fakat sorgulamada tam tersi sql cok hızlıdır json yavaş kaçar. karşılaştırmayı sorgulama için yapmış olabilirler.
    Mantıklı. Teşekkürler. Sanırım büyük sistemlerde sorgu sayısı, insert sayısından fazladır.
  • Neye göre kime göre,

    Sql de insert ederken, kaç tabloya, kaç indexe kaç alana sahipsin bu önemli.

    MySQL de mesela, inndb ile myisam inserti arasında dünyalar vardır.

    Tabi bunun bir nedeni var. SQL verileri bir biri ile ilişkilendirir. JSON sadece bir object notasyonudur. Yani elindeki bir veriyi text olalarak ifade etmeye yarar.

    Bu verileri stoklarken, sql herşeyi farklı yerlere ve düzgün şekilde yerlesitiriken, json doldur boşalt yaptığı için hızlı çalışır.

    Ancak iş veriyi aramaya gelince o zaman değişir. SQL motorları, milyonlarca satır veriyi sorgulamak için optimize edilmiştir.

    VS.
  • mesele json , sql no sql meselesi değil araçllr ve tasarlanma amaçları meselesi var. atrıca 20k kayıdı sql saniyeden az atabilirsin. ancak sen tutup her biri için insert into values yazarsan o iş bitmez. Cünkü tek tek yazıyor. BulkInsert kullanırsın tek seferee yazar. insert işlemi sadece veriyi götürüp bir yere yazmaktan ibaret değil
    1- önce connection acılır, ardından veri gönderilir, kaydedilince varsa trigger calısır, indexler tetiklenir,sonra bir log eklenir, audit kaydi ekir. kapatılır. 20k için tek tek bu yapılır. Ancak sen bulk insert yaparsan tek connection,tek log ve trigger tetiklenmez. bu tarz noktalara dikkat etmen gerek.



    Örneğin apache ignite vardır. çok yüklü yazma gerektiren durumlar için çok hızlı bir ürün. Sql sistemlerin amacı bulk data tutmak değildir anxak 1 milyon satır kaydı tek seferde insert etme benim için gündelik bir işti. Oracle ve posgres de de sorun olmadı. Ancak doğru kullanman önemli. Indexler var mı yok mu kaç tane o önemli. Yani araca da hakim olmanız lazım. Lisans modeli de performans da belirleyici misal sql server express free ama donanim kısıtı var.

    bu noktada geçerli değil ancak 20-30gb tek seferde data attığın durumlarda nosql değil ama yatay ölceklenen araçlar illa ki daha hızlı yazacaktır, parçalara bölüp bir çok sunucu aynı anda yazıyor ve böyle okuyor. Günümüzde yatay ölçeklenen sql sistemler de var. bknz citus data.

    Kısaca soru yanlış Yavaş değil



    < Bu mesaj bu kişi tarafından değiştirildi mahoni_38 -- 27 Mart 2020; 15:40:35 >




  • mahoni_38 kullanıcısına yanıt
    Şu an denedim. Cidden çok hızlı oldu. Çok teşekkür ederim. Sayende önemli bir şey öğrendim.
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.