Günümüzde, veritabanı sistemlerinin çoğu UUID'leri benzersiz tanımlayıcılar olarak kullanır. Ancak, birçok farklı veri türü UUID'leri temsil etmek için kullanabilir. Bu yazıda, MongoDB'de string UUID ve binary UUID olarak tutulan iki koleksiyonun performansını ve karşılaştırmasını ele alacağız.
String UUID'ler, genellikle karakter dizisi olarak depolanır ve genellikle birçok programlama dilinde temsil edilen bir formattadır. Örnek bir string UUID: "550e8400-e29b-41d4-a716-446655440000".
Binary UUID'ler, UUID'leri daha kompakt bir şekilde depolamak için kullanılan bir formattır. MongoDB'de Binary veri türü ile saklanır ve 16 byte'lık bir veri alanına sahiptir.
String UUID'lerin ve binary UUID'lerin performansını karşılaştırmak için iki koleksiyon oluşturduk ve her birinde aynı veri setini sakladık. Ardından, her iki koleksiyon üzerinde aynı sorguları çalıştırdık ve sonuçları karşılaştırdık.
String UUID | Binary UUID | |
---|---|---|
Satır (Veri) Sayısı | 5992002 | 5992002 |
Depolama Boyutu (Byte) | 188948480 | 327913472 |
Index Boyutu (Byte) | 259760128 | 472535040 |
Toplam Boyut (Byte) | 448708608 | 800448512 |
Sonuçlar şunları gösterdi:
Binary UUID'ler, daha düşük depolama alanı ve daha hızlı erişim sağlar. Bu, özellikle büyük veri kümeleri için performansı artırır.
Binary UUID'ler, string UUID'lere göre daha etkin bir şekilde dizinlenir. Bu da sorgu performansını artırır.
Binary UUID'ler, daha az bellek kullanır, bu da daha az sistem kaynağı gerektirir.
Performans önemliyse ve bellek/depolarakamında kazanç sağlamak isteniyorsa, binary UUID'leri tercih edin.
Mevcut sistemlerle uyumluluk önemliyse ve veri tipi değiştirilemiyorsa, string UUID'leri kullanmaya devam edin.
Uygulamanın gelecekteki ihtiyaçlarını dikkate alarak veri tipini seçin. Ölçeklenebilirlik ve performans artışı için binary UUID'leri tercih etmek daha mantıklı olabilir.
Günümüzde, veritabanı sistemlerinin çoğu UUID'leri benzersiz tanımlayıcılar olarak kullanır. Ancak, birçok farklı veri türü UUID'leri temsil etmek için kullanabilir.
MongoDB, NoSQL veritabanı sistemlerinden biridir ve JSON benzeri belgeleri depolamak için kullanılır. Veritabanındaki belgeleri bulmak ve filtrelemek için "find" metodunu kullanabilirsiniz. Bu yazıda,
MongoDB $unwind operatörü, bir belgedeki bir dizi alanını çözümlemek ve dizideki her öğe için ayrı çıktı belgeleri (document) oluşturmak için kullanılır.
NoSQL veritabanları, dağıtılmış, yapılandırılmış ve yarı yapılandırılmış büyük miktarda veriyi depolamak için popüler bir seçimdir. Genellikle sosyal medya, e-t
MERN, MongoDB, Express.js, ReactJS ve NodeJS'lerin baş harflerinden oluşmaktadır. Javascript'teki güçlü ve talep gören stack geliştiricilerinden birisidir.