DRYING UP THE DATA SWAMP - Uni Stuttgart · •SchwerpunkteBig Data und Cloud Architekturen...
Transcript of DRYING UP THE DATA SWAMP - Uni Stuttgart · •SchwerpunkteBig Data und Cloud Architekturen...
DRYINGUPTHEDATASWAMPVernetzungvonDatenmittelsiQser GINServer
FlorianPfleiderer
Dryingupthedataswamp 2
• SolutionEngineerbei dibuco• Schwerpunkte BigDataundCloudArchitekturen• Erfahrungen inderProduktentwicklung
• Berater für Entwicklung einer BigDataMiddleware• Produkt GINServer(=GlobalInformationNetwork)
Agenda
Dryingupthedataswamp 3
1 Warumeigentlich„DataSwamp“?
2 GINServerals Lösung
3 Herausforderung Big DataEntwicklung
4 LessonsLearned
Warumeigentlich„DataSwamp“?DieIdeedesDataLakestelltUnternehmeninderPraxisvorgroßeHerausforderungen.OftmalsverkommternachundnachzumDataSwamp.
DegenerationdesDataLake• HeterogeneDatenauszahllosenQuellenkönnennichtverstandenwerden• Datenqualitätistnichtbekannt• OhnegemeinsamesSchemaistesoftschwierig,Anfragenzustellen• GängigeTechnologienbietennichtimmerguteLösungen• FirmenglaubenzuUnrecht,siehättenihreDatenunterKontrolle
Dryingupthedataswamp 5
Daten,Daten,Daten...
Dryingupthedataswamp 6
GINServeralsLösung
Daten,Daten,Daten...Verknüpfungen?
Dryingupthedataswamp 8
GINServer• RepräsentationderQuelldatenals„Content“imGINServer• DatenwerdenanderQuelleinpassendesFormatgebracht• SimplesFormat:Herkunft,(Meta-)Attribute,Volltext
• Verknüpfungen(Statements)zwischenContentssind• gerichtet• begründet• gewichtet
Dryingupthedataswamp 9
GINServer• VerknüpfungunterschiedlicherDatenaufBasisvon• TextMiningVerfahren• StatistischenAnalysen• NLP• ...
• ExtraktionderThemenvonDokumenten
• ErstellungundHarmonisierungeinesMetamodells
Dryingupthedataswamp 10
GINServer
Dryingupthedataswamp 11
Diesel
Feinstaub
Motor
Contract- date- title
Content-Graph KonzeptgraphUIMGraph
Customer- customerID- name
GINServer
Value
Information
Data
• VonDatenzuInformationen• automatischeVerknüpfungdurchAlgorithmeninGINServer• vollautomatischeUnterstützung
• GewinnvonValue(=Wissen?)ausInformation• Queries undkontextbezogeneSuchenindenverknüpftenDaten
Dryingupthedataswamp 12
Drying up the data swamp
13
HerausforderungenBigData– BigComplexity
EntwicklungderArchitektur• Vor„BigData“• MonolithischeArchitektur,relationaleDatenbank• keineSkalierbarkeit• UnzähligeJoins
• DererstegroßeSchritt• Microservice-Architektur• Batch-Processing(hadoop)• GraphDatenbank(TitanDB)• =>SehrvielgrößereDatenmengenbeherrschbar
Dryingupthedataswamp 15
EntwicklungderArchitektur:ErkannteProbleme• StreamingProblemstellung– BatchLösung🌩
• OptimierungenüberwiegendamBatchImport,VernachlässigungdesrestlichenSystems• BatchesalsLösungfürjedesProblem• LangeWartezeitenbisDatenänderungenimSystemsind
• AusführungsdauervonBatcheswirdzunehmendlänger• TeilweiseSystemstillstandnotwendigfürBatchläufe
• Hadoop alsTechnologieerfordertspezielleKenntnissevonDev undOps
Dryingupthedataswamp 16
EntwicklungderArchitektur:ErkannteProbleme
• ImVorausberechneteStatementswerdenalleabgespeichert• EnormeAnzahlanVerknüpfungenverbrauchtvielFestplattenspeicher• Datenbankabfragenwerdenzunehmendlangsamer• SuperknotenkönnendasSystemlahmlegen
Dryingupthedataswamp 17
EntwicklungderArchitektur:ErkannteProbleme
• GroßeSünde:GemeinsamePersistenzderServices• erzeugtdortimmenseLast• unsereigenerkleinerDataSwamp• Serviceskönnensichnichtunabhängigentwickeln
• KomplexitätfürDeployment undKonfigurationwächstexponentiell• KomplexitätverhindertabeinemgewissenPunktweitereSkalierung• WartungfürdasDeployment wirdimmerteurer
Dryingupthedataswamp 18
Lessons Learned
EntwicklungderArchitektur:Lessons learned
Dryingupthedataswamp 20
Verarbeitung im Batch Verarbeitung imStream
Verknüpfungen speichern Verknüpfungen berechnen
Gemeinsame Persistenz Unabhängige Services
Betrieb aufdem HostSystem Betrieb imContainer
EntwicklungderArchitektur– StatusQuo• EineStreaming-LösungfüreinStreaming-Problem💡
• (Vor-)verarbeitung derDatenimStream• UmsetzungdesDatenimportsmitApacheStorm• KontinuierlicheVerarbeitungmachtErgebnisseschnellerabfragbar
• DasSystemkanndurchgehendlaufen• BeiBedarfkönnenzuStoßzeitenleichtweitereRessourcenhinzugenommenwerden
• StormalsTechnologieauchananderenStellenalsnurbeimImport
Dryingupthedataswamp 21
EntwicklungderArchitektur– StatusQuo• Ad-hocBerechnungderVerknüpfungen• Speicherplatzproblem:gelöst• NurnochSpeicherungvonstatistischenInformationen• BerechnungsdauerfürVerknüpfungengeringeralsDB-Abfragezeiten
• KeineAngstvorRedundanz!
Dryingupthedataswamp 22
EntwicklungderArchitektur– StatusQuo• WeitererAusbauderMicroservice Archtitektur• ermöglichtbessereSkalierung• unabhängigeWeiterentwicklungderServiceswirdmöglich• LastaufdiePersistenz(en!)verteiltsichsehrvielbesser
• Containerisierung• Deployment umeinvielfacheseinfacherundbeherrschbarer• ZentralesManagementmachtKonfigurationwesentlichsimpler• GroßeHilfefürSkalierbarkeit
Dryingupthedataswamp 23
EntwicklungderArchitektur– Fazit• TechnologienmüssenpassendzudenProblemenausgewähltwerden• VieleProblemesindStreamingProbleme
• VieleneueTechnologienimMarkt,dievieleserleichtern
• Aber:DieseLösungenkommenmiteigenenFallstricken
Dryingupthedataswamp 24
VIELEN DANKFÜR IHREAUFMERKSAMKEIT
Franz-SchubertStraße [email protected]
Quellen• MicrosoftOfficeProdukt-Logos:WikimediaCommons (Rezonansowy,©Microsoft)• AdobePDFLogo:AdobeWebsite(©Adobe)• Hadoop Logo:@hadoop onTwitter(https://twitter.com/hadoop)• StormLogo:@ApacheStorm onTwitter(https://twitter.com/ApacheStorm)• TitanDataModel:TitanDokumentation(http://s3.thinkaurelius.com/docs/titan/current/data-model.html)
Dryingupthedataswamp 26