Mechanizmy wysokiej dostępności relacyjnych baz danych w CoudPortal.pl
Wszystkie aplikacje udostępnianie w CloudPortal ze względu na elastyczną architekturę platformy w dużym stopniu wykorzystują dodatkowe usługi. Rozproszone systemy plików, bazy SQL i NOSQL, usługi kolejkowania, pamięci podręczne sesji i wiele innych mają zagwarantować szeroką gamę możliwości dla tworzonych i udostępnianych przez platformę rozwiązań.

Ze względu na konieczność zapewnienia wysokiej dostępności i skalowalności rozwiązania udostępnianie w CloudPortal muszą spełniać najwyższe standardy dotyczące niezawodności i bezpieczeństwa oraz umożliwiać łączenie wielu instancji usług w klastry.
Usługą, która ma zagwarantować największy poziom funkcjonalności dla większości istniejących na rynku aplikacji pisanych dla różnych platform jest MariaDB 10. Jest to najnowsza i najbardziej zaawansowana wersja popularnej relacyjnej bazy danych MariaDB. Z jednej strony usługa oferuje kompatybilność z odpowiednimi wersjami MySQL, co sprawia, że aplikacje, które były tworzone na ten silnik bazodanowy, nie powinny mieć problemu z przejściem na MariaDB. Z drugiej strony w porównaniu z MySQL dodaje wiele nowych funkcjonalności, niezbędnych w najbardziej zaawansowanych scenariuszach aplikacji webowych. W przypadku MariaDB dostępność i skalowalność jest zaimplementowana poprzez technologię klastrową i replikację danych na wiele serwerów, co zapewnia wyeliminowanie jednego punktu awarii i rozłożenie obciążenia na wiele serwerów.
Wysoka skalowalność MariaDB jest uzyskiwana dzięki:
- równoległej replikacji typu Slave – kompatybilny z MySQL 5.6 mechanizm replikacji, ale gwarantujący uruchomienie równolegle wielu transakcji w ramach jednej bazy, co zapewnia czterokrotne przyspieszenie sprawności replikacji;
- wieloźródłowej replikacji – umożliwia replikację danych do bazy Slave z wielu serwerów Master. W przypadku, kiedy dane są składowane na wielu serwerach (wiele baz danych, wiele aplikacji, shardy), MariaDB udostępnia mechanizm replikacji tych danych do jednego źródła w celu np. archiwizacji lub analizy;
- globalnemu identyfikatorowi transakcji – zapewnia nadawanie zdarzeniom w hierarchii replikacyjnej między wieloma domenami unikalnego identyfikatora, co gwarantuje, że mechanizm replikacji w wysoce skalowalnym środowisku udostępnia przetwarzanie transakcji spełniających założenia ACID;
- silnikowi składowania Spider – silnik składowania z wbudowaną obsługą shardów, wspierający partycjonowanie i transakcje rozproszone ma umożliwić przechowywanie danych na wielu instancjach serwera i serwowanie ich tak, jakby to była jedna instancja. Umożliwia wykonywanie wydajnych, równoległych i wieloserwerowych zapytań;
- silnikowi składowania TokuDB – zintegrowany z MariaDB TokuDB wykorzystuje zaawansowane mechanizmy indeksowania i kompresji danych, które umożliwiają dużo szybsze wykonywanie operacji modyfikujących dane, w dużym stopniu redukując opóźnienia w procesie replikacji baz slave;
- ulepszonemu partycjonowaniu tabel – kontrolowanie partycjonowania danych na poziomie aplikacji pozwala na podejmowanie decyzji przez aplikację, w jaki sposób tabela jest przechowywana w wielu plikach i na wielu serwerach dla zapewnienia większej wydajności i skalowalności.
Aplikacje utrzymywane na platformie CloudPortal łączą się z usługą bazy danych za pośrednictwem dodatkowego routera TCP – switchboard. Jest to komponent udostępniający warstwę proxy odpowiedzialną za zagwarantowanie wysokiej dostępności w połączeniach z serwerem MariaBD. Switchboard utrzymuje połączenia klienckie do jednego z węzłów klastra bazodanowego i przełącza je pomiędzy węzłami w przypadku awarii.
Podobne artykuły
Mongo DB: zarządzanie bazą danych w chmurze
Tradycyjne podejście do przetwarzania danych w przypadku systemów zarządzania relacyjną bazą danych nie we wszystkich przypadkach jest najbardziej optymalne. Konieczność przechowywania coraz bardziej rozbudowanych i skomplikowanych danych, oraz próba ich opisania w postaci tabel i relacji może prowadzić do wolnych wielotabelowych zapytań i rozrośniętych indeksów. W niektórych przypadkach, zamiast korzystać z narzędzia uniwersalnego, warto sięgnąć po system specjalistyczny. Jednym z takich systemów oferowanych w CloudPortal jest nierelacyjny system zarządzania bazą danych MongoDB.
Aplikacje Ruby na platformie CloudPortal
CloudPortal jest elastyczną platformą PaaS, która umożliwia tworzenie i utrzymywanie w jednym środowisku aplikacji przygotowanych w najpopularniejszych językach programowania i korzystających z szerokiej gamy usług. Jednym ze wspieranych środowisk uruchomieniowych jest konfiguracja wspierająca aplikacje Ruby, Rack, Rails i Sinatra.
7 powodów dla których warto wybrać CloudPortal jako platformę dla aplikacji
W dzisiejszych czasach korzyści z chmury obliczeniowej wydają się oczywiste. Z cloud computingu mogą również skorzystać firmy tworzące oprogramowanie.