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
SAP HANA database manager - introductie | homan.ee

SAP HANA database manager - introductie

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? Eerst een algemene introductie.

Krachtiger processoren en geheugenchips met grotere opslagcapaciteit zijn de afgelopen jaren telkens tegen lagere prijzen beschikbaar gekomen. Operating system software is in staat om deze nieuwe mogelijkheden effectief te gebruiken. Daarmee wordt het aantrekkelijk om gegevens-intensieve taken geheel in het werkgeheugen uit te voeren: in-memory computing.

Bij in-memory bewerkingen gaat het er om dat de snelste vorm van geheugen wordt gebruikt die beschikbaar is. Liever een cache op de processor zelf dan het separate RAM-werkgeheugen. En bij voorkeur de snelste van de beschikbare caches. De snelste cache is vaak het kleinst, dus het inzetten van de verschillende vormen van geheugen vraagt een zorgvuldige afweging voor iedere berekening.

Een tweede aspect is de plaats waar gegevens-intensieve berekeningen plaatsvinden: bij voorkeur zo dicht mogelijk bij de gegevens. De database management software zelf, dus. Dat klinkt logisch maar past niet goed bij de traditionele rolverdeling tussen applicatieservers en database server die onderling veel gegevens uitwisselen. Het verplaatsen van de berekeningen naar de database server heet code pushdown.

Wanneer we berekeningen op grote gegevensverzamelingen in-memory op de database server kunnen doen, is het belangrijk dat we de brongegevens efficient kunnen opvragen. Het is daarvoor vaak handiger om een hele kolom van een tabel ineens op te vragen.

Het relationele model voor databases is rij-geörienteerd, en dat is hoe traditionele database management software dan ook werkt. Om een hele tabelkolom efficient ineens te kunnen opvragen hebben we een column store nodig. Dit is een techniek om gegevens zodanig op te slaan dat we efficient toegang hebben tot delen van een kolom, of de hele kolom, ook als het om miljoenen gegevens gaat.

Een column store maakt bepaalde berekeningen op grote gegevensverzamelingen aanzienlijk efficienter. Toch zal een flink deel van de taken die de database management software moet uitvoeren nog steeds rij-georienteerd zijn.

Dit is de uitdaging bij het ontwerp van database management software: 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 traditionele rij-georienteerde organisatie van gegevens vooral geschikt voor Online Transactional Processing (OLTP, zoals ERP) en de column store vooral voor Online Analytical Processing (OLAP, zoals business intelligence).

Later: hoe werkt de column store in SAP HANA?

Author
Categories ,