MongoDB'de Büyük Ölçekli Veri Modelleme için En İyi Uygulamalar

MongoDB'de Büyük Ölçekli Veri Modelleme için En İyi Uygulamalar

MongoDB'de Büyük Ölçekli Veri Modelleme için En İyi Uygulamaları keşfedin! Bu rehberimizle MongoDB verilerinizi optimize edebilir, sorunları önceden önleyebilir ve performansını artırabilirsiniz

MongoDB'de Büyük Ölçekli Veri Modelleme için En İyi Uygulamalar

MongoDB, adımları atması gereken birçok farklı veri modeline olanak tanıyan bir NoSQL veritabanıdır. Büyük ölçekli verilerle çalışırken, verileri daha etkili bir şekilde yönetmek için en iyi uygulamaları bilmek önemlidir. Bu makalede, MongoDB'de büyük ölçekli veri modelleme yaparken kullanabileceğiniz en iyi uygulamaları inceleyeceğiz.


1. Verileri Bölmek ve Saklamak

Büyük veri işleme için MongoDB, verileri parçalamak, farklı koleksiyonlarda saklamak gibi uygulamalar için tasarlanmıştır. Verileri parçalamak büyük verilerin daha hızlı ve etkili bir şekilde işlenmesine yardımcı olabilir. Örneğin, bir e-ticaret sitesinde bir çok müşterinin birçok siparişi olabilir. Bu bilgileri tek bir koleksiyonda saklamak eşleştirme sürecinde zaman kaybına neden olabilir. Verileri ayrı koleksiyonlar halinde saklamak, sorgu hızını artırabilir.

Verileri gözlemlemek ve aynı tür verileri bir arada depolamak, birçok yönden yararlıdır. Bir koleksiyon oluşturmadan önce, MongoDB içinde veri tasarlama sürecinde, verilerin işlenmesi için birçok faktörü dikkate almanız gerekir. Verilerin farklı koleksiyonlarda saklanması, çok sayıda veri noktasının hızlı bir şekilde işlenmesine yardımcı olabilir. Bu nedenle, verileri doğru şekilde partisyonlamak ve saklamak, MongoDB performansını artırabilir.


2. Basit Veri Yapılarını Kullanmak

MongoDB, bir NoSQL veritabanı olarak farklı veri yapılarını destekleyerek, büyük veri kümesini kolayca yönetebilmenizi sağlar. İşte MongoDB'de basit veri yapılarını kullanarak büyük veri kümesini kolayca yönetmenize yardımcı olacak bazı yönergeler:

Gömülü belgeler, MongoDB'de veri noktalarının daha etkili şekilde saklanmasına ve yönetilmesine yardımcı olabilir. Bir belge içine birden fazla veri noktasını birleştirebilirsiniz. Bu, daha az sayıda koleksiyon kullanmanıza olanak tanır ve sorgulamaların daha hızlı olmasını sağlar.

İçiçe gömülü dokümanlar, birden fazla veri noktasının bir arada saklanmasına olanak tanır. Bu, sorgulama esnasında daha hızlı erişim imkanı sağlar. İçiçe gömülü dokümanlar ayrıca eşleştirme işlemlerinin hızlandırılmasına ve veri farklılıklarının daha kolay gösterilmesine izin verir.

Bağımsız gömülü dokümanlar, farklı belgelerin birbirine referans vermesini sağlar. Bu veri tekrarını önler ve veritabanı modelini daha ölçeklenebilir hale getirir. Bağımsız gömülü dokümanlar, verileri daha etkili bir şekilde yönetmenizi sağlar.

Basit veri yapılarının kullanımı, MongoDB'de büyük veri kümesini yönetmeyi daha kolay hale getirebilir. Bu nedenle, verileri tek bir belgede gömülü hale getirme ve koleksiyonları birleştirme gibi yöntemleri uygulayarak, veri yönetimini daha hızlı ve etkin hale getirebilirsiniz.


2.1 Gömülü Dokümanlar

Gömülü dokümanlar, MongoDB veri modelleme için oldukça etkili bir yöntemdir. Büyük veri kümesi olan bir uygulama için, çok sayıda veri noktasını aynı belge içinde saklamak ve sorgulama işlemi sırasında daha hızlı erişilebilir hale getirmek büyük önem taşır.

Bu yöntem, hem veri erişimini hızlandırır hem de verilerin daha anlamlı bir şekilde gruplanmasını sağlar. Bir belge içinde birden fazla gömülü belge olsa da, MongoDB'nin doğal olarak desteklediği birleştirme yeteneği sayesinde sorgulama işlemleri oldukça hızlıdır.

Gömülü dokümanlar, ayrı koleksiyonlara göre daha küçük ve daha hızlı yedeklemeler yapılmasını sağlar. Ayrıca, bir belge içindeki gömülü belgeleri güncellemek, silmek veya sorgulamak çok daha kolaydır. Ancak gömülü dokümanları kullanırken, verilerin içinde kaybolmaması için dikkatli olunmalı ve ihtiyaç duyulduğu kadarıyla kullanılmalıdır.


2.1.1 İçiçe Gömülü Dokümanlar

Veri modelleme işlemleri sırasında, iç içe gömülü dokümanlar kullanarak verilerin daha hızlı sorgulanması sağlanabilir. İç içe gömülü dokümanlar, bir doküman içindeki farklı tipte verilerin bir arada tutulmasına olanak tanır. Örneğin, bir kullanıcının adı, soyadı ve yaş bilgilerinin yanı sıra, bu kullanıcının çalıştığı şirketin adı ve adres bilgileri de iç içe gömülü dokümanlar ile bir arada saklanabilir.

Bu yöntem, eşleştirme işlemlerinin hızlandırılması ve veri farklılıklarının gösterilmesi için oldukça etkili bir yöntemdir. İhtiyacınız olan verileri daha hızlı elde edebilir, veri tekrarını önleyebilir ve verilerin daha hızlı erişilebilir olmasını sağlayabilirsiniz. İç içe gömülü dokümanlar, verilerin daha düzenli bir şekilde saklanmasını sağlar ve veri sorunlarını düzeltmek için gereksiz bir çaba sarfetmenizi engeller.


2.1.2 Bağımsız Gömülü Dokümanlar

Bağımsız gömülü dokümanlar, bir belgeden diğerine referans vererek veri tekrarını önleyen bir uygulamadır. Bu yöntem, karmaşık veri yapılarının oluşturulması sırasında veri farklılaştırmayı kolaylaştırır. Birden fazla belge içeren veri modellerinde, bağımsız gömülü dokümanlar, veri tekrarını önlemek için önemlidir.

Bağımsız gömülü dokümanlar, özellikle belirli bir verinin tekrar kullanıldığı durumlarda yararlıdır. Örneğin, bir blog yazısı içinde yazarın bilgilerinin belirtilmesi gerekiyorsa, yazarın bilgileri her yazıda ayrı ayrı belirtilebilir ya da her yazıya bir kez eklenen yazarın bağımsız bir gömülü dokümanı kullanılabilir. Böylelikle veri tekrarı önlenir ve veri modeli daha hızlı ve ölçeklenebilir hale getirilir.


3. Doğru Düzeyde Endeksleme

Veri tabanı yöneticilerinin performans artırması için doğru şekilde endekslemek çok önemlidir. MongoDB de doğru endeksleme, ciddi performans artışı sağlar. Bu nedenle, veri modelleme yaparken endeksleri doğru şekilde yapılandırmak gereklidir. MongoDB'de doğru endeksleme, veri tabanı sorguların yanıt verme hızını, özellikle büyük ölçekli veri modelleri için optimize etmeye yardımcı olur.

Endeks çeşitleri arasında Field Endeksleri, metin endeksleri, ve geo-spatial endeksleri yer alır. Field endeksleri, sorgulama işlemlerinin hızlanması ve özellikle tekli alan endeksleri ile doğru sıralama ile erişim için kullanılır. Tekli alan endeksleri genellikle yeterli olacakken, birden çok alanın birleşik endeksi daha etkilidir. Metin endeksleri, metin tabanlı sorgulamalar için kullanılır. Geo-Spatial endeksleri ise, coğrafi konumlar üzerinde sorgulama yaparken kullanılır.

Endeks Türü Açıklama
Field Endeksleri Sorgulama işlemlerinin hızlanması için kullanılır.
Metin Endeksleri Metin tabanlı sorgulamalar için kullanılır.
Geo-Spatial Endeksleri Coğrafi konum verileri üzerinde sorgulama yapmak için kullanılır.

Doğru şekilde yapılandırılan endeksler, yüksek erişim oranı gerektiren uygulamalarda performansı optimize etmenin en etkili yoludur. MongoDB'nin endeksleme yapısına aşina olan yazılım geliştiricileri, ölçeklenebilir, yüksek performanslı bir veri modeli oluşturabilir. Bu nedenle, MongoDB veri modelleme yaparken endekslemeyi doğru şekilde yapılandırmak, uygulamanın performansı ve yanıt hızı için hayati önem taşır.


3.1. Field Endeksleri

MongoDB'de verileri doğru şekilde filtrelemek için field endeksleri oldukça önemlidir. Bu tip endeksler, sorgulama işlemlerini hızlandırır ve daha etkin bir veri yönetimi sağlar. Field endeksleri, tekli alan endeksi ve birleşik alan endeksi olmak üzere iki şekilde kullanılır.

Tekli alan endeksleri, yalnızca bir alan için çalışır ve büyük dataların sorgulanmasında oldukça etkilidir. Buna karşın, birleşik alan endeksleri birden fazla alanı birleştirerek sorgulama işlemini daha hızlı hale getirir. Tekli alan endeksleri, birleşik alan endekslerinden daha düşük veri yoğunluğuna sahip olmasına rağmen, birçok sorgulama için yeterli ve performanslıdır.

Field endekslerinin kullanımı, sorgulama işlemlerinin hızlandırılmasının yanı sıra, veritabanı performansının da artırılmasına yardımcı olur. Verilerin doğru şekilde saklanması, erişilebilirliği ve yönetimi için field endekslerinin doğru şekilde kullanılması, ölçeklenebilir, performanslı ve etkili bir veri yönetimi için oldukça önemlidir.


3.1.1. Tekli alan endeksi

MongoDB'de tekli alan endeksleri, yalnızca bir alan için kullanılan endeks türüdür. Sorgu işlemlerinin hızlandırılmasına yardımcı olur ve çoğu durumda yeterli olabilir. Tekli alan endeksi, bir koleksiyondaki tek bir alan için oluşturulabilir ve sadece o alana göre sıralama yapabilir. Böylece sorgular daha hızlı ve daha az kaynak tüketimiyle gerçekleştirilebilir.

Tekli alan endeksi, MongoDB uygulamalarında sıklıkla kullanılır. Öncelikle, tek bir alan için endeks oluşturulduğunda, sorguların hızlandırılması için gereken minimum işlem yapılır. Ayrıca, tekli alan endeksleri, sorgulanacak verilerin hacmini azaltarak, sorgu işlemi süresini de kısaltabilir. Bu sayede, kullanıcının sorgu sonuçlarına daha hızlı erişmesi sağlanabilir.

Endeks Türü Görevi
Tekli alan endeksi Bir koleksiyondaki tek bir alan için endeks oluşturur. Sorgu işlemlerinin hızlandırılmasına yardımcı olur.
Birleşik alan endeksi Birden fazla alanı birleştirerek endeks oluşturur. Sorgu işlemlerinin daha etkili olmasını sağlar.
Metin endeksi Metin tabanlı sorgular için endeks oluşturur.
Geo-spatial endeks Coğrafi konum verileri üzerinde sorgulama yapmak için endeks oluşturur.

Tekli alan endeksleri, çok az sayıda alan içerdiği için diğer endeks türlerine göre daha hızlı olabilir. Ancak, birleşik alan endeksleri gibi bazı durumlarda, birden fazla alanı birleştirerek daha etkili sonuçlar elde edilebilir. Bu nedenle, kullanılacak olan endeks türü, verilerin özelliklerine göre belirlenmelidir.


3.1.2. Birleşik alan endeksi

Birleşik alan endeksleri, birden fazla alanın birleştirilmesiyle oluşur ve bu durumda arama yapılacak veri bir arada saklanır. Bu endeks türü, birçok sorgulama için daha etkili olabilir. Örneğin, bir ürünün adı ve markası gibi iki farklı alan birleştirildiğinde, sorgulamalar hem isme hem de markaya göre yapılabilecektir. Bu da birleşik alan endekslerinin çok yönlü olmasını sağlar.

Birleşik alan endeksleri, tekli alan endekslerinin kullanılamayacağı durumlar için de kullanılır. Tekli alan endeksleri, yalnızca bir alanı ele alırken, birleşik alan endeksleri, birden fazla alana yönelik aramalar için kullanılır. Birleşik alan endeksleri ayrıca, bir belge kümesinin belirli bir kısmı için spesifik sorgular oluştururken de kullanılabilir. Bu sayede daha özel sorgular oluşturulur ve performans artar.


3.2. Metin Endeksleri

MongoDB'de metin endeksleri, metin tabanlı sorgulamalar için oldukça kullanışlıdır. Metin endeksli bir koleksiyonda, bir metin araması için bir endeks oluşturulabilir ve veritabanında bulunan tüm koleksiyonlar arasında hızlı bir şekilde sorgulanabilir. Bu şekilde, veritabanındaki metinlerle ilgili sorgular daha hızlı ve daha verimli bir şekilde yapılabilir.

Metin endeksleri, mümkün olan en iyi performansı elde etmek için, doğru şekilde yapılandırılmalıdır. Bunun için birkaç faktöre dikkat edilmelidir. Öncelikle, metin endeksinde arama yapılacak lan metnin niteliği dikkate alınmalıdır. Buna ek olarak, diğer endekslerle bir arada kullanılabilen ilgili veri türleri de göz önünde bulundurulmalıdır. Örneğin, bir koleksiyonda hem nümerik hem de metin tabanlı veriler varsa, endeks türleri arasında bir denge kurulması gerekmektedir.

Metin endeksleri, birçok farklı dil için kullanılabilir. MongoDB, metin aramalarını yalnızca Latin harfleriyle değil, aynı zamanda diğer dillerin karakterleriyle de yapabilir. Bu özellik, dünya genelinde birçok farklı dilde uygulama geliştiricileri için son derece faydalıdır.

Kısacası, doğru şekilde yapılandırılmış metin endeksleri, MongoDB veritabanlarındaki metin tabanlı sorgulama performansını artırır ve sorgulama sürelerinin kısaltılmasına yardımcı olur. Bu nedenle, MongoDB veritabanlarında veri yönetimi yapacak olan geliştiriciler, metin endekslerini doğru şekilde kullanarak sorgulama işlemlerini optimize etmeyi unutmamalıdır.


3.3. Geo-spatial Endeksler

MongoDB'nin en önemli özelliklerinden biri, coğrafi konum verilerinin veritabanında saklanabilmesidir. Bu, birçok uygulama için önemlidir, özellikle de lokasyon tabanlı uygulamalar için. MongoDB, coğrafi konum verileri üzerinde sorgulama yapmak için kullanılabilen birkaç endeks sağlar.

Bir coğrafi konum endeksi, bir noktanın koordinatlarını içeren bir alanın değerine göre verileri sıralayan bir endekstir. Bu, verileri şehir, eyalet veya ülkeye göre sıralamak için kullanılabilir. MongoDB'de, iki tür coğrafi konum endeksi vardır:

  • 2dsphere: Bu tip, küre yüzeyindeki bir konumu temsil eden bir alanın değerine göre sıralama yapar. Bu, özellikle yeryüzünde nokta veya alanlar arasındaki mesafelerin hesaplanması için kullanılır.
  • 2d: Bu tip, düzlemin üzerindeki bir konumu temsil eden bir alanın değerine göre sıralama yapar. Bu, örneğin bir harita üzerinde belirli bir alanın veya çemberin içinde kalan noktaları listelemek için kullanılabilir.

Verileriniz coğrafi konum verileri içeriyorsa, MongoDB'deki coğrafi konum endeksleri sorgulama performansınızı artırabilir. Ancak, coğrafi konum endeksleri sorgu performansınızı düşürebildiğinden, endekslemeyi sadece gerektiği kadar yapmanız önemlidir. Verilerinizde coğrafi konum verileri varsa, 2dsphere veya 2d endekslerini kullanmayı düşünebilirsiniz, ancak bu endekslerin verilerinizle tam olarak nasıl çalıştığını anlamak önemlidir.


4. Verileri Önem Sırasına Göre Sıralamak

Büyük veri kümesi yönetirken, verilerin doğru sıralanması performansı artırır ve sorgulamaların daha hızlı çalışmasını sağlar. MongoDB'de verilerin doğru sıralanması için bazı en iyi uygulamalar vardır.

Birincisi, verileri çoklu koşullarla sorgulama ihtiyacına göre önem sırasına göre sıralamaktır. Örneğin, bir web sitesindeki müşterileri sorgularken, önem sırasına göre sıraladığınızda daha hızlı sonuçlar alabilirsiniz. MongoDB, bu tür hurdaları taramak için bile eşleştirilmiş sorgu yöntemleri kullanır. Bu yöntem verilerin doğru sıralanabilmesini sağlar ve sorgu işlemi daha hızlı olur.

İkinci olarak, verilerin doğru şekilde silinmesi, performansı artırarak veri tabanı modelini daha iyi idare edilmesini sağlar. Örneğin: MongoDB'de yıllarca kaydedilmiş eski verileri silmek, veri karmaşasını önler ve modelin daha iyi yönetilmesi sağlanır. Bunun sonucunda, veriler daha hızlı ve etkili bir şekilde sorgulanabilir.

Sonuç olarak, verilerin doğru şekilde sıralanması ve idare edilmesi, MongoDB'de büyük veri kümesinin yönetimi için bir gerekliliktir. Verilerin doğru sıralanması performansı artırır, sorguların daha hızlı çalışmasını sağlar ve veri karmaşasını önler.


4.1. Verileri Doğru Sıralamak

Verileri doğru şekilde sıralamak, MongoDB performansını etkileyen önemli faktörlerden biridir. Sıralama işleminin doğru olmaması, sorgulama performansını ciddi şekilde etkileyebilir. Bunun sebebi, sıralama işleminin yavaş olması ve hafıza kapasitesi yetersiz olan sistemlerde hata oluşmasıdır.

Sıralama işlemi yaparken, verilerin doğru bir şekilde sıralandığından emin olun. Verilerin sıralama işlemine göre düzenlenmesi, sorgulama hızını artırır. Verileri sıralarken çoğu zaman birinci önceliğin tarih veya kronoloji olduğu unutulmamalıdır. Ayrıca verilerin sıralama işlemi, kullanıcının ne tür sorgular yapacağına ve hangi verilere ihtiyacı olduğuna da bağlıdır.

Verileri sıralarken, aynı zamanda birleştirme işlemi yapmak da mümkündür. Birleştirme işlemi yapmak, sorgulama işlemini hızlandırır ve sorgulama sonuçlarını daha da verimli hale getirir. Bununla birlikte, birleştirme işlemi yaparken, verilerin türlerini de dikkate almak gerekir. Çünkü kangren olmuş veriler bir araya getirildiğinde, sorgulama işlemi ciddi anlamda etkilenebilir.

Bunlara ek olarak, verilerin sıralanması sırasında, sıralama işlemi için en uygun alanların bulunması da önemlidir. Verilerin doğru şekilde sıralanması, sorgulama performansını etkileyen en önemli faktörlerden biridir. Verileri doğru bir şekilde sıralamak, MongoDB performansını ciddi şekilde artırabilir.


4.2. Verileri Doğru Çıktıya Göre Sıralamak

Verilerin doğru şekilde sıralanması, sorgulama işleminin hızını önemli ölçüde artırabilir. Bununla birlikte, MongoDB'de verileri doğru çıktıya göre sıralamak, uygulama performansını büyük ölçüde iyileştirebilir. Verileri çıktıya göre sıralamak için, sort() işlevi kullanılır. Bu işlev, sıralama yapılacak alanı ve sıralama yöntemini belirtmenize olanak tanır.

Bir örnek ile açıklamak gerekirse, bir kullanıcı veritabanından tüm user belgelerini sıralamak istediğini düşünelim. Ancak, veriler her zaman varsayılan olarak doğru olarak sıralanmaz. Bu nedenle, kullanıcının sıralama yöntemini belirlemesi gereklidir. Örneğin, bir kullanıcı verilerin son güncelleme tarihine göre sıralanmasını isteyebilir.

Sıralama Alanı Sıralama Yöntemi
Son Güncelleme Tarihi 1 (artan sıralama)

Bu durumda, sorgu aşağıdaki gibi olacaktır:

db.user.find().sort({last_update: 1})

Yukarıdaki sorgu, tüm user belgelerini son güncelleme tarihine göre artan sıralama şeklinde çıktı verecektir.

Verileri doğru şekilde sıralamak, sorguların daha hızlı ve etkili bir şekilde gerçekleşmesine yardımcı olabileceği için, MongoDB'de büyük ölçekli veri modellemesi yapılırken önemlidir.


5. Veri Karmaşasını Önlemek

Büyük ölçekli bir veritabanı oluştururken, veri karmaşasından kaçınmak oldukça önemlidir. Veri karmaşası, verilerin işlenmesini zorlaştıran bir durumdur ve sorgulama performansında ciddi düşüşlere neden olabilir. Veri karmaşasını önlemenin en iyi yollarından biri, veri ölçeklendirme teknikleri kullanarak verileri farklı sınıflara ayırmaktır.

Bu ayrımda veri farklılaştırma ve normalleştirme teknikleri kullanılabilir. Veri farklılaştırma, benzer verilerin bir araya getirilmesine ve bir sınıfa atanmasına olanak tanır. Bu sınıflandırmayla, sorgulama işlemleri daha hızlı hale gelir ve veritabanı karmaşası önlenebilir. Veri normalleştirme ise, verilerin benzersiz bir şekilde saklanmasını ve veri tekrarını önleyerek veritabanı modelini daha ölçeklenebilir hale getirir. Bu teknikler, aynı verinin birden fazla kez kaydedilmesini önler ve veri bütünlüğünü korur.

Ayrıca, verilerin uygun şekilde endekslenmesi ve doğru sıralanması da veri karmaşasını azaltmaya yardımcı olur. Verilerin doğru sıralanması, sorgulama performansını artırırken, verilerin doğru sıralanması sonucunda verilerin daha okunaklı hale gelmesi sağlanır. Bu da sorgulama işlemlerini hızlandırır.


5.1. Veri Farklılaştırma

Veri farklılaştırma, MongoDB'de büyük ölçekli veri modelleme yaparken kullanılan başka bir uygulamadır. Bu uygulama sayesinde, eşleştirme işlemleri hızlandırılabilir ve sorgu etkinliği maksimum seviyeye çıkarılabilir.

Örneğin, aynı veritabanında birçok kullanıcının belgeleri saklanabilir ve bu belgeler arasında benzersiz bir kimlik numarası kullanılarak birbirleriyle ilişkilendirilebilir. Bu, eşleştirmeyi hızlandırmak ve birden fazla veri noktası arasında verimli sorgular yapmak için kullanılabilir.

Veri farklılaştırma ayrıca, birden fazla alan içeren belgelerde kullanılabilir. Örneğin, ilgili herhangi bir ilişkili veriyi aynı belge içinde saklamak mümkündür, ancak bazı işlemler diğerlerine göre daha sık olarak gerçekleştirildiğinde, bunları ayrı bir koleksiyonda tutmak daha verimli olabilir. Bu durumda, verileri farklı koleksiyonlarda tutarak sorguların daha hızlı çalışmasını sağlayabilirsiniz.

Veri farklılaştırma ile benzer veriler birbirinden ayrılabilir ve birleştirilebilir, bu da verilerin daha düzenli hale gelmesini sağlar. Verilerin daha düzenli hale gelmesi, arama işlemlerinde daha hızlı sonuçlar almanızı sağlar.


5.2. Verileri Normalleştirme

Verilerin normalleştirilmesi, MongoDB'de büyük ölçekli veri modelleme yapmak için önemlidir. Normalleştirme, verilerin tekrarını önleyerek veritabanı modelini daha ölçeklenebilir hale getirir. Bu sayede veriler daha hızlı işlenebilir ve daha az yer kaplar.

Bir örnekle açıklamak gerekirse; bir e-ticaret sitesinde birçok farklı ürün kategorisi olabilir. Bu durumda, her ürün belgesinde kategori bilgisi yer alabilir. Ancak, bu kategori bilgisi her belgede aynı şekilde yer alırsa, veri tekrarı oluşur ve veritabanı boyutu artar. Böyle bir durumda, kategori bilgisi için ayrı bir koleksiyon oluşturulabilir. Bu sayede, her ürün belgesinde sadece kategori ID'si yer alır ve tekrar önlenmiş olur.

Normalleştirme işlemi, verilerin bütünlüğünü de sağlar. Örneğin, kullanıcı bilgilerini içeren bir belgede her kullanıcının birçok farklı özelliği olabilir. Bu durumda, normalleştirme işlemi yapılırken, her kullanıcı için bir ayrı belge oluşturulur ve özellikleri bu belgede saklanır. Böylece, veri farklılaştırması da kolaylaşır ve sorgulama işlemleri daha hızlı gerçekleştirilebilir.