PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Menyimpan string biner (data mentah) yang panjang

Sejauh PostgreSQL bersangkutan, ketik text adalah keluar dari pertanyaan. Lebih lambat, menggunakan lebih banyak ruang dan lebih rawan kesalahan daripada bytea untuk tujuan tersebut.

Pada dasarnya ada 3 pendekatan:

  1. Gunakan jenis bytea (pada dasarnya pg setara dengan tipe gumpalan SQL).

  2. Gunakan "objek besar ".

  3. Simpan gumpalan sebagai file di sistem file dan hanya menyimpan nama file dalam database.

Masing-masing memiliki kelebihan dan kekurangannya sendiri.

1. agak sederhana untuk ditangani tetapi membutuhkan ruang disk paling banyak. Beberapa decoding dan encoding diperlukan, yang membuatnya juga lambat. Cadangan tumbuh dengan cepat dalam ukuran!

2. sedikit canggung dalam penanganannya, tetapi Anda memiliki infrastruktur sendiri untuk memanipulasi gumpalan - jika Anda membutuhkannya. Dan Anda dapat lebih mudah membuat cadangan terpisah.

3. sejauh ini merupakan cara tercepat dan menggunakan ruang disk paling sedikit. Tapi itu tidak memberikan integritas referensial yang Anda dapatkan saat Anda menyimpan di dalam database.

Saya memiliki sejumlah implementasi seperti itu untuk file gambar:simpan gambar mini kecil dalam bidang byte untuk integritas referensial dan referensi cepat. Simpan gambar asli sebagai file di sistem file. Tentu saja, Anda perlu memikirkan kapan dan bagaimana cara menghapus file yang kedaluwarsa, cara mencadangkan file eksternal, dan semacamnya.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. DatabaseError:transaksi saat ini dibatalkan, perintah diabaikan hingga akhir blok transaksi?

  2. Penggabungan Koneksi dengan Pgbouncer di PostgreSQL 9.0

  3. Kueri parameter (pengaturan postgresql.conf) seperti max_connections

  4. Fungsi Kueri Dinamis Postgres

  5. Praktik Terbaik Keamanan PostgreSQL