Mari kita bayangkan situs web yang merupakan direktori orang. Untuk setiap orang mungkin ada foto profil dan biografi.
Saya akan mengakui pertanyaan SQL saya bisa lebih baik tetapi secara umum apa yang akan lebih cepat dan menggunakan daya pemrosesan lebih sedikit.
Untuk memeriksa apakah ada file dan kemudian membukanya atau
periksa terhadap MySql untuk melihat apakah ada bio dan tampilkan.
Saya cukup yakin dalam kasus di atas filesystem akan merokok database mysql.
Bagaimana jika saya membuat database file txt terbatas hanya baca?
Apa yang lebih cepat dalam kasus ini?
Apakah ada titik tertentu di mana jika file txt memiliki terlalu banyak catatan, lebih baik menggunakan MySql?
mysql
database-design
datafile
BlueBerry - Vignesh4303
sumber
sumber
Jawaban:
Sistem file berguna jika Anda mencari file tertentu, karena sistem operasi mempertahankan semacam indeks. Namun, isi file txt tidak akan diindeks, yang merupakan salah satu keunggulan utama dari database. Lain adalah memahami model relasional, sehingga data tidak perlu diulang berulang kali. Lainnya adalah tipe pemahaman. Jika Anda memiliki file txt, Anda harus menguraikan angka, tanggal, dll.
Jadi - sistem file mungkin bekerja untuk Anda dalam beberapa kasus, tetapi tentu saja tidak semua.
sumber
Itu benar-benar tergantung pada apa yang Anda lakukan. Secara umum kecepatan di mana Anda dapat membuka file untuk membaca akan lebih baik daripada kecepatan di mana Anda dapat membuat koneksi jaringan. Jadi untuk operasi yang sangat sederhana, sistem file pasti lebih cepat. Filesystem mungkin akan mengalahkan RDBMS untuk throughput read mentah juga karena ada lebih sedikit overhead. Bahkan, jika Anda memikirkannya, basis data tidak akan pernah bisa lebih cepat daripada sistem berkas yang digunakannya dalam hal throughput mentah.
Untuk operasi yang sangat kompleks, sistem file cenderung sangat lambat. Sebagai contoh:
Baca 10 baris dari 1 miliar file baris ini dan kemudian cari baris yang cocok di file lain ini. Saya kasihan jika Anda harus melakukan ini. Server database yang baik namun memiliki strategi untuk melakukan ini dengan cepat dan baik sehingga Anda tidak menciptakan kembali roda.
Selain itu Anda benar-benar perlu mencari tahu apa yang Anda lakukan. Data apa yang Anda simpan? Bagaimana Anda akan mengubahnya? Jika 100k file gambar, solusi Anda akan terlihat sangat berbeda daripada jika itu adalah direktori untuk 100k orang. (LDAP mungkin? Atau database SQL? Tergantung pada apa yang Anda lakukan, mungkin.) Kuncinya di sini adalah untuk memilih alat yang cocok dengan apa yang Anda lakukan dan yang memberi Anda ruang untuk menambahkan lebih banyak kegunaan, daripada apa pun yang tampaknya tercepat untuk beberapa use case agak abstrak. Database adalah alat yang luar biasa, tetapi Anda tidak bisa mendapatkan jawaban yang bagus untuk pertanyaan seperti ini.
Akhirnya optimasi prematur adalah akar dari semua kejahatan. Pilih alat yang berguna sekarang dan cari sisanya nanti.
sumber
Sistem file mungkin lebih cepat pada awalnya, tapi saya ragu. Namun, ketika ukuran data Anda meningkat, Anda mungkin harus merestrukturisasi sistem file Anda untuk mempertahankan kinerja. Selain kemampuan mereka yang jelas untuk mengindeks pada banyak atribut, basis data cenderung berskala lebih baik.
Tembolok web yang berfungsi sama dengan apa yang Anda pertimbangkan menggunakan pohon direktori untuk mempertahankan kinerja. Mereka juga cenderung memiliki skala yang relatif tetap, sehingga mereka tidak harus berurusan dengan skala pertumbuhan.
Untuk aplikasi semacam ini saya akan mulai dengan database, karena lebih sesuai dengan kebutuhan Anda. Ini akan skala jauh lebih baik dalam jangka panjang. Dibandingkan dengan kebanyakan sistem file, basis data juga akan lebih efisien ruang.
sumber
Saya selalu suka datang ke forum-forum ini dan membaca semua guru berat database yang mengatakan bahwa Sistem file tidak dapat melakukannya secepat Database. Sebaliknya pohon yang diletakkan dengan benar, hashtable yang dirancang dengan baik dan menyimpannya sebagai objek ke file akan menghasilkan kecepatan yang sama seperti database dan dari pengujian saya. Hashtable yang dirancang dengan baik dan pohon direktori akan menang setiap saat. Jauh lebih sedikit overhead. Baru-baru ini saya telah pindah dari pemrograman berbasis database dan lebih banyak pada pohon file untuk kesederhanaan dan portabilitas program. Tanpa DB berarti pencadangan mudah, cukup zip pohon Anda dan pergi. Ini sangat bagus dan merupakan rekomendasi untuk memprogram dalam mode ini untuk klien sekali pakai dengan aplikasi kecil. Lihatlah gambar besar apakah saya punya waktu untuk mendesain sendiri atau hanya memanfaatkan apa yang sudah ada seperti db. Saya pribadi suka menyimpan objek saya ke file dan menggunakannya nanti hanya mengawasi ukuran meja Anda dan melihat ke dalam menggunakan RandomAccessFile agar dapat mencari dengan cepat meletakkannya seperti database dan memecahnya menjadi objek hashtable . Nikmati. Ingat, data apa pun yang Anda simpan di file akan menghabiskan dua kali lipat penggunaan memori pada waktu tergantung pada kode Anda. Tabel hash itu sendiri dan biasanya tempat Anda mengkonsumsinya untuk dilihat.
sumber