İçindekiler:
Video: Common design patterns with Azure Cosmos DB | Azure Friday 2024
Değer kazanma süresi, bir BT projesinin başlamasından işletmeye ticari fayda sağlayabilmek için geçen süre miktarıdır. Bu, maliyet düşürme veya yeni işle ilgili işlem yapma veya daha iyi müşteri hizmetleri veya ürünler sunma gibi maddi olmayan yararlar için somut fayda sağlayabilir.
Anahtar-değer depoları, veri modeli açısından en basit NoSQL veritabanlarıdır. Böylece, özellikle veri yapılarını nasıl yöneteceğinizi gözden geçirmek de dahil olmak üzere birkaç temel prensibi uygularsanız hızlı bir şekilde uygulamalar oluşturabilirsiniz.
Basit yapıların kullanılması
Key-value depolar, veri biçimi açısından ilişkisel veritabanlarından daha esnektir. Bu esnekliği uygulamanızın verimliliğini en üst düzeye çıkarmak için avantajınıza kullanın. Örneğin harita döşemelerini saklıyorsanız, onları bir tarayıcıda hemen oluşturulabilmeleri için onaltılık formatta saklayın.
Başvurunuzda, çok sayıda işlem süresini gerektirmeyen kullanımı kolay yapıları saklayın. Bu yapılar, tamsayılar, dizeler ve tarihler gibi basit intrinsik türler veya listeler, sıralanmış kümeler veya hatta bir dizge halinde saklanan JSON belgeleri gibi daha sofistike yapılar olabilir.
Doğrudan bir JavaScript web uygulaması tarafından yorumlanabileceğinden, basit web uygulaması durumu veya tercih depolama alanı için JSON kullanın. Günlük verilerini saklıyorsanız, bulma ve analiz için en uygun biçimde saklayın.
Veritabanı yöneticiniz değil, uygulamanız için en uygun yapıyı kullanın. Ayrıca, zamanınızın veritabanındaki etkilerini de göz önünde bulundurun. Gelecekte, yeni özellikleri desteklemek için veri yapılarını değiştirmek istiyor musunuz?
Zaman içinde veri yapıları değişir. Esnek bir JSON belgesi, CSV veri dosyasından veya sabit genişlikli veri dosyasından daha iyidir, çünkü JSON yapıları zaman içinde yeni veya silinen özellikleri dikkate almadan kolayca değişebilir. Bir anahtar / değer depoda depolanan bir CSV dosyasındaki bir sütunu değiştirin ve uygulamanızın kodunun tamamını güncellemelisiniz! Eski kodun yeni özellikleri basitçe gözardı ettiği bir JSON belgesinde durum böyle değildir.
Karmaşık yapı kullanımı
Eğer karmaşık ilişkili veri kümeleriniz varsa, anahtar / değer deponuzdaki veri yapılarına dikkatli bir şekilde düşünün. Veri setlerini, kolay erişime olanak tanıyan şekilde saklayın. Tek bir okuma daha sonra gerekli olması için sekiz öğeyi ayrı ayrı sekiz okuma gerektirecek şekilde saklamaktan ziyade, verileri denormalize edin - verileri sindirim zamanında aynı rekora yazın.
Bu, bazı verilerin birden çok kez depolanacağı anlamına gelir. Buna bir örnek müşteri adı siparişi belgesinde saklamaktır.Bu müşteri adını birçok siparişte saklamasına rağmen siparişin bir özetini görüntülerken customer_number = 12 değerinin Mr A Fowler anlamına geldiğini anlamanız gerektiği anlamına gelir - önleme ek bir okuma isteği.
Denormalization, ilişkisel veritabanlarının ' normal biçimi ' dan daha fazla disk alanı tüketir, ancak sorgu çıktısını büyük ölçüde artırır. İlişkisel bir veritabanında somutlaştırılmış bir görünümün NoSQL eşdeğeri. Hız için depolama alanından fedakârlık ediyorsunuz - klasik bilgisayar bilimi ticareti.
Belirli bir kuşağın bilgisayar bilimcileri için, aynı verinin birden çok kopyasını tutmanın sapkın olduğu düşünülmektedir. Bu sadece verimsizdir. İlişkisel veritabanı öğretmenleri sizi kahvaltıda yiyebilir!
Bununla birlikte, düşük depolama maliyetleri ve modern uygulamaların talepleri arttıkça, veri okumada hız kazanmak için depolamayı feda etmek daha iyi. Yani, denormalizasyonu arkadaş olarak düşünün.