Business Intelligence blog - laatste entry 10-01-2012 - Programmeren anno 2012
Oude mensen, zoals ik, herinneren zich nog hoe je in de zeventiger jaren moest programmeren.We kwame ...
Business Intelligence activiteiten
14 maart 2012, BPMN 2.0 syntax, methodieken en positionering
15 maart 2012, BPMN 2.0 in de praktijk
27 en 28 maart 2012, Masterclass Datawarehousing
19 april 2012, Integratieoplossingen voor Applicaties, Gegevens en Processen
8 mei 2012, BI-event 2012
22 mei 2012, Moderne Databasetechnologie
7 juni 2012, Data Virtualization voor Agile Business Intelligence Systemen
14 juni 2012, Trends in BPM 2012

Business Intelligence poll
BI-poll Intelligente search-technologie zal van grote invloed zijn op traditionele BI.
 
73%
 
23%
 
5%
Business Intelligence vacatures - Array Jobs
Lees meer

Detail
Rick van der Lans 
Rick van der Lans Rick F. van der Lans is onafhankelijk adviseur, docent, auteur en spreker over datawarehousing, business intelligence, applicatie-integratie en databasetechnologie. Hij heeft hij vele grote (inter)nationale bedrijven geadviseerd inzake datawarehouse-architectuur en toolkeuze. Hij is voorzitter van het Independent Analyst Platform en auteur van diverse artikelen in toonaangevende vakbladen en verscheidene boeken, waaronder het populaire SQL Leerboek.

27 juni 2011 - ACID is niet heilig meer

Al tijdens mijn studie, een lange, lange tijd geleden, werd mij geleerd wat een transactie was. In het dikke boek van, wie anders, Chris J. Date getiteld ‘Introduction to Database Systems’ werd uitgelegd dat een transactie uit een aantal database-operaties bestond, zoals insert, update en delete, die allemaal al dan niet uitgevoerd moesten worden. En hier mocht niet mee gesjoemeld worden. En een transactie was pas een transactie als het aan enkele eigenschappen voldeed. Deze vier eigenschappen werden en worden met de afkorting ACID aangeduid. Later meer daar over. Elke zichzelf respecterende database server hoorde dit te ondersteunen. Punt.

De laatste jaren verschijnen er echter steeds meer database servers die wel transacties ondersteunen, maar die niet van ACID uitgaan. Tijdens mijn studie zou dit gelijk hebben gestaan aan vloeken in de kerk. Toch hebben de leveranciers hier een reden voor. Maar laten we bij het begin beginnen.

Waar staat de afkorting ACID ook al weer voor? A(tomicity) betekent dat als een transactie uit enkele database-operaties bestaat én als de database server aangeeft dat de transactie correct verwerkt is, dat alle of geen database-operaties verwerkt zijn. Met C(onsistency) wordt bedoeld dat na het uitvoeren van een transactie de database zich in een correcte toestand moet bevinden. I(solated) wil zeggen dat transacties geïsoleerd uitgevoerd moeten worden. Het mag niet zo zijn dat applicaties elkaars tussenresultaten kunnen zien. Tenslotte, D(urability) heeft te maken met dat het effect van een eenmaal afgeronde transactie permanent moet blijven; ook al gebeuren er rampen zoals het down gaan van de database server, de database-operaties moeten na herstel nog steeds zichtbaar zijn.

Bekende SQL database servers, zoals die van IBM, Microsoft en Oracle, ondersteunen allemaal ACID-transacties. Maar nieuwe database servers als CloudDB en MongoDB niet. Dit heeft alles te maken met schaalbaarheid.

Volgens de Amerikaanse professor Eric A. Brewer willen we allemaal van een database server een zo hoog mogelijk niveau van consistentie, schaalbaarheid en partitietolerantie. Perfecte partititietolerantie wil zeggen dat het systeem pas down is als alle netwerkpartities down zijn. Volgens Brewer bestaan er echter afhankelijkheden tussen deze drie eigenschappen. We kunnen maar twee van de drie eigenschappen verhogen. Dit wordt door hem het CAP (Consistency Availabality Partition Tolerance) principe genoemd. Bijvoorbeeld als we de consistentie van een database server verhogen, verlagen we daarmee waarschijnlijk de schaalbaarheid. Kortom, verhoog je er een, dan verlaag je een ander.

Het zijn vooral consistentie en schaalbaarheid die elkaar in de weg zitten. Bijvoorbeeld, als een database server ACID-transacties ondersteunt, kunnen applicaties elkaar blokkeren en dat kan ertoe leiden dat ze op elkaar gaan wachten. Tevens leidt het tot veel interne administratie voor een database server. Beide kunnen ertoe leiden dat een database server niet de schaalbaarheid haalt die een organisatie nodig heeft. Een oplossing zou dan kunnen zijn dat zo’n organisatie voor een database server kiest die wel de benodigde schaalbaarheid biedt, maar qua transacties wat water bij de wijn doet.

MongoDB van 10gen doet inderdaad water bij de wijn. Hier heeft de ontwikkelaar de keuze wat het consistentieniveau van transacties moet zijn. Er kan bijvoorbeeld aangegeven worden dat de mutaties alleen in het geheugen verwerkt moeten worden en pas later ook op disk. Als er in die tussentijd iets fout gaat, kan die transactie wel verloren gaan. Maar als dat niet het geval is, kunnen er zeer veel transacties per tijdseenheid verwerkt worden. Dus door het consistentieniveau iets te verlagen, kan de schaalbaarheid verhoogd worden. Het blijven dus wel transacties, alleen zijn het geen ACID-transacties meer. Het consistentieniveau is dus verlaagd.

Laten we eerlijk zijn, het is geen ramp als we in bepaalde omgevingen één of enkele transacties verliezen. Neem bijvoorbeeld een applicatie die al het verkeer op een website naar een tabel in een database schrijft. Stel dat er gemiddeld per dag ongeveer tien van deze schrijfoperaties verloren gaan. Is dat echt een ramp? Ik denk het niet.

Sommige omgevingen, zoals bijvoorbeeld de financiële wereld, hebben absoluut ACID-transacties nodig. Maar dit geldt niet voor alle omgevingen. Als we de schaalbaarheid naar een gewenst niveau kunnen verhogen door de consistentie te verlagen, dan is dit wellicht een prima oplossing. Kortom, als ontwerpers moeten we ACID dus niet meer als een gegeven zien, maar als een ontwerpbeslissing. Het wordt tijd dat Chris Date zijn boek hierop gaat aanpassen.
 
Deze column verscheen eerder in Database Magazine 4-2011
 



Permalink | Trackback | Print | E-mail

Reacties op deze blog
Er zijn nog geen reacties.
Reageer
Wilt U een reactie plaatsen op dit bericht? Log dan in op deze website. Heeft U dat nog niet eerder gedaan? Registreer U dan eerst.
Business Intelligence nieuws || alle items 14-02-2012 - Information Builders opnieuw in leiderskwadrant Business Intelligence Platforms
De evaluatie is gebaseerd op ‘Ability to Execute’ en ‘Completeness of Vision’.
Lees meer
Business Intelligence video || alle items
Data Vault

Tijdens het BI-event 2011 vertelt Hans Hultgren , zakenpartner van Dan Linstedt en directeur van de Genesee Academy, over het succes van Data Vault in Nederland.
 
Database Magazine artikelen || alle items || zoeken
Geen leesweergave beschikbaar27-09-2011 - Tom Davenport on Analytics

Wie wil begrijpen waarom er momenteel zoveel aandacht is voor Analytics kan niet om Competing on Analytics heen, het boek dat Tom Davenport en Jeanne Harris in 2007 publiceerden. De vraag hierbij is in hoeverre organisaties daadwerkelijk al met A ... Lees meer

Geen leesweergave beschikbaarWeb Analytics: een ondergeschoven kind?
Geen leesweergave beschikbaarHet datawarehouse geen database meer?
Geen leesweergave beschikbaarIdentificeren, Stimuleren en Organiseren
Geen leesweergave beschikbaarTrends en ontwikkelingen in Business Analytics
Geen leesweergave beschikbaarResultaten Business Analytics Survey
Geen leesweergave beschikbaarCertificaat van Onvermogen
Geen leesweergave beschikbaarBezoekerservaringen op maat
Geen leesweergave beschikbaarPlaatjes halen waarde uit data
BI-Matrix
Categorieën
Organisaties

U kunt ook het selectietraject doorlopen.
Klik hier om het selectietraject te starten.
AnalyticsDB-Matrix
Kenmerken
Producten

U kunt ook het selectietraject doorlopen.
Klik hier om het selectietraject te starten.
ETL-Matrix
Selectiecriteria
Producten

U kunt ook het selectietraject doorlopen.
Klik hier om het selectietraject te starten.
Business Intelligence vacatures - Array Jobs
Lees meer
BI-blogs categorieënGeen categorieën gevonden.
Business Intelligence agenda
28 februari 2012, SAP Innovation Forum
14 maart 2012, BPMN 2.0 syntax, methodieken en positionering
15 maart 2012, BPMN 2.0 in de praktijk
27 en 28 maart 2012, Masterclass Datawarehousing
19 april 2012, Integratieoplossingen voor Applicaties, Gegevens en Processen
Lees meer

Klik hier om een evenement op te voeren.
Business Intelligence sponsors
BI in de nieuwste DB/MIn Database Magazine 4 
  • Het Gouden Record
  • Datakwaliteit heeft baat bij government-model
  • Implementatie datakwaliteit met Six Sigma
  • Dataflux pakt probleem bij de bron aan
  • Met Scrum meer grip op BI-projecten
  • Karien Verhagen reageert op artikel van Fons Pieters 
  • Asymmetrische links in Data Vault (slot)
BI opleidingenGeen opleidingen gevonden.

Klik hier om een opleiding te plaatsen.
Business Intelligence foto
Foto's Bi-Event 2010
Op 17 mei 2011 vond in Intres Hoevelaken het
BI-Event 2011 plaats.

Klik hier voor een korte foto-impressie.