Discord botu geliştirirken verilerin kalıcı olmasını sağlamak en kritik adımlardan biridir. Ancak yüzlerce seçenek arasında hangisi projenize uygun?
Bir ekonomi botu, seviye sistemi veya kayıt botu yapıyorsanız verileri mutlaka güvenilir bir veritabanında tutmalısınız. JSON dosyaları kullanmak, küçük projelerde iş görse de sunucu sayısı arttıkça verilerinizin bozulmasına ve botunuzun çökmesine neden olur. Gelin en çok tercih edilen üç popüler veritabanını inceleyelim.
1. MongoDB (Mongoose)
Node.js ve Discord.js ekosisteminde en çok tercih edilen NoSQL veritabanıdır. Verileri JSON formatına benzer şekilde (BSON) saklar. Şeması esnektir ve kurulumu oldukça kolaydır. Ücretsiz Atlas servisi sayesinde kendi sunucunuzda barındırma derdi olmadan bulut üzerinde 500MB ücretsiz alanla başlayabilirsiniz.
const mongoose = require('mongoose');
mongoose.connect('mongodb+srv://kullanici:sifre@cluster0.mongodb.net/test', {
useNewUrlParser: true,
useUnifiedTopology: true
}).then(() => console.log('MongoDB Bağlantısı Başarılı!'));
2. SQLite (better-sqlite3)
Küçük ve orta ölçekli botlar için tartışılmaz en iyi yerel (local) veritabanıdır. Herhangi bir sunucu kurulumu gerektirmez, verileri doğrudan projenizin içindeki bir dosyada saklar. Son derece hızlıdır ve RAM tüketimi minimumdur. Ekonomi botunuz 10-20 sunucudaysa SQLite sizin için fazlasıyla yeterli olacaktır.
3. PostgreSQL
Milyonlarca kullanıcıya hitap edecek devasa bir bot yapıyorsanız ve verileriniz arasında çok fazla ilişki varsa (örn. kullanıcı -> envanter -> eşyalar), PostgreSQL endüstri standardıdır. Sequelize veya Prisma gibi ORM kütüphaneleriyle mükemmel uyum sağlar. Ancak kurulumu ve yönetimi MongoDB veya SQLite'a göre bir tık daha karmaşıktır.
