Skip to main content

MIGRACE SYSTÉMU SWD PRM Z MYSQL DO ORACLE

By 7 ledna, 202114 července, 2021Mobilní, Služby

V loňském roce jsme provedli migraci systému podpory velení polských záchranných zdravotnických služeb (SWD PRM) z MySQL na Oracle. Systém byl nasazen do 37 lékařských dispečinků. Zjistěte více o výzvách migrace a architektuře řešení.

Systém podporuje všechna tísňová volání, která vyžadují lékařské týmy. SWD PRM je první systém v polském zdravotnictví, který úspěšně umožnil centralizovanou správu každého dispečinku lékařské péče a více než 1 500 sanitek v zemi.

MySQL nebo Oracle?

Systém byl spuštěn v roce 2016 a doposud pracoval na databázi MySQL. V loňském roce bylo rozhodnuto o migraci systému na Oracle – proč?

  • Oracle je považován za databázi pro robustné systémy
  • Vlastník systému (National Medical Rescue Monitoring Center) převzal odpovědnost za správu své databáze spolu s migrací
  • Řešení založené na MySQL bylo náchylné k selhání replikace dat

Migrace systému tohoto významu, který pracuje v produkci, může být obtížné:

  • Systém musí udržovat nejvyšší spolehlivost a kontinuitu provozu. Ve všech ohledech musel systém vyvinutý na MySQL nyní fungovat na Oracle.
  • Bezproblémový přechod z MySQL na Oracle byl absolutní nutností – nebyl zde prostor pro výpadky systému. Záchranná lékařská služba funguje 24 hodin denně bez jakýchkoli přestávek, a tak by měl fungovat i systém.
  • Bylo třeba přenést velké množství dat – přibližně 2 TB.
  • Změny v architektuře systému.

Výzvy a to, jak jsme je překonali

Ve verzi systému běžícího na MySQL byla ve vrstvě serveru použita architektura dvou národních center pracujících v režimu aktivní-aktivní. Každé z národních center umístěných v různých městech zvládlo provoz z aplikace v celém Polsku a data mezi databázemi byla automaticky replikována. V řešení založeném na databázi Oracle byla na úrovni databáze přijata aktivní pasivní architektura pomocí Oracle Data Guard. Museli jsme provést změny základních struktur systému.

Databáze MySQL a Oracle lze obecně považovat za podobné: obě jsou relační databáze SQL. Ale na úrovni podrobných technických řešení jsou to dvě zcela odlišné platformy. Velice se liší v syntaxi samotného jazyka SQL i v mnoha dalších aspektech – například v metodě generování identifikátorů objektů.

Jednou z výzev byl vhodný výběr konfiguračních parametrů databáze Oracle, které určují výkon a stabilitu databázového stroje. Bylo to ještě obtížnější, protože parametry nebylo možné vybrat experimentálně. Systém musel být od začátku konfigurován tak, aby přijímal plný produkční provoz z celého Polska. Od okamžiku změny produkčního prostředí nebylo možné databázi zastavit nebo měnit.

Od MySQL po Oracle

Zvládli jsme všechny výzvy – systém byl převeden do produkce v srpnu 2020. Po zastavení systému běžícího na MySQL, po pouhých 20 minutách, začali uživatelé pracovat na systému běžícím na Oracle. Systém fungoval téměř na 100 % od prvního okamžiku. Jakékoli poruchy byly nekritické a rychle odstraněny.

Během následujících několika dní naši experti sledovali a analyzovali systém na nové platformě. Několik prvků vyžadovalo optimalizaci, aby se minimalizovalo zatížení. Zajímavé je, že i když je Oracle pokročilejší systém, MySQL zpracovával některé typy dotazů rychleji, bez speciální optimalizace. Do dvou týdnů jsme implementovali nezbytné změny a vylepšení – jak v databázi (spouštěče, procedury a indexy), tak na aplikačních serverech Wildfly, komunikujících s databází pomocí technologie Hibernate.

Úspěšná migrace

Projekt se nám podařilo zrealizovat za 6 měsíců. Byla to jedna z největších výzev systému SWD PRM, která vyžadovala spolupráci mnoha specialistů: administrátoři databází, softwaroví architekti a testeři, kteří se museli ujistit, že systém pracuje při plném zatížení produkce na 100 %. Další týdny stabilní a spolehlivé práce prokázaly, že jsme dosáhli cílů projektu!

Pokud vás zajímají další podrobnosti o migraci MySQL-Oracle nebo systému podpory příkazů pro polské záchranné služby – kontaktujte nás!