Sqlite atau MySql? Bagaimana cara memutuskan? [Tutup]

94

Adakah aturan praktis yang baik tentang cara memutuskan mana yang akan digunakan?

Dan, jika Anda mengambil alih database Sqlite, dan sistem diharapkan "menjadi lebih besar", bagaimana memutuskan apakah akan tetap menggunakannya atau pindah ke MySql?

Mawg berkata kembalikan Monica
sumber
1
Pertimbangkan FirebirdEmbedded, ini adalah campuran yang sangat kuat dari keduanya.
Stefan Steiger
1
Pemberian suara untuk ditutup terlalu luas. Kemungkinan duplikat telah dihapus: stackoverflow.com/questions/3630/sqlite-vs-mysql
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功
10
Sekarang sudah luas, tetapi, ketika diposting, pertanyaan semacam itu dapat diterima, atau, setidaknya, ditoleransi. Saya harap pertanyaannya tidak dihapus, seperti kemungkinan duplikatnya, agar yang lain tetap bisa membaca pembahasan dan rekomendasi.
Mawg mengatakan memulihkan Monica
6
Sungguh disayangkan bahwa pertanyaan-pertanyaan yang memiliki dampak dan visibilitas tinggi (lihat jumlah suara di bawah) ditutup oleh "pemantau" situs ini. Yang membuat keseluruhan proses pemantauan dan pemilihan monitor cukup dipertanyakan.
francogrex
2
Standar, nilai dan tujuan situs telah berubah selama bertahun-tahun. "Terutama berdasarkan opini" tidak lagi dapat diterima. Jika saya ingin menanyakannya hari ini, saya akan bertanya di softwarerecs.stackexchange.com , bukan di sini, dan akan mencantumkan persyaratan saya untuk database dan menerima rekomendasi. Saya mengerti mengapa pertanyaan saya ditutup, tetapi saya masih merindukan masa ketika kami dulu memiliki label buku , dan kata "terbaik" dalam judul tidak berarti penutupan langsung: - / YMMV
Mawg mengatakan kembalikan Monica

Jawaban:

103

Set fitur mereka tidak sama. Sqlite adalah database tertanam yang tidak memiliki kemampuan jaringan (kecuali Anda menambahkannya). Jadi, Anda tidak dapat menggunakannya di jaringan.

Jika Anda membutuhkan

  • Akses jaringan - misalnya mengakses dari komputer lain;
  • Tingkat konkurensi nyata apa pun - misalnya, jika Anda merasa ingin menjalankan beberapa kueri sekaligus, atau menjalankan beban kerja yang memiliki banyak pilihan dan sedikit pembaruan, dan ingin agar berjalan lancar, dll.
  • banyak penggunaan memori, misalnya, untuk menyangga bagian dari basis data 1TB Anda di memori 32G Anda.

Anda perlu menggunakan mysql atau RDBMS berbasis server lainnya.

Perhatikan bahwa MySQL bukan satu-satunya pilihan dan ada banyak pilihan lain yang mungkin lebih baik untuk aplikasi baru (misalnya pgSQL).

Sqlite adalah perangkat lunak yang sangat, sangat bagus, tetapi tidak pernah membuat klaim untuk melakukan hal-hal ini yang dilakukan oleh server RDBMS. Ini adalah pustaka kecil yang menjalankan SQL pada file lokal (menggunakan penguncian untuk memastikan bahwa beberapa proses tidak mengacaukan file). Ini benar-benar teruji dengan baik dan saya sangat menyukainya.

Selain itu, jika Anda tidak dapat memilihnya sendiri dengan benar, Anda mungkin perlu mempekerjakan seseorang di tim Anda yang bisa.

MarkR
sumber
Jadi pada dasarnya sqllite adalah alternatif untuk mengakses file ms.
dvdmn
2
Ketiga poin itu persis seperti yang dikatakan Richard Hipp: youtu.be/Jib2AmRb_rk?t=1693
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功
Demi kesederhanaan, saya selalu memiliki satu perangkat lunak yang merupakan satu-satunya pengguna yang diizinkan mengakses database, bahkan untuk aplikasi jaringan yang menggunakan database MySql.
Mawg mengatakan mengembalikan Monica
57

Tim sqlite menerbitkan artikel yang menjelaskan kapan harus menggunakan sqlite yang bagus untuk dibaca. Pada dasarnya, Anda ingin menghindari penggunaan sqlite ketika Anda memiliki banyak konkurensi tulis atau perlu menskalakan hingga terabyte data. Dalam banyak kasus lain, sqlite adalah alternatif yang sangat bagus untuk database "tradisional" seperti MySQL.

Josue
sumber
11

SQLite out-of-the-box tidak benar-benar lengkap dengan fitur terkait konkurensi. Anda akan mendapat masalah jika memiliki ratusan permintaan web yang mencapai database SQLite yang sama.

Anda pasti harus menggunakan MySQL atau PostgreSQL.

Jika itu untuk proyek satu orang, SQLite akan lebih mudah diatur.

Jerome WAGNER
sumber
Demi kesederhanaan, saya selalu memiliki satu perangkat lunak yang merupakan satu-satunya pengguna yang diizinkan mengakses basis data, bahkan untuk aplikasi jaringan yang menggunakan basis data MySql, tetapi, secara tidak langsung, terutama untuk Sqlite.
Mawg mengatakan memulihkan Monica
10

Beberapa sen saya untuk balasan bagus sebelumnya. situs www.sqlite.org bekerja pada database sqlite. Ini adalah tautan ketika penulis (Richard Hipp) menjawab pertanyaan serupa.

Maksee
sumber
1
Terima kasih untuk tautannya, penulis yang sama melanjutkan dengan meja kerja sendiri yang dia uji dengan Athlon 1600. RAM 1GB. Disk IDE 5400RPM. Redhat 7.3. Dia menyimpulkan: «Sekarang saya yakin bahwa SQLite sesuai untuk digunakan sebagai database utama di situs web yang mendapatkan hingga 1 juta klik per hari.»
Rutrus