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

GABUNG tingkat aplikasi dengan WHERE dan ORDER BY pada N pecahan postgresql

Biasanya data membagi di pecahan dengan cara yang memungkinkan untuk menghindari GABUNG lintas server sama sekali. Karena operasi ini sulit dan mahal. Jika contoh Anda hipotetis, saya akan merekomendasikan untuk membagi semua data dengan bidang user_id atau user_group_id.

Misalnya shard A akan berisi semua tabel dengan informasi dari pengguna yang user_id % 3 =0, shard B - user_id mana % 3 =1, shard C - user_id mana % 3 =2. Jadi sebagian besar JOIN yang dibutuhkan akan berada di dalam satu shard. Untuk beberapa kueri lintas server yang kompleks, Anda mungkin memiliki penyimpanan NO-SQL umum seperti memcached atau Redis yang akan memiliki salinan data yang diperlukan dari semua pecahan (tentu saja itu bukan salinan lengkap dari semua tabel). Penyimpanan seperti itu dapat dengan mudah direplikasi di sebanyak mungkin server yang Anda butuhkan. Beginilah cara kerja proyek highload.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tampilkan pesan terakhir dalam susunan pesan

  2. psql - simpan hasil perintah ke file

  3. PL/Perl mengirim email di Postgresql

  4. Gunakan string[][] dengan ngpsql

  5. PostgreSQL:Buat indeks pada panjang semua bidang tabel