Saya perlu menyimpan pertanyaan dan jawaban dalam database. Pertanyaannya adalah satu atau dua kalimat, tetapi jawabannya akan panjang, setidaknya satu paragraf, mungkin lebih.
Satu-satunya cara saya tahu tentang melakukan ini sekarang adalah database SQL. Namun, saya tidak merasa ini adalah solusi yang baik karena sejauh yang saya lihat, basis data ini tidak digunakan untuk data jenis atau ukuran ini. Apakah ini cara yang benar untuk pergi atau apakah ada cara yang lebih baik untuk menyimpan data ini? Apakah ada cara yang lebih baik daripada menyimpan string mentah?
database
database-design
gsingh2011
sumber
sumber
Jawaban:
Mongodb itu hebat, tapi Anda tahu SQL. Tidak ada yang salah dengan menyimpan jawaban panjang di bidang. Anda dapat menyimpan gambar atau bahkan file dalam SQL. Saya pikir ukuran bidang maks adalah 2GB.
Saya hampir positif jawaban ini sendiri disimpan di bidang tabel di suatu tempat.
Adapun ribuan mereka, tidak ada masalah. Bahkan jutaan seharusnya tidak menjadi masalah. Anda dapat mempertimbangkan menggunakan pengindeksan teks lengkap jika Anda mencari kata kunci atau sesuatu di bidang itu. Tetapi saya mencoba untuk tidak mengoptimalkan sampai saya melihat masalah. Komputer murah, penyimpanan pada dasarnya gratis.
sumber
Tidak ada masalah menyimpan teks panjang di database (SQL atau yang lain). Itulah bagaimana sebenarnya setiap entri blog (pikirkan Wordpress), artikel berita, dan posting forum (pikirkan phpbb) di internet disimpan. Saya tidak tahu detail spesifik pengaturan pertukaran stack, tapi saya yakin pertanyaan Anda juga disimpan dalam database. Sebagian besar database SQL memiliki
TEXT
tipe bidang atau yang setara hanya untuk tujuan menyimpan data tekstual dengan panjang apa pun. Banyak juga yang memiliki sistem pencarian teks lengkap.Buat keputusan teknis berdasarkan pengetahuan dan pemahaman teknis, bukan perasaan.
sumber
Ya itu cara yang benar untuk pergi. Menyimpan string dalam database SQL adalah apa yang ingin Anda lakukan. Salah satu tabel saya di DB memiliki lebih dari satu pertunjukan data plaintext dan berkinerja baik.
Jika Anda khawatir tentang ruang penyimpanan - ingat bahwa itu murah!
Jika Anda khawatir tentang kinerja - maka jangan khawatir, database yang baik dapat meningkatkan (atau memperkecil) seberapa banyak data yang ingin Anda masukkan ke dalamnya.
Hal terakhir yang ingin Anda lakukan adalah mulai mengoptimalkan sekarang untuk kepentingan itu (mengompresi string sebelum Anda memasukkannya ke dalam DB atau sesuatu yang gila) sebelum itu benar-benar menjadi masalah. Anda hanya memberi diri Anda lebih banyak pekerjaan.
sumber
Tidak ada masalah menyimpan string besar atau data biner. Saya bekerja dengan database dengan lebih dari satu terabyte data biner dan bekerja dengan sangat baik (postgres) dan satu-satunya hal yang buruk adalah waktu cadangan.
Pertanyaan besarnya adalah: "Apakah Anda perlu melakukan pencarian konstan dalam teks ini?"
Jika Anda akan mencari string dalam teks, Anda dapat berpikir dalam satu solusi indeks:
sumber