woensdag, januari 21, 2009

Datawarehousing op AWS: simpleDB en ander dbmsen

Cloudcomputing belooft onbeperkte, schaalbare en betaalbare rekencapaciteit en opslag. Dat lijkt een ideaal platform voor een datawarehouse-omgeving. Nu Amazon's Web Service Elastic Compute Cloud (EC2) naar Europa komt, Google's App Engine al weer een aantal maanden in beta is en zelfs microsoft met azure de pc aan het verlaten is, is het hoog tijd om eens kleine verkenning te maken van de analytische capaciteiten van Amazon Web Services, App Engine en Azure. Temeer omdat 2 cloudomgevingen een eigen dbms hebben die enorme hoeveelheden data kunnen verwerken. Voor Amazon is dat SimpleDB en Google heeft zijn Bigtable. In deze post de datawarehouses databases voor Amazon Web Services (AWS) in vogelvlucht. In een volgende post App Engine, Bigtable en de integratietools voor AWS.


Bij AWS betaal je alleen voor het gebruik van processortijd en opslag. Een complete machine huren zoals bij hostingdiensten gebruikelijk is, is niet nodig. Belangrijk om te weten is dat in de gebruikskosten van AWS de licentiekosten al zijn meegenomen.

Databases in de cloud.
Je hebt standaard de keuze uit windows server 2003, verschillende smaken linux en een aantal databases. EC2 ondersteunt Oracle 11g en de Oracle express edition, Mysql, sqlserver standard en express edition en de zelf ontwikkelde simpleDB. Dus zo'n virtuele machine is in principe te richten met alle dwh-componenten van die dbms-en. En dit biedt in potentie de mogelijkheid om data warehouses als managed service aan te bieden, iets wat startup Kognitio al een tijdje probeert.

Oracle
Oracle biedt via het Oracle Cloud Computing Center ondersteuning van Oracle producten, maar Oracle's marketingmachine meldt nog niets over een virtuele voorgeconfigureerde ami (amazon machine image) die geoptimaliseerd is voor datawarehousing. Eigenlijk wil je op AWS een soort Oracle Optimized Warehouse.
"Oracle in the Cloud" AWS Webinar
View SlideShare presentation or Upload your own. (tags: amazon aws)
Full360 is alvast in deel van het gat dat Oracle laat, gesprongen en biedt hostingoplossingen op EC2 voor Oracle EPM (voorheen Essbase). Hun avonturen op EC2 zijn te volgen via het full360-blog. Opvallend is dat Oracle los van AWS een on demand omgeving aanbiedt voor EPM.

Sqlserver
Sinds oktober 2008 zijn windows server en Sql Server beta op EC2. Microsoft biedt nog geen extra ondersteuning voor EC2 en is itt Oracle en Sun-Mysql geen partner van AWS. De publieke ami's (amazon machine images) voor Windows Server 2003 en Sqlserver 2005 standard edition bevat GEEN bi development studio. Je kunt natuurlijk met een eigen licentie een installatie uitvoeren, maar dat doet het kostenvoordeel van AWS weer teniet.

Mysql
Mysql ondersteunt op EC2 de enterprise edition. Dat is dus de betaalde versie en niet de community versie. Bij Mysql staan nog geen expliciete vermeldingen van dwh-toepassingenen in de cloud. Mysql blijft volgens Gartner's MQ voor dwh dbms-en van december 2008 ook steken in het nicheplayerkwadrant.

Vertica
En dan er is ook nog een andere datawarehouse nichespeler, de kolom geƶrienteerde BI database Vertica die een een ondemand versie op EC2 heeft.

Vertica and Amazon Web Services
View SlideShare presentation or Upload your own. (tags: aws vertica)


simpleDB
Een uniek sellingpoint van AWS is de database simpledB. SimpleDB is geen relationele database, maar SimpleDB is supersnel, kan grote datasets aan en is schaalbaar.

An Amazon SimpleDB domain is like a worksheet, items are like rows of data, attributes are like column headers, and values are the data entered in each of the cells. However unlike a spreadsheet, Amazon SimpleDB allows for multiple values to be associated with each “cell” (e.g., for item “123,” the attribute “color” can have both value “blue” and value “red”). Additionally, in Amazon SimpleDB, each item can have its own unique set of associated attributes (e.g., item “123” might have attributes “description” and “color” whereas item “789” has attributes “description,” “color” and “material”).




De querytaal wijkt daarom ook af van SQL, hoewel er ook een SQL-achtige SELECT api aangekondigd is. Hier staat een eenvoudige uitleg over de simpleDb-querytaal. Niet iedereen is het er over eens dat SimpleDB zo'n goed idee is. Niet zo verwonderlijk want s simpleDB is nog Beta. Een sort op queryresultaten is bv later toegevoegd en er ontbreken (nog) aggregatiefuncties zoals 'group by' en 'sum'. Anderen zien simpleDB als een baanbrekende nieuwe technologie.

Mapreduce
EC2 heeft nog een interessante optie voor omvangrijke data-analyses, want het maakt gebruik van Hadoop, de opensource tegenhanger van Google's mapreduce. Greenplum hypet zijn implementatie van mapreduce als een belangrijk verkoopargument. Hadoop is simpel gezegd een manier om grote datasets parallel te verwerken. Door het elastisch kunnen schalen van het aantal processoren verloopt Hadoop erg efficiƫnt op AWS.

Conclusies
Volgens mij valt wel te concluderen dat AWS zeer veelbelovend is als data warehouseomgeving. Het biedt kleine bi-spelers bv de mogelijkheid om dwh-diensten aan te bieden zonder zelf een kostbaar serverpark met dure sofwarelicenties te moeten beheren. Maar de huidige software voor AWS is nog niet rijp genoeg voor serieuze datawarehouse toepassingen.

Bij de huidige sqlserver aanbiedingen van AWS missen bv. de datawarehousefuncties. Zelfs het verkoopapparaat van Oracle maakt nog geen claims en simpleDB is technologisch nog niet geschikt voor dwh-analyses. Maar de ontwikkelingen gaan razendsnel en het zal waarschijnlijk langer duren om bedrijven ervan te overtuigen om strategische bedrijfsdata extern te hosten. En er is nog een ander probleem: hoe krijg je die data naar AWS ge-etled. Daarover meer in een van de volgende posts.

donderdag, januari 01, 2009

Een tegenslag voor het analyseren van openbare datasets

De komst van de petabyte age lijkt helaas een kleine vertraging op te lopen. Google's palimpsestproject aka google research datasets is namelijk gekilled voordat het gelanceerd is.

Het idee was dat Google terabytes aan grote wetenschappelijke datasets op haar servers zou verzamelen en distribueren aan een ieder die deze data zou willen analyseren. De wijze van analyseren van wetenschappelijke data (en in een later stadium bedrijfsdata...?) zou hierdoor volgens kenners dramatisch veranderen. In de slideshow zie je een aantal van die wetenschappelijke projecten. .

De naam Google palimpsest is afkomstig van het Archimedes palimpsest project dat een rechtstreekse kopie van een tekst van Archimedes op perkament aan het ontcijferen is. Die tekst is weggekrast en overschreven met gebeden. Het perkament is verknipt en opnieuw ingebonden als gebedenboek.

Het project wil de data openbaar maken om andere wetenschappers erbij te betrekken. Het probleem is de distributie van meer dan een terabyte aan data. In een Googletechtalk komt dit allemaal ter sprake (het boek de archimedes codex is overigens ook zeer de moeite van het lezen waard).



Waarom Google stopt met google research datasets is niet duidelijk. Opvallend is dat Amazon juist het tegenovergestelde doet en heeft aangekondigd om een aantal grote openbare datasets op haar Amazon Web Services platform te hosten. Catch is dat als je een set wilt analyseren, je zult moeten betalen.

Maar het is voor Amazon's elastic cloud natuurlijk ook een mooie showcase voor ondemand datawarehouses en analyses. Er zijn al een aantal softwarebedrijven die zich richten op datawarehousen in de elastische wolk van Amazon. In een andere post daarover meer..