Wdrażanie usługi zarządzanej bazy danych za pomocą usługi SQL Managed Instance z obsługą usługi Azure Arc
Wystąpienie zarządzane SQL z obsługą usługi Azure Arc to usługa Azure SQL obsługiwana przez aparat programu SQL Server, który można wdrożyć w wybranej infrastrukturze.
Porównanie z usługą Azure SQL
Azure SQL to rodzina usług baz danych wdrożonych w infrastrukturze platformy Azure:
Program SQL Server na maszynie wirtualnej platformy Azure
Ta opcja wdrażania usługi Azure SQL umożliwia w pełni licencjonowany produkt SQL Server do uruchamiania w wybranej wersji w systemie Windows lub Linux. Użytkownik zarządza wszystkimi elementami maszyny wirtualnej gościa, a firma Microsoft zarządza infrastrukturą. Ta opcja jest nazywana infrastrukturą jako usługą (IaaS).
Wystąpienie zarządzane Azure SQL
Ta opcja wdrażania usługi Azure SQL udostępnia wstępnie zainstalowane, bez wersji wystąpienie programu SQL Server jako w pełni zarządzaną usługę. Użytkownik ma dostęp do prawie 100% możliwości wystąpienia aparatu programu SQL Server. Firma Microsoft zarządza wszystkimi aspektami platformy i infrastruktury wymaganej do hostowania wystąpienia. Ta opcja jest przykładem platformy jako usługi (PaaS).
Azure SQL Database
Ta opcja wdrażania usługi Azure SQL udostępnia zawartą bazę danych programu SQL Server obsługiwaną przez wstępnie zainstalowany, bez wersji program SQL Server jako w pełni zarządzaną usługę. Użytkownik zarządza bazą danych, gdy firma Microsoft zarządza bazowym wystąpieniem, platformą i infrastrukturą SQL. Ta opcja jest również przykładem platformy jako usługi (PaaS).
Usługa SQL Managed Instance z obsługą usługi Azure Arc
Wystąpienie zarządzane SQL z obsługą usługi Azure Arc jest podobne do usługi Azure SQL Managed Instance. Ma podobne funkcje i możliwości zarządzania. Celem usługi SQL Managed Instance z obsługą usługi Azure Arc jest zapewnienie takich samych możliwości platformy co usługa (PaaS) i środowiska platformy Azure, podczas gdy klient wybiera infrastrukturę i zarządza nią przy użyciu platformy Kubernetes.
Porównanie funkcji
Aby zrozumieć możliwości usługi SQL Managed Instance z obsługą usługi Azure Arc, ważne jest, aby zapoznać się z jej podstawowymi funkcjami, opcjami wdrażania i integracją z platformą Azure.
Podstawowe funkcje
Ponieważ wystąpienie zarządzane SQL z obsługą usługi Azure Arc jest oparte na akomponecie programu SQL Server, zapewnia podstawowe funkcje niemal 100% zgodne z programem SQL Server i usługą Azure SQL Managed Instance. Wystąpienie zawiera zgodny interfejs języka T-SQL oraz wszystkie funkcje zabezpieczeń, wydajności i dostępności. Więcej informacji na temat funkcji wystąpienia zarządzanego SQL z obsługą usługi Azure Arc można dowiedzieć się w dokumentacji firmy Microsoft.
Podobnie jak w przypadku wystąpienia zarządzanego usługi Azure SQL, podczas wdrażania wystąpienia zarządzanego SQL z obsługą usługi Azure Arc uzyskasz wstępnie zainstalowany bez wersji program SQL Server. Wystąpienie zarządzane SQL z obsługą usługi Azure Arc używa obrazów kontenerów z rejestru Microsoft Container Registry (MCR).
Usługa Azure SQL Managed Instance używa serwerów bramy do abstrakcji aplikacji z podstawowych szczegółów łączności. Usługa SQL Managed Instance z obsługą usługi Azure Arc zapewnia również abstrakcję połączeń przy użyciu usług Kubernetes LoadBalancer lub NodePort.
Warstwy usług
Podobnie jak usługa Azure SQL Managed Instance, można wdrożyć wystąpienie zarządzane SQL z obsługą usługi Azure Arc z dwiema opcjami wdrażania nazywanymi warstwami usług:
Ogólnego przeznaczenia — jak sama nazwa wskazuje, ta warstwa usługi dotyczy większości obciążeń. Ta warstwa usługi ma limit zasobów, takich jak rdzeń i pamięć, ale zapewnia wbudowaną wysoką dostępność za pośrednictwem platformy Kubernetes i magazynu udostępnionego. Wystąpienia w warstwie ogólnego przeznaczenia są mapowana na funkcje obsługiwane w programie SQL Server Standard Edition.
Krytyczne dla działania firmy — ta warstwa usługi jest przeznaczona dla obciążeń wymagających najlepszej wydajności i najwyższego poziomu dostępności. Ta warstwa usługi nie ma limitów pamięci lub rdzeni i używa grup dostępności do zapewnienia wysokiej dostępności z skalowaniem odczytu w poziomie. Wystąpienia w warstwie Krytyczne dla działania firmy są mapowana na funkcje obsługiwane w programie SQL Server Enterprise Edition.
Obie warstwy usług są rozliczane na podstawie rdzenia, ale także obejmują możliwość korzystania z licencjonowania Korzyść użycia hybrydowego platformy Azure i opcji dewelopera bez ponoszenia kosztów. Krytyczne dla działania firmy warstwa usługi jest obecnie w wersji zapoznawczej, więc nie ponosi żadnych opłat za użycie. Więcej informacji na temat warstw usług można uzyskać w dokumentacji firmy Microsoft.
Integracja z platformą Azure
Podczas wdrażania wystąpienia zarządzanego usługi Azure SQL można zintegrować z platformą Azure rozliczenia, użycie, metryki i dzienniki. Ponadto możesz użyć interfejsów platformy Azure, takich jak portal, w celu wdrożenia i skonfigurowania wystąpienia zarządzanego Azure SQL.
Integracja z platformą Azure dla wystąpienia zarządzanego SQL z obsługą usługi Azure Arc zależy od używanego trybu połączonego.
Integracja z platformą Azure jest obsługiwana automatycznie z bezpośrednim trybem połączenia za pośrednictwem agentów usługi Azure Arc i kontrolera danych usługi Azure Arc. Interfejsy platformy Azure, takie jak witryna Azure Portal, mogą służyć do wdrażania i konfigurowania.
Jeśli używasz trybu połączonego pośredniego, minimalna ilość danych musi zostać wysłana na platformę Azure do celów rozliczeniowych. Opcjonalnie możesz wyeksportować dane, takie jak metryki i dzienniki. Wdrażanie i konfiguracja za pośrednictwem witryny Azure Portal nie jest obsługiwane w trybie połączenia pośredniego. Interfejsy, takie jak interfejs wiersza polecenia platformy Azure i narzędzie kubectl, mogą być jednak używane do wdrażania i konfigurowania.
Porównanie możliwości zarządzania
Ponieważ wystąpienie zarządzane SQL z obsługą usługi Azure Arc jest usługą zarządzaną, warto porównać możliwości zarządzania z usługą Azure SQL Managed Instance. W poniższych sekcjach porównaliśmy aparat bez wersji, wdrożenie i konfigurację, monitorowanie, wysoką dostępność, odzyskiwanie po awarii i możliwości migracji.
Bez wersji
Jedną z zalet korzystania z usługi Azure SQL Managed Instance jest wyeliminowanie konieczności poprawiania i aktualizowania programu SQL Server, systemu operacyjnego i dowolnego oprogramowania platformy. Aparat usługi Azure SQL Managed Instance jest często określany jako bez wersji, ponieważ nie istnieje pojęcie wersji głównej, jak w przypadku programu SQL Server. Wystąpienie jest stale aktualizowane zgodnie z potrzebami w przypadku poprawek oprogramowania lub nowych funkcji.
Wystąpienie zarządzane SQL z obsługą usługi Azure Arc używa również aparatu bez wersji, dzięki czemu aktualizacje można stosować automatycznie w razie potrzeby za pomocą zaktualizowanych obrazów kontenerów. Dostępność jest utrzymywana przy użyciu możliwości platformy Kubernetes, aby zatrzymać i uruchomić nowe kontenery.
Wdrażanie i konfiguracja
Wdrożenie wystąpienia zarządzanego SQL z obsługą usługi Azure Arc jest łatwym procesem deklaratywnym, podobnie jak usługa Azure SQL Managed Instance. Podczas wdrażania wystąpienia zarządzanego SQL z obsługą usługi Azure Arc można określić: warstwę usługi, limity rdzenia i pamięci, specyfikacje klasy magazynu i opcje konfiguracji SQL, takie jak sql Server Agent, sortowanie i flagi śledzenia.
W trybie bezpośredniego połączenia można wdrożyć usługę SQL Managed Instance z obsługą usługi Azure Arc w witrynie Azure Portal. W trybie połączenia pośredniego można wdrożyć usługę SQL Managed Instance z obsługą usługi Azure Arc przy użyciu interfejsu wiersza polecenia platformy Azure (przy użyciu rozszerzenia arcdata), narzędzia kubectl lub usługi Azure Data Studio.
Poza wystąpieniem SQL można również skonfigurować usługę SQL Managed Instance z obsługą usługi Azure Arc w trybie bezpośredniego połączenia przy użyciu witryny Azure Portal. W trybie połączonym opcje można skonfigurować poza wystąpieniem SQL za pomocą interfejsu wiersza polecenia platformy Azure lub narzędzia kubectl.
W wystąpieniu SQL standardowe interfejsy programu SQL Server, takie jak sp_configure, ALTER SERVER CONFIGURATION i ALTER DATABASE, mogą służyć do konfigurowania opcji wystąpienia i bazy danych.
Monitorowanie
Podobnie jak usługa Azure SQL Managed Instance, można monitorować wystąpienie zarządzane SQL z obsługą usługi Azure Arc przy użyciu usługi Azure Monitor pod kątem kluczowych metryk. Lokalnie w klastrze można również używać wbudowanego monitorowania za pomocą pulpitów nawigacyjnych narzędzia Grafana dla węzłów lub wystąpienia SQL.
Dzienniki dla wystąpienia zarządzanego SQL z obsługą usługi Azure Arc są dostępne do wyświetlenia w witrynie Azure Portal za pośrednictwem analizy dzienników. Lokalnie w klastrze można również używać wbudowanych dzienników z narzędziem Kibana.
Ponieważ usługa SQL Managed Instance z obsługą usługi Azure Arc jest oparta na programie SQL Server, standardowe pliki ERRORLOG są dostępne do wyświetlania błędów SQL i szczegółów wystąpienia. Usługa SQL Managed Instance z obsługą usługi Azure Arc obsługuje również wszystkie dostępne dynamiczne widoki zarządzania (DMV) i zdarzenia rozszerzone.
Wysoka dostępność
Jedną z zalet korzystania z usługi zarządzanej, takiej jak wystąpienie zarządzane SQL z obsługą usługi Azure Arc, jest wbudowana w wysoką dostępność. Podobnie jak usługa Azure SQL Managed Instance, metoda używana do osiągnięcia wysokiej dostępności zależy od warstwy usługi.
W przypadku warstwy usługi Ogólnego przeznaczenia wbudowana wysoka dostępność zestawu StatefulSets platformy Kubernetes jest używana z magazynem udostępnionym.
W przypadku warstwy usługi Krytyczne dla działania firmy wbudowana wysoka dostępność jest udostępniana przy użyciu kombinacji zestawów Stanowych Kubernetes i zawsze włączonych replik grupy dostępności programu SQL Server. Repliki grupy dostępności są automatycznie wdrażane i konfigurowane dla użytkownika. Podobnie jak usługa Azure SQL Managed Instance, replika tylko do odczytu jest dostępna do odciążania obciążeń odczytu. Systemowe bazy danych, takie jak master i model, są częścią grupy dostępności. Obiekty na poziomie systemu, takie jak zadania agenta SQL, będą automatycznie dostępne po zdarzeniu trybu failover.
Moduły LoadBalancers i NodePorts platformy Kubernetes zapewniają abstrakcję połączenia dla aplikacji, jeśli wystąpienie zostanie przeniesione w klastrze. Ponadto punkt abstrakcji połączenia tylko do odczytu jest udostępniany dla warstw usług Krytyczne dla działania firmy.
Ponieważ firma Microsoft zarządza kompletną platformą i infrastrukturą usługi Azure SQL Managed Instance, użytkownicy uzyskują korzyści z umowy dotyczącej poziomu usług (SLA). Ponieważ klienci muszą zarządzać infrastrukturą usługi SQL Managed Instance z obsługą usługi Azure Arc, klient jest właścicielem dowolnej umowy SLA i zarządza nią.
Odzyskiwanie po awarii
Podobnie jak usługa Azure SQL Managed Instance, usługa SQL Managed Instance z obsługą usługi Azure Arc udostępnia automatyczny system tworzenia kopii zapasowych baz danych, w tym przywracanie do punktu w czasie. Użytkownicy mogą ręcznie wykonywać COPY_ONLY kopii zapasowych i przywracać je w dowolnym momencie.
Użytkownicy konfigurują żądany cel punktu odzyskiwania (RPO) i okres przechowywania. Te ustawienia określają, jak często są wykonywane kopie zapasowe dziennika transakcji i jak długo są przechowywane kopie zapasowe.
Usługa Azure SQL Managed Instance zapewnia wbudowaną nadmiarowość kopii zapasowych przy użyciu usługi Azure Storage. Użytkownicy usługi SQL Managed Instance z obsługą usługi Azure Arc mogą skonfigurować określoną klasę magazynu Kubernetes do użycia na potrzeby tworzenia kopii zapasowych SQL, ale są odpowiedzialni za wszelkie potrzeby nadmiarowości.
Migracja
Ponieważ wystąpienia zarządzane SQL z obsługą usługi Azure Arc używają aparatu programu SQL Server, istniejące wersje programu SQL Server można migrować przy użyciu kopii zapasowej i przywracania bazy danych. Bazy danych można przywrócić bezpośrednio z usługi Azure Storage lub kopiując lokalną kopię zapasową do kontenera dla usługi SQL Managed Instance.
Interfejsy dla wystąpienia zarządzanego SQL z obsługą usługi Azure Arc
Do zarządzania wystąpieniem i tworzeniem aplikacji można używać następujących interfejsów z usługą SQL Managed Instance z obsługą usługi Azure Arc:
SQL Server Management Studio (SSMS)
Program SQL Server Management Studio (SSMS) jest w pełni zgodny z wykonywaniem zapytań i zarządzaniem usługą SQL Managed Instance z obsługą usługi Azure Arc.
Azure Data Studio (ADS)
Azure Data Studio (ADS) to wieloplatformowe narzędzie, które umożliwia wykonywanie zapytań i zarządzanie wystąpieniem zarządzanym SQL z obsługą usługi Azure Arc. Usługa ADS obsługuje zapytania korzystające z języka T-SQL wraz z notesami języka T-SQL. Ponadto można użyć rozszerzenia ADS Azure Arc do tworzenia zasobów usług danych z obsługą usługi Azure Arc i zarządzania nimi, takich jak kontroler danych, wystąpienie zarządzane SQL i serwer PostgreSQL (wersja zapoznawcza).
Narzędzia wiersza polecenia SQL
Narzędzia wiersza polecenia SQL, takie jak sqlcmd i bcp, są obsługiwane w przypadku wystąpienia zarządzanego SQL z obsługą usługi Azure Arc.
Azure Portal
Jeśli używasz trybu bezpośredniego połączenia, możesz tworzyć, wyświetlać i zarządzać usługami danych z obsługą usługi Azure Arc w witrynie Azure Portal. Ponadto w przypadku przekazywania danych przy użyciu trybu połączenia pośredniego możesz wyświetlić szczegóły wystąpienia zarządzanego SQL z obsługą usługi Azure Arc w witrynie Azure Portal.
Interfejs wiersza polecenia platformy Azure
Możesz użyć rozszerzenia arcdata z wieloplatformowym interfejsem wiersza polecenia platformy Azure (CLI), aby tworzyć, wyświetlać i zarządzać usługami danych z obsługą usługi Azure Arc, takimi jak SQL Managed Instance. Interfejs wiersza polecenia platformy Azure może być używany tylko w trybie połączenia pośredniego w celu wdrożenia wystąpienia zarządzanego SQL z obsługą usługi Azure Arc. Interfejs wiersza polecenia platformy Azure to podstawowy interfejs do przekazywania rozliczeń, metryk i dzienników w przypadku korzystania z trybu połączenia pośredniego.
kubectl
Możesz użyć wieloplatformowego interfejsu wiersza polecenia kubectl do tworzenia, wyświetlania i zarządzania usługami danych z obsługą usługi Azure Arc, w tym usługi SQL Managed Instance. Interfejs wiersza polecenia platformy Azure jest preferowanym interfejsem wiersza polecenia do użycia z usługą SQL Managed Instance z obsługą usługi Azure Arc, ale do tworzenia zasobów i zarządzania nimi można używać plików yaml z narzędziem kubectl. Narzędzie Kubectl może być używane tylko w trybie połączenia pośredniego w celu wdrożenia wystąpienia zarządzanego SQL z obsługą usługi Azure Arc. Istnieją pewne scenariusze, takie jak edytowanie domyślnej konfiguracji przywracania do punktu w czasie, co wymaga użycia narzędzia kubectl.
Sterowniki SQL
Możesz użyć dowolnego obsługiwanego sterownika programu SQL Server, aby połączyć się i wykonywać zapytania względem wystąpienia zarządzanego SQL z obsługą usługi Azure Arc. Obsługa sterowników jest dostępna dla popularnych języków programowania, takich jak C#, Java, Node.js, PHP, Python i Ruby.