Share via


PostgreSQL için Azure Cosmos DB dağıtılmış SQL API'si

ŞUNLAR IÇIN GEÇERLIDIR: PostgreSQL için Azure Cosmos DB (PostgreSQL'e citus veritabanı uzantısıyla desteklenir)

Azure Cosmos DB for PostgreSQL, standart PostgreSQL'in ötesinde özellikler içerir. Aşağıda işlevlerin ve yapılandırma seçeneklerinin kategorilere ayrılmış bir başvurusu yer almaktadır:

  • Parçalar arasında sorgu yürütmeyi paralelleştirme
  • Birden çok sunucu arasında parçalanmış verileri yönetme
  • Sütunlu depolama ile verileri sıkıştırma
  • Zaman serisi bölümlemeyi otomatikleştirme

SQL işlevleri

Parçalama

Dosya Adı Tanım
alter_distributed_table Dağıtılmış tablonun dağıtım sütununu, parça sayısını veya birlikte bulundurma özelliklerini değiştirme
citus_copy_shard_placement İyi durumdaki bir yerleşimden alınan verileri kullanarak etkin olmayan parça yerleşimini onarma
citus_schema_distribute PostgreSQL şemasını dağıtılmış şemaya dönüştürme
citus_schema_undistribute citus_schema_distribute eylemini geri alma
create_distributed_table PostgreSQL tablosunu dağıtılmış (parçalı) tabloya dönüştürme
create_reference_table Tablonun tam kopyalarını tüm düğümler arasında eşitlenmiş olarak tutma
citus_add_local_table_to_metadata Herhangi bir düğümden sorgulamayı etkinleştirmek için meta veriye yerel tablo ekleme
isolate_tenant_to_new_shard Dağıtım sütununda belirli bir tek değere sahip satırları tutmak için yeni bir parça oluşturma
truncate_local_data_after_distributing_table Tablo dağıtıldıktan sonra tüm yerel satırları kes
undistribute_table create_distributed_table veya create_reference_table eylemini geri alma

Parça yeniden dengeleme

Dosya Adı Tanım
citus_add_rebalance_strategy Satırın sonuna ekleme pg_dist_rebalance_strategy
citus_move_shard_placement Genellikle doğrudan veritabanı yöneticisi tarafından çağrılmak yerine parça yeniden dengeleme sırasında dolaylı olarak kullanılır
citus_set_default_rebalance_strategy Bağımsız değişkeniyle adlandırılan stratejiyi, parçalar yeniden dengelenirken seçilen varsayılan strateji olacak şekilde değiştirin
get_rebalance_progress Tarafından planlanan ve yürütülen taşımaları izleme rebalance_table_shards
get_rebalance_table_shards_plan rebalance_table_shards planlı parça hareketlerini gerçekleştirmeden çıkış yapma
rebalance_table_shards Verilen tablonun parçalarını çalışanlar arasında eşit bir şekilde dağıtmak için taşıma

Birlikte konumlandırma

Dosya Adı Tanım
create_distributed_function birlikte bulunan parçaların yakınında çalışanlarda işlev çalıştırması yapma
update_distributed_table_colocation Dağıtılmış tablonun birlikte bulundurmayı güncelleştirme veya kesme

Sütunlu depolama

Dosya Adı Tanım
alter_columnar_table_set Sütunlu tabloda ayarları değiştirme
alter_table_set_access_method Tabloyu yığın veya sütunlu depolama arasında dönüştürme

Timeseries bölümleme

Dosya Adı Tanım
alter_old_partitions_set_access_method Bölümlerin depolama yöntemini değiştirme
create_time_partitions Belirli bir zaman aralığını kapsayacak şekilde belirli bir aralığın bölümlerini oluşturma
drop_old_time_partitions Aralıkları belirli bir zaman damgasının önüne geçen tüm bölümleri kaldırma

Bilgi

Dosya Adı Tanım
citus_get_active_worker_nodes Etkin çalışan ana bilgisayar adlarını ve bağlantı noktası numaralarını alma
citus_relation_size Belirtilen dağıtılmış tablonun tüm parçaları tarafından kullanılan disk alanını alma
citus_remote_connection_stats Her uzak düğüme yönelik etkin bağlantı sayısını gösterme
citus_stat_statements_reset Tüm satırları kaldırma citus_stat_statements
citus_table_size Dizinler hariç, belirtilen dağıtılmış tablonun tüm parçaları tarafından kullanılan disk alanını alma
citus_total_relation_size Tüm dizinler ve TOAST verileri dahil olmak üzere belirtilen dağıtılmış tablonun tüm parçaları tarafından kullanılan toplam disk alanını alma
column_to_column_name sütununu partkeypg_dist_partition metinsel sütun adına çevirme
get_shard_id_for_distribution_column Dağıtım sütununun değeriyle ilişkili parça kimliğini bulma

Sunucu parametreleri

Sorgu yürütme

Dosya Adı Tanım
citus.all_modifications_commutative Tüm komutların paylaşılan kilit talep etmelerine izin ver
citus.count_distinct_error_rate Postgresql-hll yaklaşık sayım hata oranını ayarlama
citus.enable_repartition_joins Dağıtım dışı sütunlarda yapılan JOIN'lere izin ver
citus.enable_repartitioned_insert_select SELECT deyiminden satırların yeniden bölümlenmesine ve ekleme için çalışanlar arasında aktarılmasına izin ver
citus.limit_clause_row_fetch_count Sınır yan tümcesi iyileştirmesi için görev başına getirilecek satır sayısı
citus.local_table_join_policy Yerel ve dağıtılmış tablolar arasında birleştirme yaparken verilerin hareket ettiği yer
citus.multi_shard_commit_protocol Karma dağıtılmış tabloda COPY gerçekleştirirken kullanılacak işleme protokolü
citus.propagate_set_commands Hangi SET komutları koordinatörden çalışanlara yayılır?
citus.create_object_propagation Desteklenen nesneler için işlemlerde CREATE deyimlerinin davranışı
citus.use_citus_managed_tables Çalışan düğümü sorgularında yerel tablolara erişilmesine izin ver

Bilgi

Dosya Adı Tanım
citus.explain_all_tasks EXPLAIN çıkışının tüm görevleri göstermesini sağlama
citus.explain_analyze_sort_method EXPLAIN ANALYZE çıkışındaki görevlerin sıralama yöntemi
citus.log_remote_commands Düzenleyicinin çalışan düğümlerine gönderdiği günlük sorguları
citus.multi_task_query_log_level Birden fazla görev oluşturan tüm sorgular için günlük düzeyi
citus.stat_statements_max Depo için en fazla satır sayısı citus_stat_statements
citus.stat_statements_purge_interval Bakım daemon'unun içinde eşleşmeyen kayıtları citus_stat_statements kaldırma sıklığı pg_stat_statements
citus.stat_statements_track Deyim izlemeyi etkinleştirme/devre dışı bırakma
citus.show_shards_for_app_name_prefixes Parçaları görmek isteyen seçili istemciler için parçaların görüntülenmesine izin verir
citus.override_table_visibility Parça gizlemeyi etkinleştirme/devre dışı bırakma

Düğümler arası bağlantı yönetimi

Dosya Adı Tanım
citus.executor_slow_start_interval Aynı çalışan düğümüne bağlantıları açmak arasında milisaniye cinsinden bekleme süresi
citus.force_max_query_parallelization Mümkün olduğunca çok bağlantı açın
citus.max_adaptive_executor_pool_size Oturum başına en fazla çalışan bağlantısı
citus.max_cached_conns_per_worker Sonraki komutları hızlandırmak için açık tutulan bağlantı sayısı
citus.node_connection_timeout Bağlantı kurulmasını beklemek için en uzun süre (milisaniye cinsinden)

Veri aktarımı

Dosya Adı Tanım
citus.enable_binary_protocol Çalışanlara veri aktarmak için PostgreSQL'in ikili serileştirme biçimini (uygun olduğunda) kullanın
citus.max_intermediate_result_size CTA'lar ve aşağı gönderilemeyen alt sorgular için ara sonuçların KB boyutu

Kilitlenme

Dosya Adı Tanım
citus.distributed_deadlock_detection_factor Dağıtılmış kilitlenmeleri denetlemeden önce bekleme süresi
citus.log_distributed_deadlock_detection Dağıtılmış kilitlenme algılamayla ilgili işlemenin sunucu günlüğünde günlüğe kaydedilip kaydedilmeyeceği

Sistem tabloları

Koordinatör düğümü, küme genelinde veri özelliklerini ve sorgu etkinliğini görmenize yardımcı olacak meta veri tablolarını ve görünümlerini içerir.

Dosya Adı Tanım
citus_dist_stat_activity Tüm düğümlerde yürütülen dağıtılmış sorgular
citus_lock_waits Küme genelinde engellenen sorgular
citus_shards Her parçanın konumu, ait olduğu tablo türü ve boyutu
citus_stat_statements Sorguların nasıl ve kim için yürütülmekte olduğuyla ilgili istatistikler
citus_tables Tüm dağıtılmış ve başvuru tablolarının özeti
citus_worker_stat_activity Tek tek parçalardaki görevler de dahil olmak üzere çalışanlarla ilgili sorgular
pg_dist_colocation Hangi tabloların parçaları birlikte yerleştirilmelidir?
pg_dist_node Kümedeki çalışan düğümleri hakkında bilgi
pg_dist_object Koordinatör düğümünde oluşturulmuş ve çalışan düğümlerine yayılan türler ve işlevler gibi nesneler
pg_dist_placement Çalışan düğümlerinde parça çoğaltmalarının konumu
pg_dist_rebalance_strategy Parçaların nereye taşındığını rebalance_table_shards belirlemek için kullanabileceğiniz stratejiler
pg_dist_shard Her parça için tablo, dağıtım sütunu ve değer aralıkları
time_partitions ve gibi create_time_partitions işlevler tarafından yönetilen her bölüm hakkında bilgi drop_old_time_partitions

Sonraki adımlar