Çalışmasının bir parçası olarak çok sayıda dosya / dizini izlemesi gereken bir ürün geliştiriyorum. Fikir, istatistik bilgilerini bir veritabanında saklamak ve ardından önyüklemede her dosya için saatler oluşturmaktır. Değişen dosyalar, uzak veritabanıyla grup eşitlemesi için sıralanır (veritabanında). Öncelik sırasına göre, 1-10 arasında bir sayı ile senkronize edilecektir.
Veritabanı hakkında bilgi:
- <100.000 istatistik bilgisi girişi
- Tüm veritabanı önyükleme sırasında okundu, sadece dosya yolu gerekli
- Kuyruktaki dosyaların öncelik alanı olacaktır (başka bir şeyin aranması gerekmez)
- Eklemeler yavaş olabilir
Çalışacağını düşündüğüm birkaç veritabanı buldum, ancak hangisinin en iyi olacağından emin değilim:
- Redis - dosya yolunu anahtar olarak, istatistik verilerini değer olarak depola; sıra bir liste olurdu
- MongoDB - Redis'den daha fazla sorgu seçeneği, ancak yine de hızlı
Ben çok fazla ilişkisel mantık oluyor ve toplam veri boyutu çok büyük değil (<100 mb, <30 mb daha yakın) gibi bir NoSQL veritabanı burada en iyi çözüm olacağını düşünüyorum. SQLite'a baktım çünkü yüklenebilir bir uygulamaya gömmek için yeterince basit görünüyor.
Bu, yüksek yüklenen bir sunucu değil son kullanıcılar için dağıtılmış bir uygulama olduğundan, veritabanının birçok eşzamanlı kullanıcıyı desteklemesi gerekmez. Buradaki temel öncelik, modeli en mantıklı olan bir veritabanı bulmaktır.
Peki bu durum için en uygun veritabanı hangisidir?
Ayrıca, böyle bir uygulama için daha anlamlı olabilecek başka veritabanları var mı?