Return to search

Replikerings- och Klusterlösning för PostgreSQL

Många organisationer världen över är i behov av att förmedla data lagrade i databaser till sina kunder samt ta emot information av kunden som lägger till/tar bort data i databasen. Att kunna ha databastjänsterna tillgängliga åt kunden under olika omständigheter och behandla kundens transaktion mot databasen snabbt är något som gynnar organisationen. Detta är särskilt viktigt för den svenska myndigheten Bolagsverket. För detta ändamål kan flera databaservrar interagera med varandra genom replikering, vilket resulterar i ett serverkluster av flera sammankopplade noder. I arbetet utforskades det om servrar med Postgres kan möta myndighetens behov. Målet med arbetet är att utifrån en skapad sammanställning av vilka områden som önskas utforskas, att demonstrera om Postgres har vad som krävs för att möta områdets kriterier och slutligen utvärdera utfallet av demonstrationen. Arbetet resulterade i tre sammanställda områden, totalt 12 implementationer över samtliga områden sammanlagt samt 6 av dem som mötte de kriterier för det område som behandlades. I arbetet tillämpades för samtliga implementeringar en direkt/indirekt fysisk replikering, som bygger på att en av noderna kan skrivas åt i taget där förändringen replikeras direkt till övriga noder. I samband med implementering användes ett flertal av Postgres tillägg och externa utbyggnader. Det beslutades under arbetets förlopp att endast behandla två av dessa områden fullständigt till förmån för utförlighet. Slutsatsen drogs att för de två områdena som behandlades fullständigt så hade Postgres förmågan att möta kriterierna. Dessutom så drogs slutsatsen att om en implementering avsedd för det tredje området kunde möta de sammanställda kriterierna så har Postgres det som krävs för att möta myndighetens behov. / Many organizations worldwide are in need of conveying data stored in databases to their customers as well as receiving information from the customer who adds/deletes data in the database. Being able to have the database services available to the customer in various circumstances and to process the customers transaction against the database quickly is something that benefits the organization. This is particularly of importance for the authority of the Swedish Companies Registration Office (Bolagsverket). For this purpose, several database servers can interact with each other through replication, resulting in a server cluster of several interconnected nodes. The work explored whether servers with Postgres can meet Bolagsverkets needs. The goal of the work consisted of three parts. To define what areas to explore and related mandatory criterias. Create solutions based on the previous step. And finally demonstrate that Postgres has what it takes to meet the areas criterias. The work resulted in three areas, a total of 12 implementations across all areas combined, in of which 6 of them met the mandatory criterias. In the work, a direct/indirect physical replication was applied in all implementations. In physical replication one of the nodes can be written to at a time, where the change is replicated directly to the other nodes. Within implementation, a number of official and external Postgres tools/extensions were used combined with Postgres base functionality. It was decided during the course of the work to treat only two of these areas in full in favor of extensive work. It was concluded that for the two areas that were fully addressed, Postgres had the ability to meet the criterias. In addition, it was concluded that if an implementation intended for the third area could meet the criterias, then Postgres has what it takes to meet the authority needs.

Identiferoai:union.ndltd.org:UPSALLA1/oai:DiVA.org:miun-51641
Date January 2024
CreatorsEriksson, Jesper
PublisherMittuniversitetet, Institutionen för data- och elektroteknik (2023-)
Source SetsDiVA Archive at Upsalla University
LanguageSwedish
Detected LanguageSwedish
TypeStudent thesis, info:eu-repo/semantics/bachelorThesis, text
Formatapplication/pdf
Rightsinfo:eu-repo/semantics/openAccess

Page generated in 0.0024 seconds