Deprecated: Function get_magic_quotes_gpc() is deprecated in /home/homaneeg/public_html/textpattern/lib/constants.php on line 136
General error Warning: Cannot modify header information - headers already sent by (output started at /home/homaneeg/public_html/textpattern/lib/constants.php:136) on line 4706
General error Warning: Cannot modify header information - headers already sent by (output started at /home/homaneeg/public_html/textpattern/lib/constants.php:136) on line 5264
Kolom-georienteerde opslag in SAP HANA | homan.ee

Kolom-georienteerde opslag in SAP HANA

Posted © 2017 - 2026 Erwin Homan

HANA is veel dingen. Een eigen, in-memory, database manager van SAP AG met column store faciliteiten. Met daarbij een aantal nieuw-ontwikkelde componenten voor onder andere ERP, geavanceerde planning, Business Intelligence, Analytics, etcetera.

Wat is bijzonder aan de database manager van SAP HANA? In een ander artikel is de uitdaging bij het ontwerp van moderne database management software beschreven. Het moet op grote gegevensverzamelingen goed werken voor zowel rij- als kolom-georienteerde operaties. Een ERP-applicatie vraagt veel, kleine, rij-georienteerde lees- en schrijf-operaties: een rij opvragen, bewerken en opslaan. Een analytics-toepassing vraagt minder operaties, en leest vooral, maar doet dat op grotere gegevensverzamelingen. Simpel gezegd is de row store vooral geschikt voor Online Transactional Processing (OLTP, zoals ERP) en de column store vooral voor Online Analytical Processing (OLAP, zoals business intelligence).

Nu: Kolom-georienteerde opslag in SAP HANA.

In SAP HANA wordt iedere tabel, naar keuze van de ontwerper van de database, ofwel rij- ofwel kolom-georienteerd aangelegd.

Een kolom-georienteerde tabel wordt echter ook beschikbaar gemaakt in rij-georienteerde vorm. Daardoor kan, afhankelijk van de operatie die door een gebruiker wordt gevraagd, voor het uitvoeren worden bepaald wat de beste manier is om de tabel te benaderen: via de rij- of de kolom-versie.

HANA zorgt zelf dat de rij- en kolom-versies van de tabel gelijk blijven lopen. De kolom-versie is vaak sterk gecomprimeerd. Het bijhouden van twee versies van dezelfde tabel kost desondanks extra opslagcapaciteit. En bij iedere mutatie van gegevens in een kolom-georienteerde tabel (toevoegen, wijzigen of verwijderen) moeten beide versies worden bijgewerkt.

Ingewikkeld? De column store maakt spectaculaire versnelling van queries op grote gegevensverzamelingen mogelijk, bijvoorbeeld de aantallen verkooporderregels per (artikel-gebaseerd) MRP-type.

Het MRP-type is een artikeleigenschap die bepaalt hoe de beschikbaarheid van een artikel gepland moet worden. Het is een eenvoudige code in SAP ERP met meestal enkele tot enkele tientallen mogelijke waarden. Een column store slaat dit op als een rijtje (pointers naar) artikelen per mogelijke waarde van het MRP-type. Hierdoor zijn queries die “artikelen per MRP-type” nodig hebben zeer snel uit te voeren.

Het wordt nog ingewikkelder: delta-stores.

Author
Categories ,