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
Veri Akışı Adı | Açıklama |
---|---|
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
Veri Akışı Adı | Açıklama |
---|---|
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
Veri Akışı Adı | Açıklama |
---|---|
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
Veri Akışı Adı | Açıklama |
---|---|
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
Veri Akışı Adı | Açıklama |
---|---|
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
Veri Akışı Adı | Açıklama |
---|---|
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 partkey pg_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
Veri Akışı Adı | Açıklama |
---|---|
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
Veri Akışı Adı | Açıklama |
---|---|
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
Veri Akışı Adı | Açıklama |
---|---|
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ı
Veri Akışı Adı | Açıklama |
---|---|
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
Veri Akışı Adı | Açıklama |
---|---|
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.
Veri Akışı Adı | Açıklama |
---|---|
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
- Bazı yararlı tanılama sorguları öğrenin
- Temel alınan PostgreSQL veritabanındaki yapılandırma parametrelerinin listesini gözden geçirin.