Banyak kerangka kerja web, seperti Flask atau Django menggunakan SQLite sebagai database default mereka. SQLite menarik karena termasuk dalam python, dan biaya administrasi cukup rendah.
Namun, sebagian besar situs produksi publik dengan lalu lintas tinggi menggunakan database yang lebih berat: mySQL, Oracle, atau postgresql.
Pertanyaan :
Menganggap:
- Lalu lintas situs moderat, dan akses baca / tulis bersamaan ke basis data akan terjadi
- Kami akan menggunakan SQLAlchemy dengan kunci tulis SQLite (meskipun komentar ini membuat saya sedikit gugup)
- Basis data mungkin berisi sekitar 60.000 catatan
- Struktur data tidak memerlukan fitur-fitur canggih yang ditemukan dalam database yang lebih berat
Apakah pernah ada kasus yang meyakinkan terhadap konkurensi SQLite untuk situs web yang berfungsi sebagai alat internal perusahaan traffic sedang? Jika demikian, kondisi apa yang akan menyebabkan SQLite memiliki masalah konkurensi?
Saya mencari penyebab root spesifik yang diketahui, alih-alih ketakutan umum / pengarahan jari yang tidak berdasar.
sql
frameworks
scalability
web-framework
sqlite
Mike Pennington
sumber
sumber
Jawaban:
Saya sarankan membaca jawaban resmi untuk pertanyaan Anda, Penggunaan yang Sesuai Untuk SQLite . Secara khusus, "Situasi di mana RDBMS lain dapat bekerja lebih baik" memperingatkan bahwa SQLite tidak mendukung penulisan bersamaan:
Dari perspektif kesesuaian, saya cenderung melihat SQLite sebagai format file yang sangat canggih yang mendukung query SQL. Saya cenderung menghindari SQLite jika saya ingin memisahkan database saya dari aplikasi web saya, karena tidak dioptimalkan untuk kasus ini. Singkatnya, SQLite tidak cukup scalable untuk digunakan dalam beberapa skenario, sehingga orang yang menjalankan situs web yang berharap suatu hari nanti menjadi populer mungkin lebih baik memulai dengan sesuatu yang scalable, daripada menggunakan SQLite dan kemudian dipaksa untuk beralih.
Semua yang dikatakan, SQLite mungkin baik untuk sebagian besar situs web internal; biasanya situs web internal tidak memerlukan tingkat konkurensi dan skalabilitas yang sama.
sumber
Mengenakan topi Direktur IT saya, saya melihat beberapa no-gos di sini:
Dari sudut pandang pengembang, saya pikir penting untuk mengetahui mengapa SqlLite adalah default - itu karena mudah dan demo dengan baik. Jika Anda "menjual" platform ke pengembang baru, bisa menjalankan aplikasi web yang berfungsi dengan kerepotan minimal adalah kuncinya. Dan harus berdiri dan mengkonfigurasi server database dengan benar akan menjadi batu sandungan besar yang harus dihindari.
sumber