Rozproszony interfejs API SQL usługi Azure Cosmos DB for PostgreSQL

DOTYCZY: Usługa Azure Cosmos DB for PostgreSQL (obsługiwana przez rozszerzenie bazy danych Citus do bazy danych PostgreSQL)

Usługa Azure Cosmos DB for PostgreSQL obejmuje funkcje wykraczające poza standardową bazę danych PostgreSQL. Poniżej znajduje się odwołanie do kategorii funkcji i opcji konfiguracji dla:

  • Równoległe wykonywanie zapytań między fragmentami
  • Zarządzanie danymi podzielonymi na fragmenty między wieloma serwerami
  • Kompresowanie danych za pomocą magazynu kolumnowego
  • Automatyzowanie partycjonowania szeregów czasowych

Funkcje SQL

Dzielenie na fragmenty

Nazwa/nazwisko opis
alter_distributed_table Zmienianie kolumny dystrybucji, liczby fragmentów lub właściwości kolokacji tabeli rozproszonej
citus_copy_shard_placement Naprawianie nieaktywnego umieszczania fragmentów przy użyciu danych z umieszczania w dobrej kondycji
citus_schema_distribute Przekształcanie schematu postgreSQL w schemat rozproszony
citus_schema_undistribute Cofnij akcję citus_schema_distribute
create_distributed_table Przekształcanie tabeli PostgreSQL w tabelę rozproszoną (podzieloną na fragmenty)
create_reference_table Obsługa pełnych kopii tabeli w synchronizacji we wszystkich węzłach
citus_add_local_table_to_metadata Dodawanie tabeli lokalnej do metadanych w celu włączenia wykonywania zapytań względem niej z dowolnego węzła
isolate_tenant_to_new_shard Tworzenie nowego fragmentu do przechowywania wierszy z określoną pojedynczą wartością w kolumnie dystrybucji
truncate_local_data_after_distributing_table Obcinanie wszystkich wierszy lokalnych po dystrybucji tabeli
undistribute_table Cofnij akcję create_distributed_table lub create_reference_table

Ponowne równoważenie fragmentów

Nazwa/nazwisko opis
citus_add_rebalance_strategy Dołączanie wiersza do pg_dist_rebalance_strategy
citus_move_shard_placement Zazwyczaj używane pośrednio podczas ponownego równoważenia fragmentu zamiast wywoływanego bezpośrednio przez administratora bazy danych
citus_set_default_rebalance_strategy Zmień strategię o nazwie według argumentu na wartość domyślną wybraną podczas ponownego równoważenia fragmentów
get_rebalance_progress Monitorowanie planowanych i wykonywanych przez nie ruchów rebalance_table_shards
get_rebalance_table_shards_plan Wyprowadza planowane ruchy fragmentów rebalance_table_shards bez ich wykonywania
rebalance_table_shards Przenoszenie fragmentów danej tabeli w celu równomiernego rozłożenia ich między procesami roboczymi

Colocation (Kolokacja)

Nazwa/nazwisko opis
create_distributed_function Uruchamianie funkcji dla procesów roboczych w pobliżu kolokowanych fragmentów
update_distributed_table_colocation Aktualizowanie lub przerywanie kolokacji tabeli rozproszonej

Magazyn kolumnowy

Nazwa/nazwisko opis
alter_columnar_table_set Zmienianie ustawień w tabeli kolumnowej
alter_table_set_access_method Konwertowanie tabeli między magazynem stertowym lub kolumnowym

Partycjonowanie czasowników

Nazwa/nazwisko opis
alter_old_partitions_set_access_method Zmiana metody przechowywania partycji
create_time_partitions Tworzenie partycji danego interwału w celu pokrycia danego zakresu czasu
drop_old_time_partitions Usuń wszystkie partycje, których interwały spadną przed danym znacznikiem czasu

Informacyjny

Nazwa/nazwisko opis
citus_get_active_worker_nodes Uzyskiwanie aktywnych nazw hostów procesu roboczego i numerów portów
citus_relation_size Pobieranie miejsca na dysku używanego przez wszystkie fragmenty określonej tabeli rozproszonej
citus_remote_connection_stats Pokaż liczbę aktywnych połączeń z każdym węzłem zdalnym
citus_stat_statements_reset Usuń wszystkie wiersze z citus_stat_statements
citus_table_size Pobieranie miejsca na dysku używanego przez wszystkie fragmenty określonej tabeli rozproszonej, z wyłączeniem indeksów
citus_total_relation_size Pobieranie całkowitego miejsca na dysku używanego przez wszystkie fragmenty określonej tabeli rozproszonej, w tym wszystkie indeksy i dane TOAST
column_to_column_name Tłumaczenie kolumny pg_dist_partition na partkey nazwę kolumny tekstowej
get_shard_id_for_distribution_column Znajdowanie identyfikatora fragmentu skojarzonego z wartością kolumny dystrybucji

Parametry serwera

Wykonywanie zapytania

Nazwa/nazwisko opis
citus.all_modifications_commutative Zezwalaj wszystkim poleceniom na oświadczenia blokady udostępnionej
citus.count_distinct_error_rate Dostrajanie współczynnika błędów dla przybliżonego zliczania postgresql-hll
citus.enable_repartition_joins Zezwalaj na numery JOIN utworzone w kolumnach niezwiązanych z dystrybucją
citus.enable_repartitioned_insert_select Zezwalaj na ponowne partycjonowanie wierszy z instrukcji SELECT i przesyłanie ich między procesami roboczymi w celu wstawiania
citus.limit_clause_row_fetch_count Liczba wierszy do pobrania na zadanie na potrzeby optymalizacji klauzuli limitu
citus.local_table_join_policy Gdzie dane są przesuwane podczas łączenia między tabelami lokalnymi i rozproszonymi
citus.multi_shard_commit_protocol Protokół zatwierdzania używany podczas wykonywania kopiowania w tabeli rozproszonej skrótu
citus.propagate_set_commands Które polecenia SET są propagowane z koordynatora do procesów roboczych
citus.create_object_propagation Zachowanie instrukcji CREATE w transakcjach dla obsługiwanych obiektów
citus.use_citus_managed_tables Zezwalaj na dostęp do tabel lokalnych w zapytaniach węzłów procesu roboczego

Informacyjny

Nazwa/nazwisko opis
citus.explain_all_tasks Pokaż wszystkie zadania wyjściowe WYJAŚNI
citus.explain_analyze_sort_method Sortuj metodę zadań w danych wyjściowych funkcji EXPLAIN ANALYZE
citus.log_remote_commands Zapytania dziennika wysyłane przez koordynatora do węzłów roboczych
citus.multi_task_query_log_level Poziom dziennika dla każdego zapytania, które generuje więcej niż jedno zadanie
citus.stat_statements_max Maksymalna liczba wierszy do przechowywania w citus_stat_statements
citus.stat_statements_purge_interval Częstotliwość, z jaką demon konserwacji usuwa rekordy z citus_stat_statements niedopasowanych w pg_stat_statements
citus.stat_statements_track Włączanie/wyłączanie śledzenia instrukcji
citus.show_shards_for_app_name_prefixes Umożliwia wyświetlanie fragmentów dla wybranych klientów, którzy chcą je wyświetlić
citus.override_table_visibility Włączanie/wyłączanie ukrywania fragmentów

Zarządzanie połączeniami między węzłami

Nazwa/nazwisko opis
citus.executor_slow_start_interval Czas oczekiwania w milisekundach między otwarciem połączeń z tym samym węzłem procesu roboczego
citus.force_max_query_parallelization Otwieranie jak największej liczby połączeń
citus.max_adaptive_executor_pool_size Maksymalna liczba połączeń procesów roboczych na sesję
citus.max_cached_conns_per_worker Liczba otwartych połączeń w celu przyspieszenia kolejnych poleceń
citus.node_connection_timeout Maksymalny czas trwania (w milisekundach) oczekiwania na utworzenie połączenia

Przenoszenie danych

Nazwa/nazwisko opis
citus.enable_binary_protocol Transfer danych z procesami roboczymi przy użyciu formatu serializacji binarnej bazy danych PostgreSQL (jeśli ma to zastosowanie)
citus.max_intermediate_result_size Rozmiar w KB wyników pośrednich dla wartości CTE i podzapytania, których nie można wypchnąć

Zakleszczenie

Nazwa/nazwisko opis
citus.distributed_deadlock_detection_factor Czas oczekiwania przed sprawdzeniem rozproszonych zakleszczeń
citus.log_distributed_deadlock_detection Czy rejestrować przetwarzanie związane z wykrywaniem zakleszczenia rozproszonego w dzienniku serwera

Tabele systemowe

Węzeł koordynacji zawiera tabele metadanych i widoki, które ułatwiają wyświetlanie właściwości danych i działania zapytań w klastrze.

Nazwa/nazwisko opis
citus_dist_stat_activity Zapytania rozproszone wykonywane na wszystkich węzłach
citus_lock_waits Zapytania zablokowane w całym klastrze
citus_shards Lokalizacja każdego fragmentu, typ tabeli, do którego należy, oraz jego rozmiar
citus_stat_statements Statystyki dotyczące sposobu wykonywania zapytań i osób, dla których
citus_tables Podsumowanie wszystkich tabel rozproszonych i referencyjnych
citus_worker_stat_activity Zapytania dotyczące procesów roboczych, w tym zadań na poszczególnych fragmentach
pg_dist_colocation Które fragmenty tabel powinny być umieszczone razem
pg_dist_node Informacje o węzłach procesu roboczego w klastrze
pg_dist_object Obiekty, takie jak typy i funkcje utworzone w węźle koordynatora i propagowane do węzłów roboczych
pg_dist_placement Lokalizacja replik fragmentów w węzłach roboczych
pg_dist_rebalance_strategy Strategie, których rebalance_table_shards można użyć do określenia miejsca przenoszenia fragmentów
pg_dist_shard Tabela, kolumna rozkładu i zakresy wartości dla każdego fragmentu
time_partitions Informacje o każdej partycji zarządzanej przez takie funkcje jak create_time_partitions i drop_old_time_partitions

Następne kroki