← Back to list

[BsonIgnore] Özelliği: MongoDB’de Veri Depolamanın Gücü ve Performans

MongoDB, NoSQL veri tabanları arasında popülerliğini sürdüren, esnek ve ölçeklenebilir bir veritabanı sistemidir. MongoDB’de veriler, JSON…

ozlemars · 2025-02-24 06:01 · 0 claps · 1.9 min read
#mongodb #veritabanı-yönetimi #c-sharp-programming #veri-güvenliği #nosql
Open on Medium ↗
Wiki topics: 💻 · Programming

[BsonIgnore] Özelliği: MongoDB’de Veri Depolamanın Gücü ve Performans

MongoDB, NoSQL veri tabanları arasında popülerliğini sürdüren, esnek ve ölçeklenebilir bir veritabanı sistemidir. MongoDB’de veriler, JSON benzeri bir format olan BSON (Binary JSON) kullanılarak depolanır. Bu format, veri çeşitliliğini ve büyük veri işlemlerini kolaylaştırırken, bazı durumlarda gereksiz verilerin depolanmasından kaçınılması gerekebilir. İşte bu noktada [BsonIgnore] özelliği devreye girer.

[BsonIgnore] Özelliği Nedir?

[BsonIgnore] özelliği, bir sınıfın belirli özelliklerinin MongoDB’ye kaydedilmesini engeller. Yani, bu özelliği kullanarak belirli bir property’nin veritabanına kaydedilmesini istemeyebiliriz. Bu durum, genellikle geçici verilerin veya şifre gibi hassas bilgilerin veritabanında saklanmasını istemediğimizde kullanılır.

Örneğin, aşağıdaki sınıfta “TamAd” özelliği, sadece “Ad” ve “Soyad” özelliklerinden türetilen bir alan olmasına rağmen, MongoDB’ye kaydedilmesini istemediğimiz için [BsonIgnore] ile işaretlenmiştir:

using MongoDB.Bson;
using MongoDB.Bson.Serialization.Attributes;

public class Kullanici
{
    [BsonId]
    [BsonRepresentation(BsonType.ObjectId)]
    public string Id { get; set; } 
    public string Ad { get; set; }
    public string Soyad { get; set; }

    [BsonIgnore] // Bu özellik veritabanına kaydedilmez
    public string TamAd => $"{Ad} {Soyad}";
}

[BsonId] özelliği, bir sınıfın özelliğini MongoDB’deki benzersiz bir kimlik (ID) olarak işaretlerken, [BsonRepresentation(BsonType.ObjectId)] özelliği ise bu özelliğin MongoDB’de ObjectId türünde saklanacağını belirtir.

Performans ve Veri Depolama

[BsonIgnore] özelliği sadece veritabanındaki gereksiz veriyi ortadan kaldırmakla kalmaz, aynı zamanda büyük veri setlerinde performansı artırabilir. MongoDB’deki her bir veri kaydı, depolanması gereken özelliklerin sayısı arttıkça daha fazla disk alanı kaplar. Bu nedenle, geçici ve hesaplanmış özelliklerin veritabanına kaydedilmemesi, daha verimli bir depolama çözümü sağlar.

Burada aslında çok güzel bir nokta var. Yani, verilerinizi sadece gerekli olduğunda kaydederseniz, gereksiz yere veritabanınızı şişirmeniz engellenmiş olur. Bu, uzun vadede daha hızlı sorgulama ve daha düşük maliyet anlamına gelir. Hangi özelliklerin kaydedileceğini iyi seçmek, bir yazılım geliştiricinin başarısını artıran temel adımlardan biridir.

Güvenlik ve Gizlilik

Bir diğer önemli kullanım senaryosu ise güvenliktir. Örneğin, bir kullanıcı şifresini veritabanına kaydetmek istemediğinizde, şifre gibi hassas bilgileri MongoDB’ye kaydetmeden [BsonIgnore] ile dışarıda tutabilirsiniz. Bu, veritabanındaki gizlilik ihlallerini engellemek için son derece yararlıdır.

Yani, diyelim ki bir uygulama geliştiriyorsunuz ve şifrelerinizi veritabanında tutmak istemiyorsunuz. İşte burada [BsonIgnore] ile şifrelerinizi tutabilir, sadece gerekli güvenli verilere sahip olursunuz. Bu, sadece veritabanı açısından değil, aynı zamanda kullanıcı güvenliği açısından da çok önemli bir konu.

Sonuç

[BsonIgnore] özelliği, MongoDB projelerinizde gereksiz veri depolamayı engellemek, veri güvenliğini artırmak ve performansı optimize etmek için kullanışlı bir araçtır. Hem küçük hem de büyük projelerde, özellikle geçici veriler ve güvenlik odaklı durumlar için tercih edilmesi gereken önemli bir özelliktir. MongoDB veritabanı ile çalışırken, verilerinizi daha verimli yönetmek ve yalnızca gerekli verileri depolamak için bu tür özelliklerden faydalanabilirsiniz.

Sonuç olarak, veritabanı yönetimiyle ilgili bu gibi küçük ama önemli detaylar, projenizin verimliliğini doğrudan etkiler. Bazen küçük bir özellik, tüm sistemin performansını artırabilir. Bu yüzden [BsonIgnore] gibi özellikleri kullanarak hem verilerinizi düzenli tutabilir hem de daha güvenli, hızlı bir sistem kurabilirsiniz.

Kaynak:

MongoDB Documentation — BsonIgnoreAttribute


메타데이터
post_id
539b85d7eb5a
slug
bsonignore-özelliği-mongodbde-veri-depolamanın-gücü-ve-performans-539b85d7eb5a
url
https://medium.com/@ozlemars/bsonignore-%C3%B6zelli%C4%9Fi-mongodbde-veri-depolaman%C4%B1n-g%C3%BCc%C3%BC-ve-performans-539b85d7eb5a
canonical_url
https://medium.com/@ozlemars/bsonignore-%C3%B6zelli%C4%9Fi-mongodbde-veri-depolaman%C4%B1n-g%C3%BCc%C3%BC-ve-performans-539b85d7eb5a
author_url
https://medium.com/@ozlemars
status
ok
fetched_at
2026-07-20 21:03:38