Trace Id is missing
Przejdź do głównej zawartości

Skalowanie w górę a skalowanie w poziomie

Wprowadzenie do skalowalności bazy danych w ramach przetwarzania w chmurze.

Dane, wszędzie dane — co mamy na myśli, kiedy mówimy o skalowalności

Skalowalność w ramach  przetwarzania w chmurze to zdolność szybkiego i łatwego zwiększania lub zmniejszenia rozmiaru lub możliwości rozwiązania IT lub zasobu. Chociaż termin skalowalność może odnosić się do możliwości dowolnego systemu do obsługi rosnącej ilości pracy, gdy mówimy o tym, czy skalować w górę, czy zwiększać skalę w poziomie, często odwołujemy się do baz danych oraz danych — i to wielu danych.

Skalowalność bazy danych to główna kwestia dla deweloperów współczesnych aplikacji. Załóżmy, że nowa aplikacja odniesie sukces i zapotrzebowanie na nią wrośnie, a liczba użytkowników korzystających z niej sięgnie milionów użytkowników na całym świecie. Jedną z najważniejszych możliwości, która pomaga deweloperom aplikacji nadążyć za zapotrzebowaniem i minimalizować przestoje, jest możliwość wydajnego skalowania.

Ta dyskusja na temat różnic między zwiększaniem skali w poziomie i skalowaniem w górę koncentruje się na sposobach, w jakie skalowalność pomaga nam dostosować i obsłużyć ogromną ilość i szerokie spektrum danych, zmieniając woluminy danych i przesuwając wzorce obciążeń — wszystkie generowane w chmurze, na urządzeniach przenośnych, w mediach społecznościowych i systemach danych big data.

Kobieta prezentująca prezentację, gdy inne osoby siedzą na krzesłach i słuchają

Skalowanie w poziomie a skalowanie w górę

Na najbardziej podstawowym poziomie, skalowalność bazy danych można podzielić na dwa typy:

W ramach skalowania w pionie, czyli skalowania w górę albo w dół, zwiększa się lub zmniejsza moc obliczeniową albo bazy danych odpowiednio do potrzeb — zmieniając poziomy wydajności lub używając elastycznych pul baz danych w celu automatycznego dostosowania do wymagań związanych z obciążeniem.

W ramach skalowania w poziomie, czyli zwiększania lub zmniejszania skali w poziomie, dodaje się więcej baz danych lub dzieli się dużą bazę danych na mniejsze węzły, korzystając z podejścia partycjonowania danych nazywanego dzieleniem na fragmenty, którymi można łatwiej i szybciej zarządzać na wielu serwerach.

Skalowanie w górę / w pionie

Skalowanie w pionie jest używane, gdy konieczne jest szybkie reagowanie w celu rozwiązania problemu z wydajnością, którego nie można rozwiązać przy użyciu klasycznych technik optymalizacji bazy danych, takich jak zmiany zapytań lub indeksowanie. Skalowanie w górę jest przydatne do radzenia sobie ze szczytowymi obciążeniami, w których bieżący poziom wydajności nie spełnia wszystkich wymagań. Skalowanie w górę umożliwia dodawanie kolejnych zasobów w celu radzenia sobie z gwałtownymi wzrostami obciążeń. Wówczas, gdy zasoby nie są już potrzebne, skalowanie w dół pozwala wrócić do pierwotnego stanu i zaoszczędzić na kosztach chmury.

Skaluj w górę, gdy:

Skalowanie w poziomie

Deweloperzy aplikacji zaczynają rozważać zwiększenie skali w poziomie, gdy nie mogą uzyskać wystarczającej ilości zasobów dla swoich obciążeń, nawet przy wykonywaniu operacji na najwyższych poziomach wydajności. W przypadku skalowania w poziomie dane są dzielone na kilka baz danych lub fragmentów między serwerami, a każdy fragment można niezależnie skalować w górę lub w dół.

W jaki sposób partycjonowanie danych poprawia skalowalność? Skalowanie pojedynczej bazy danych w górę przez dodanie zasobów, takich jak maszyny wirtualne, prowadzi ostatecznie do osiągnięcia fizycznych ograniczeń sprzętowych. Ponieważ każda z partycji danych jest hostowana na innym serwerze, w przypadku podzielenia danych na wiele fragmentów możliwości skalowania systemu stają się niemal nieograniczone.

Niektóre typy technologii baz danych, w szczególności nierelacyjne bazy danych lub NoSQL, są opracowywane z udziałem unikatowych możliwości skalowania danych w poziomie przez dzielenie bazy danych na fragmenty— co umożliwia obsługę dużych, niepowiązanych, nieokreślonych lub szybko zmieniających się danych.

Niektóre usługi relacyjnych baz danych (SQL), które pierwotnie oferowały usługi skalowania w górę lub w dół, zaczynają oferować atrakcyjne opcje dopasowane do zalet skalowalności nierelacyjnych baz danych. Usługi hiperskalowania, takie jak Hiperskalowanie w usłudze Microsoft Azure SQL Database i Hiperskalowanie w usłudze Azure Database for PostgreSQL umożliwiają użytkownikom szybkie skalowanie magazynu do 100 TB, zapewniają elastyczną, natywną dla chmury architekturę umożliwiającą rozwój magazynu stosownie do potrzeb oraz pozwalają na niemal natychmiastowe tworzenie kopii zapasowych oraz szybkie przywracanie baz danych w ciągu kilku minut.

Skaluj w poziomie, gdy:

Skalowanie automatyczne

Skalowanie automatyczne to proces automatycznego i dynamicznego dopasowywania zasobów w celu spełnienia wymagań dotyczących wydajności systemu. W miarę wzrostu ilości pracy aplikacje mogą potrzebować dodatkowych zasobów w celu utrzymania wymaganych poziomów wydajności lub zaspokojenia rosnącego zapotrzebowania. Jeśli zapotrzebowanie spowalnia i dodatkowe zasoby nie są już potrzebne, możesz zaoszczędzić na wydatkach na chmurę dzięki automatycznej usłudze cofania przydziału nieużywanych zasobów.

Skalowanie automatyczne wykorzystuje elastyczność środowisk hostowanych w chmurze. Zmniejsza koszty ogólne związane z zarządzaniem poprzez ograniczenie konieczności ciągłego podejmowania decyzji przez operatorów systemu dotyczących dodawania lub usuwania zasobów albo sprawdzania wydajności systemu.

Chociaż istnieją dwie główne metody skalowania aplikacji — w pionie lub w poziomie — automatyzowanie skalowania w pionie jest rzadziej używane, ponieważ skalowanie w górę często wymaga tymczasowej niedostępności systemu podczas jego ponownego wdrażania.

Skalowanie automatyczne jest bardziej powszechne w przypadku skalowania w poziomie, ponieważ zwiększanie lub zmniejszanie skali w poziomie oznacza, że wystarczy dodać lub usunąć wystąpienia zasobu, a aplikacja nadal będzie działać bez zakłóceń w miarę aprowizowania nowych zasobów. Jeśli zapotrzebowanie spadnie, zasoby można bezproblemowo wyłączyć i cofnąć ich przydział.

Wielu dostawców systemów opartych na chmurze, na przykład Microsoft Azure, obsługuje automatyczne skalowanie w poziomie.

  • Baza danych to dowolna kolekcja powiązanych ze sobą informacji, które są przechowywane i organizowane w celu łatwiejszego uzyskiwania do nich dostępu oraz zarządzania nimi. Ponieważ nowe dane oraz typy danych są generowane z niesamowitą szybkością, utrzymanie porządku, dostępności i bezpieczeństwa danych staje się wyzwaniem. Systemy zarządzania bazami danych (DBMS), które obejmują warstwę narzędzi do zarządzania, są często używane do obsługi ogromnych ilości danych.

    Stale pojawiają się nowe typy i technologie baz danych dostosowujące się do ogromnych ilości danych generowanych w chmurze, na urządzeniach przenośnych, w mediach społecznościowych i w systemach danych big data.

    Dowiedz się więcej o bazach danych

  • Bazy danych NoSQL, często określane jako nierelacyjne lub "nie tylko" SQL, to zróżnicowany zestaw technologii baz danych, który obsługuje przechowywanie i pobieranie danych inaczej niż tradycyjne, relacyjne bazy danych (SQL).

    Bazy danych NoSQL nie wymagają wstępnie zdefiniowanego schematu i mogą korzystać z wielu modeli danych, co czyni je niezwykle efektywnymi w obsłudze dużych ilości danych bez struktury i skalowaniu projektów baz danych big data.

    Dowiedz się więcej o bazach danych NoSQL

  • PostgreSQL to niezawodna baza danych typu open source znana z niezawodności i integralności danych, która działa wspólnie z zapytaniami dotyczącymi danych relacyjnych i nierelacyjnych. Baza danych PostgreSQL jest powszechnie używana w takich dziedzinach jak usługi finansowe, produkcja, rządowe systemy informacji geograficznych i technologia internetowa. Deweloperzy tworzą aplikacje za pomocą bazy danych PostgreSQL, a administratorzy mają do niej zaufanie w kwestii ochrony danych.

    Dowiedz się więcej o bazie danych PostgreSQL

  • Buforowanie jest typową techniką używaną przez deweloperów i specjalistów IT, której celem jest zwiększanie wydajności i skalowalności systemu. Buforowanie jest możliwe dzięki tymczasowemu kopiowaniu często używanych danych do szybkiego magazynu znajdującego się blisko aplikacji. Jeśli ten szybki magazyn danych znajduje się bliżej aplikacji niż oryginalne źródło, buforowanie może znacznie poprawić czasy odpowiedzi aplikacji klienckich poprzez szybszą obsługę danych. Deweloperzy często projektują aplikacje w taki sposób, aby buforowały przetworzone dane, a następnie ponownie wykorzystywały pamięć podręczną do obsługi żądań szybciej niż w przypadku standardowych zapytań bazy danych.

    Dowiedz się więcej o buforowaniu

  • Dzielenie danych na fragmenty to rodzaj partycjonowania danych poziomych pozwalający na podzielenie dużych baz danych na mniejsze, którymi można szybciej i łatwiej zarządzać na wielu serwerach.

    Dowiedz się więcej o dzieleniu bazy danych na fragmenty

  • Platforma jako usługa, często występująca w skróconej formie jako PaaS, to usługa od dostawcy usług w chmurze oferująca środowisko na żądanie do tworzenia, testowania i dostarczania aplikacji oraz zarządzania nimi. Rozwiązanie platformy jako usługi ułatwia i przyspiesza tworzenie aplikacji internetowych lub mobilnych przez deweloperów bez konieczności radzenia sobie z konfigurowaniem niezbędnej podstawowej infrastruktury serwerów, magazynu, sieci i baz danych oraz zarządzaniem nią.

    Dowiedz się więcej o rozwiązaniach PaaS

Eksplorowanie skalowalności w chmurze za pomocą platformy Azure

Poznaj kompleksowe podejście do skalowania w górę w porównaniu do zwiększania skali w poziomie — takie, które pasuje do Twojego scenariusza w ramach środowisk lokalnych, wielochmurowych i brzegowych. Rodzina usług baz danych platformy Azure oferuje możliwość wyboru w pełni zarządzanych relacyjnych baz danych, baz danych NoSQL i baz danych w pamięci, łącząc zastrzeżone mechanizmy z mechanizmami typu open source, aby spełnić potrzeby nowoczesnych deweloperów aplikacji.

Oszczędzaj czas i pieniądze dzięki zautomatyzowanemu zarządzaniu infrastrukturą obejmującemu rozwiązania do automatyzacji dotyczące skalowalności, dostępności i zabezpieczeń.

Ludzie dyskutują, a laptopy są otwarte

Powiązane produkty i usługi

Azure SQL

Rodzina baz danych SQL w chmurze z elastycznymi opcjami migracji, modernizacji i tworzenia aplikacji.

Azure Cosmos DB

Szybka baza danych NoSQL z otwartymi interfejsami API w dowolnej skali.

Azure PostgreSQL

W pełni zarządzana, inteligentna i skalowalna baza danych PostgreSQL.

Azure SQL Database

Zarządzana, inteligentna baza danych SQL w chmurze.

Azure SQL Managed Instance

Zarządzane i zawsze aktualne wystąpienie SQL w chmurze.

Program SQL Server w usłudze Virtual Machines

Migrowanie obciążeń programu SQL Server do chmury z najniższym całkowitym kosztem posiadania.

Azure Database for MySQL

W pełni zarządzana, skalowalna baza danych MySQL.

Azure Maria DB

Zarządzana usługa bazy danych MariaDB dla deweloperów aplikacji.

Azure Cache for Redis

Przyspiesz działanie aplikacji, korzystając z buforowania danych o wysokiej przepływności i małych opóźnieniach.

Wszystko gotowe — załóż bezpłatne konto