Merhaba arkadaşlar, bu yazımda MongoDB’ ye giriş yapacağız. NoSql nedir? MongoDB nedir? NoSql vs SQL nedir? vb. soruları cevaplayacağız.
NoSQL Nedir?
NoSQL(Not only SQL), belirli bir veri modeli için özel olarak tasarlanmıştır ve modern uygulamalar oluşturmaya yönelik esnek şemalara sahiptir. NoSQL sistemlerinde, RDBMS de kullanılan SQL dili kullanılmadığı için “No SQL” adı verilmiştir.
MongoDB Nedir?
MongoDB, açık kaynak kodlu, tamamen ücretsiz bir NoSQL veritabanıdır. MongoDB de kayıtlar doküman olarak ifade edilir. Dökümanlar json formatında tutulur. MongoDB ile SQL arasındaki adlandırma farklılıkları aşağıdaki gibidir:
SQL | MongoDB |
Database | Database |
Table | Collection |
Row | Document |
Column | Field |
Primary key | Primary key (_id) |
Table joins | $lookup, embedded documents |
NoSQL vs SQL ?
NoSQL | SQL |
Birden fazla veri depolama yöntemi vardır;
Doküman oluşturma, anahtar-değer(key-value) çiftleri oluşturma, dinamik sütun ve satıra sahip olma, grafik oluşturma |
Sabit satır ve sütunlara sahip tabloları ilişkilendirerek verileri depolar. |
İlişkisel değildir. | İlişkisel veritabanlarıdır.(RDBMS) |
Yatay olarak ölçeklendirilebilir. Büyük yükü yönetmek ve yığını azaltmak için altyapıya daha fazla sunucu eklenerek ölçeklenebilirler. | Dikey olarak ölçeklendirilebilir. Tek bir sunucu üzerinde donanım kapasitesini arttırarak ölçeklenebilirler. |
Ölçeklendirme maaliyeti sql’e göre daha ucuzdur. | Ölçeklendirme maaliyeti yüksektir. |
Browers CAP teoerimini (Tutarlılık, Kullanılabilirlik ve Bölme toleransı) doğru şekilde takip eder. | ACID özelliklerini (Atomitlik, Tutarlılık, İzolasyon ve Dayanıklılık) doğru şekilde takip eder. |
Örnekler; MongoDB, Redis, Apache CouchDB, HBase | Örnekler; MySQL, MS-SQL, SQLite, Oracle |
MongoDB Veri Depolama Yöntemleri