Bagikan melalui


Azure Cosmos DB for PostgreSQL terdistribusi SQL API

BERLAKU UNTUK: Azure Cosmos DB for PostgreSQL (didukung oleh ekstensi database Citus ke PostgreSQL)

Azure Cosmos DB untuk PostgreSQL menyertakan fitur di luar PostgreSQL standar. Berikut ini referensi fungsi dan opsi konfigurasi yang dikategorikan untuk:

  • Paralelisasi eksekusi kueri di seluruh pecahan
  • Mengelola data yang dipecah antara beberapa server
  • Mengompresi data dengan penyimpanan kolumn
  • Mengotomatiskan pemartisian rangkaian waktu

Fungsi SQL

Sharding

Nama Deskripsi
alter_distributed_table Mengubah kolom distribusi, jumlah pecahan, atau properti kolokasi tabel terdistribusi
citus_copy_shard_placement Memperbaiki penempatan pecahan yang tidak aktif menggunakan data dari penempatan sehat
citus_schema_distribute Mengubah skema PostgreSQL menjadi skema terdistribusi
citus_schema_undistribute Urungkan tindakan citus_schema_distribute
create_distributed_table Mengubah tabel PostgreSQL menjadi tabel terdistribusi (dipecah)
create_reference_table Mempertahankan salinan lengkap tabel secara sinkron di semua node
citus_add_local_table_to_metadata Menambahkan tabel lokal ke metadata untuk mengaktifkan kueri dari simpul apa pun
isolate_tenant_to_new_shard Membuat pecahan baru untuk menyimpan baris dengan nilai tunggal tertentu di kolom distribusi
truncate_local_data_after_distributing_table Memotong semua baris lokal setelah mendistribusikan tabel
undistribute_table Membatalkan tindakan create_distributed_table atau create_reference_table

Penyeimbangan ulang pecahan

Nama Deskripsi
citus_add_rebalance_strategy Menambahkan baris ke pg_dist_rebalance_strategy
citus_move_shard_placement Biasanya digunakan secara tidak langsung selama penyeimbangan ulang pecahan, dan tidak dipanggil langsung oleh administrator database
citus_set_default_rebalance_strategy Mengubah strategi yang dinamai dengan argumennya menjadi default yang dipilih saat menyeimbangkan ulang pecahan
get_rebalance_progress Memantau pemindahan yang direncanakan dan dieksekusi oleh rebalance_table_shards
get_rebalance_table_shards_plan Menghasilkan pemindahan pecahan yang direncanakan dari rebalance_table_shards tanpa melakukannya
rebalance_table_shards Memindahkan pecahan tabel tertentu agar terdistribusi secara merata di antara pekerja

Kolokasi

Nama Deskripsi
create_distributed_function Membuat fungsi berjalan pada pekerja di dekat pecahan kolokasi
update_distributed_table_colocation Memperbarui atau memecah kolokasi tabel terdistribusi

Penyimpanan kolom

Nama Deskripsi
alter_columnar_table_set Mengubah pengaturan pada tabel kolom
alter_table_set_access_method Mengonversi tabel antara penyimpanan tumpukan atau kolom

Pemartisian rangkaian waktu

Nama Deskripsi
alter_old_partitions_set_access_method Mengubah metode partisi penyimpanan
create_time_partitions Membuat partisi interval tertentu untuk mencakup rentang waktu tertentu
drop_old_time_partitions Menghapus semua partisi yang intervalnya jatuh sebelum stempel waktu tertentu

Informasi

Nama Deskripsi
citus_get_active_worker_nodes Mendapatkan nomor port dan nama host pekerja aktif
citus_relation_size Mendapatkan ruang disk yang digunakan oleh semua pecahan tabel terdistribusi yang ditentukan
citus_remote_connection_stats Menampilkan jumlah koneksi aktif ke setiap node jarak jauh
citus_stat_statements_reset Menghapus semua baris dari citus_stat_statements
citus_table_size Mendapatkan ruang disk yang digunakan oleh semua pecahan tabel terdistribusi yang ditentukan, tidak termasuk indeks
citus_total_relation_size Mendapatkan total ruang disk yang digunakan oleh semua pecahan tabel terdistribusi yang ditentukan, termasuk semua indeks dan data TOAST
column_to_column_name Menerjemahkan partkey kolom pg_dist_partition ke dalam nama kolom tekstual
get_shard_id_for_distribution_column Menemukan ID pecahan yang terkait dengan nilai kolom distribusi

Parameter server

Eksekusi kueri

Nama Deskripsi
citus.all_modifications_commutative Mengizinkan semua perintah untuk mengklaim kunci bersama
citus.count_distinct_error_rate Menyetel tingkat kesalahan penghitungan perkiraan postgresql-hll
citus.enable_repartition_joins Mengizinkan JOIN Yang dibuat pada kolom non-distribusi
citus.enable_repartitioned_insert_select Mengizinkan partisi ulang baris dari pernyataan SELECT dan mentransfernya di antara pekerja untuk disisipkan
citus.limit_clause_row_fetch_count Jumlah baris yang diambil per tugas untuk pengoptimalan klausa batas
citus.local_table_join_policy Tempat data bergerak saat melakukan gabungan antara tabel lokal dan terdistribusi
citus.multi_shard_commit_protocol Protokol penerapan yang akan digunakan saat melakukan COPY pada tabel terdistribusi hash
citus.propagate_set_commands Perintah SET mana yang disebarkan dari koordinator ke pekerja
citus.create_object_propagation Perilaku pernyataan CREATE dalam transaksi untuk objek yang didukung
citus.use_citus_managed_tables Perbolehkan tabel lokal diakses dalam kueri node pekerja

Informasi

Nama Deskripsi
citus.explain_all_tasks Membuat output EXPLAIN menampilkan semua tugas
citus.explain_analyze_sort_method Mengurutkan metode tugas dalam output EXPLAIN ANALYZE
citus.log_remote_commands Kueri log yang dikirim koordinator ke node pekerja
citus.multi_task_query_log_level Tingkat log untuk setiap kueri yang menghasilkan lebih dari satu tugas
citus.stat_statements_max Jumlah baris maksimal yang disimpan di citus_stat_statements
citus.stat_statements_purge_interval Frekuensi di mana daemon pemeliharaan menghapus catatan dari citus_stat_statements yang tidak cocok di pg_stat_statements
citus.stat_statements_track Mengaktifkan/menonaktifkan pelacakan pernyataan
citus.show_shards_for_app_name_prefixes Memungkinkan pecahan ditampilkan untuk klien terpilih yang ingin melihatnya
citus.override_table_visibility Mengaktifkan/menonaktifkan persembunyian shard

Manajemen koneksi antar-node

Nama Deskripsi
citus.executor_slow_start_interval Waktu tunggu dalam milidetik antara membuka koneksi ke node pekerja yang sama
citus.force_max_query_parallelization Membuka koneksi sebanyak mungkin
citus.max_adaptive_executor_pool_size Koneksi pekerja maks per sesi
citus.max_cached_conns_per_worker Jumlah koneksi yang tetap terbuka untuk mempercepat perintah berikutnya
citus.node_connection_timeout Durasi maksimum (dalam milidetik) untuk menunggu pembentukan koneksi

Transfer data

Nama Deskripsi
citus.enable_binary_protocol Menggunakan format serialisasi biner PostgreSQL (jika berlaku) untuk mentransfer data dengan pekerja
citus.max_intermediate_result_size Ukuran dalam KB hasil menengah untuk CTE dan subkueri yang tidak dapat didorong ke bawah

Kebuntuan

Nama Deskripsi
citus.distributed_deadlock_detection_factor Waktu tunggu sebelum memeriksa kebuntuan terdistribusi
citus.log_distributed_deadlock_detection Apakah akan mencatat pemrosesan terkait deteksi kebuntuan terdistribusi di log server

Tabel sistem

Simpul koordinator berisi tabel metadata dan tampilan untuk membantu Anda melihat properti data dan aktivitas kueri di seluruh kluster.

Nama Deskripsi
citus_dist_stat_activity Kueri terdistribusi yang dijalankan di semua node
citus_lock_waits Kueri diblokir di seluruh kluster
citus_shards Lokasi setiap pecahan, jenis tabel yang dimilikinya, dan ukurannya
citus_stat_statements Statistik tentang eksekusi kueri, dan untuk siapa
citus_tables Ringkasan semua tabel terdistribusi dan referensi
citus_worker_stat_activity Kueri tentang pekerja, termasuk tugas pada pecahan individu
pg_dist_colocation Pecahan tabel mana yang harus disatukan
pg_dist_node Informasi tentang simpul pekerja di kluster
pg_dist_object Objek seperti jenis dan fungsi yang telah dibuat pada node koordinator dan disebarkan ke node pekerja
pg_dist_placement Lokasi replika pecahan di node pekerja
pg_dist_rebalance_strategy Strategi yang dapat digunakan rebalance_table_shards untuk menentukan tempat memindahkan pecahan
pg_dist_shard Tabel, kolom distribusi, dan rentang nilai untuk setiap pecahan
time_partitions Informasi tentang setiap partisi yang dikelola oleh fungsi-fungsi seperti create_time_partitions dan drop_old_time_partitions

Langkah berikutnya