Warum NoSQL? Wann macht der Einsatz von NoSQL Datenbanken Sinn?

  • Published on
    15-Apr-2017

  • View
    617

  • Download
    3

Transcript

Warum NoSQL?Warum NoSQL? Von Mario BrianaProduct A Dedicated Infrastructure (database + search engine)Product BProduct CCompany DataIndustry DataFilingsReportsDer Begriff NoSQL stammt aus 1998Not Only SQLBestrebung Daten ohne Einschrnkungen des relationalen Modells zu speichern1Relationale Datenbanken COPYRIGHT 2015 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED. SLIDE: # Relationale Datenbanken waren die Sulen der Software Architektur der letzten 25 Jahre.Ihre Bedeutung ist immer noch sehr hoch. Sie werden in allen Industrien eingesetzt und sind wichtige Bestandteile vieler mission critical Lsungen.Transaktionssicherheit schtzt vor Datenverlust. Im Clusterverbund wurden relationale Datenbanken zu einer ausfallsicheren Instanz der Enterprise Architektur.Sie waren eine Revolution nach der Mainframe Zeit, welche durch starre, hierarchische Datenbanken gekennzeichnet waren.Mit den relationalen Datenbanken wurde eine gemeinsame Abfragesprache SQL eingefhrt und nun war es mglich mehrschichtige Client Server oder Browser basierte Architekturen zu entwickeln.2Schema beim Schreiben & LesenNormalisierung um Redundanzen zu vermindern1:1, 1:Many, Many:ManyObjekt-relationale UnvertrglichkeitDaten ObjekteNeue Daten => neues ModellSkalierbarkeitRelationale Datenbanken COPYRIGHT 2015 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED. SLIDE: # Was sind die Hauptmerkmale von relationalen DatenbankenDie Reprsentation der Daten erfolgt ber Tabellen und deren Beziehungen zueinander. Der Relationalitt.Um Redundanzen zu vermeiden und teuren Festplatten Speicherplatz einzusparen werden die Daten normalisiert.Die hat Auswirkungen auf die Art und Weise wie Daten geschrieben, upgedatet und gelscht werden. Um Daten schreiben zu knnen muss ein Schema mit Relationen, referrentieller Intigritt uvm. entwickelt werden.Dies muss vor der eigentlichen Entwicklungsarbeit begonnen werden.Fr Software Entwickler und Architekten tritt damit ein Problem auf, welches in Englisch Impedance Mismatch genant wird.Die objekt-relationale Unvertrglichket. Dies bedeutet, dass die Objekte, die entwickelt werden nie dem Datenmodell und desseen Relationalitt entsprechen.Um mit diesem Problem umzugehen werden Tools eingesetzt oder es kommen Datenbank Experten zum Einsatz, die ber die Integritt der Datenbank wachen.Wenn sich die Anforderungen an die zu speichernden Daten durch vernderte Geschftprozesse, Regularien oder Gesetze ndern muss das Modell gendert werden.Dies ist in vielen Projekten ein groer Kostenfaktor, da es viel Zeit fr die Modellierung und dann weitere Entwicklungsarbeit erfordert. Typische Beispiele sind Integrations- oder Datawarehouse Projekte.3ProfilKontakt DatenErfahrungEmpfehlungenMedia COPYRIGHT 2015 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED. SLIDE: # Sehen wir uns mal ein Beispiel auf LinkedIn an.Sie sehen hier die Profilinformationen von Grady Booch einem international renommierten Architekten aus der Gang of Four.KLICKKontaktinformationen KLICK Berufserfahrung KLICK und Empfehlungen anderer LinkedIn Mitglieder sind auch Bestandteil der Daten von Grady Booch.Die Heterogenitt der Daten ist sehr gut erkkenbar und es wird deutlich das dies eher einem Dokument bzw. eingebetteten Dokumenten entspricht als Tabellen.KLICKAuch binre Daten sind heterogener Bestandteil Informationen ber Grady Booch.Schauen wir uns im nchsten Slide mal an, wie diese Daten in einem relationalen Modell gespeichert werden:KLICK4IDMEMBER_NAMEAGEORG_ID12Grady Booch59442133Neeraj Gupta23934348Jose Cordova37115IDORG_SHORT_NMORG_FULL_NMORG_TYPEORG_STATE115SunSun Microsystemscorporation09442IBM CE LabInternational Business Mcorporation22934StanfordStanford UniversityEducational09IDST_ABBRST_NAME09CACalifornia22HIHawaii33TXTexasIn welchem Staat wohnt Grady Booch? COPYRIGHT 2015 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED. SLIDE: # SELECT ST_NAMEFROM TABLE JOIN TABLE JOIN TABLEWHERE MEMBER_NAME = Grady BoochUm die Frage, in welchem Staat wohnt Grady Booch zu beantworten mssen Tabellen ber sog. Joins in einer Abfrage verbunden werden.Die Daten wurden duch den Normalisierungsprozess aus Ihrem Kontext gerissen und mssen fr die Beantwortung der Frage wieder zusammengesetzt werden.Klick5Heterogene Daten sind eine echte Herausforderung COPYRIGHT 2015 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED. SLIDE: # Ein relationales Modell, wie hier dargestellt ist kein schwieriges Unterfangen, wenn man mit einer Softwareentwicklung und Modellierung beginnt.nderungen der Anforderungen an die Daten bzw. Verarbeitungsprozesse lassen die Komplexitt schnell anwachsen und es ist Realitt, dass ein Model Solche (KLICK) Dimensionen annehmen kann. Es ist offensichtlich, dass es schwierig sein wird ber einen lngeren Zeitraum ein solches Modell anzupassen.Heterogene Daten sind eine echte Herausforderung fr relationale Datenbanken.Somit sind wir bei der Frage Warum NoSQL? angekommen.6NoSQL DatenbanktypenKey-ValueAmazon Dynamo, RiakDokumentenorientierte MarkLogic, CouchDB, MongoDBGraphenNeo4j, OrientDBSpaltenorientierteCassandra, BigTable, SimpleDB COPYRIGHT 2015 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED. SLIDE: # Aufgrund unterschiedlichster Anforderungen vor allem groer Internetfirmen wie Amazon, Google oder Facebook wurden in den letzenJahren NoSQL Datenbanken fr unterschiedliche Einsetzzwecke entwickelt.Amazon hat beispielsweise festgestellt, dass sie fr Ihren weltweiten Warenkatalog und den Warenkorb kommerzielle relationale System nicht verwenden konnten.Google bentigte fr deren Geschftsmodelle ebenso nicht-relationale Lsungen wie auch Facebook mit hunderten von Millionen Mitgliedern und deren unterschiedlichen Daten.In diesem Webcast gehen wir nher auf die Dokumentorientierte Datenbank von MarkLogic ein.7NoSQL DatenbanktypenKey-ValueAmazon Dynamo, RiakDokumentenorientierte MarkLogic, CouchDB, MongoDBGraphenNeo4j, OrientDBSpaltenorientierteCassandra, BigTable, SimpleDB COPYRIGHT 2015 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED. SLIDE: # Aufgrund unterschiedlichster Anforderungen vor allem groer Internetfirmen wie Amazon, Google oder Facebook wurden in den letzenJahren NoSQL Datenbanken fr unterschiedliche Einsetzzwecke entwickelt.Amazon hat beispielsweise festgestellt, dass sie fr Ihren weltweiten Warenkatalog und den Warenkorb kommerzielle relationale System nicht verwenden konnten.Google bentigte fr deren Geschftsmodelle ebenso nicht-relationale Lsungen wie auch Facebook mit hunderten von Millionen Mitgliedern und deren unterschiedlichen Daten.In diesem Webcast gehen wir nher auf die Dokumentorientierte Datenbank von MarkLogic ein.8Dokumentenmodell hierarchische BaumstrukturProfileNameContact InfoEmailExperienceCompanyPositionJobNameStateRecommendation COPYRIGHT 2015 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED. SLIDE: # Wenn Sie sich an das Beispiel von Grady Booch erinnern, werden Sie beim NoSQL dokumentenbasierten Ansatz feststellen, dass die Daten in einer Baumstruktur gespeichert werden.9 Grady Booch grady@booch.com grady@ibm.com IBM CE Lab HI IBM Fellow Grady is awesome In welchem Staat wohnt Grady Booch?Dokumente sind human readable (xml)Die Daten sind selbstbeschreibend und Ihre Kontext ist klar und auch von normalen Menschen lesbar. Somit ist es sehr leicht, die Frage in welchem Staat wohnt Grady Booch zu beantworten.In diesem Beispiel sehen sie die Daten im XML Format reprsentiert.MarkLogic indiziert sowohl den Inhalt der Daten als auch die Elemente, die sie beschreiben.KLICK10{ "profile": { "name": "Grady Booch", "contactInfo": { "emails": ["grady@booch.com", "grady@ibm.com"] }, "jobs": [{ "current": true, "company": { "name": "IBM CE Lab", "state": "HI" } "position": "IBM Fellow", "recommendation": "Grady is awesome" }] }}In welchem Staat wohnt Grady Booch?Dokumente sind human readable (json)Die Indizierung macht die Dokumente leicht durchsuchbar. Hier eine Reprsentation der Daten im JSON Format.Der Kontext und die Durchsuchbarkeit reduzieren den Aufwand fr Modellierung sehr deutlich.Die Informationen liegen als Dokumente in de-normalisierter Form vor. Somit ist der Aufwand die Daten zu Verfgung zu stellen deutlich geringer.11The Beauty of NoSQLFlexibles DatenmodellEinlesen der Daten (Ingest as is)Suchen und Abfragen COPYRIGHT 2015 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED. SLIDE: # The Beauty of NoSQL lst das Problem heterogene Daten unterschiedlichster Art in die Datenbank so wie sie sind aufzunehmen und durchsuchbar zu machen.In MarkLogic werden die Daten whrend der Transaktion nicht nur gespeichert sondern auch indiziert und somit vor Datenverlust geschtzt als auch eine schnelle und effiziente Such ermglicht.12Iterativer ProzessSuchen & AbfragenIngest as isAnwendungMarkLogic ist Schema flexibel COPYRIGHT 2015 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED. SLIDE: # Mit MarkLogic ist der Entwicklungsprozess iterativ. Die Daten werden mit geringem Modellierungsaufwand in die Datenbank aufgenommen und nach den Anforderungen der Anwendung indiziert und abfragbar gemacht.Der Anwendungsschicht stehen verschieden Schnittstellen zur Verfgung. Bestandteil des Application Server von MarkLogic sind REST Endpoints fr das Erstellen und Manipulieren sowie das Suchen und Auffinden der Dokumente. Die Formate der Ergebnisse und die Metadaten zur Suche knnen als XML oder JSON geliefert werdenDie empfohlene Architektur von MarkLogic ist eine mehrschichtige Architektur mit Middleware. Die durchgehende Verwendung von Javascript vonClient bis Server mit Frameworks wie beispielsweise Angular am Client und die Verwendung von Javascript im Middletier wie beispielsweise Node.js wird durch MarkLogic emglicht. Javascript ist aber auch eine wichtige Option als Server seitige Abfragesprache. Selbsverstndlich sind Schnittstellen fr Java als auch .NET weitere ebenso wichtige Schnittstellen.Das NoSQL Modell, die Daten wie sie sind aufzunehmen wird of als Schema agnostic oder auch als Schema flexibel bezeichnet. Heterogene Daten sind ohne Schema aufnehmbar und indizierbar, dennoch ist es mglich, wenn dies den Anforderungen der Anweunge entspricht auch ein Schema anzuwenden. In jedem Fall profitiert die Anwendung von der Tranksations und Ausfallsicherheit von MarkLogic, dennn 13The Only Enterprise NoSQL DatabaseACID TransaktionenHochverfgbarkeit und Disaster Recovery Horizontale Skalierbarkeit und ElastzittSicherheitSkalieberakeit und ElastitzittSemantische DatenCloud VerfgbarketSEARCHDATABASEAPPLICATION SERVICES COPYRIGHT 2015 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED. SLIDE: # MarkLogic ist die einzige Enterprise NOSQL Datenbank auf dem Markt.Dies hat vor kurzem auf die Firma Gartner in Ihrem Magic Quadrant fr Datenbank Management System festgellt. MarkLogic wurde nach der KundenbefragungAls einzige NoSQL Hersteller im Leading Quadranten gelistet. MarkLogic ist nicht nur eine Datenbank sondern auch eine Suchmaschine und stellt auch Application Server Funktionen wie z.b. REST zur Verfgung.Hochverfgbarkeit und Elastizitt sind Fhigkeiten die in verschiedenen Industrien im Einsatz sind. Die reicht von Compliance Anwendungen bei Banken und Versicherungen bis hin zuMedienanwendungen, wie sie bei den Olympischen Spielen 2012 in London mit enormen Datenmengen verfgbar gemacht wurden.MarkLogic ist schon seit 14 Jahren auf dem Markt und ACID Transaktionen waren von Version 1 im Produkt. Die berwiegende Anzahl von Enterprise Funktionen sind seit vielen Jahren im Produkt und bei unseren Kunden im Einsatz.Chris Lindblad der Grnder von MarkLogic ist Suchexperte und seine Idee war vom ersten Tag an, nicht nur Dokumente durchsuch- und abfragbar zu machen, sondern auch exakte Ergebnisse ohneDatenverlust zur Verfgung zu stellen, welche die Wertschpfung aus den gespeicherten Daten auf einer saklierbaren und sicheren Plattform ermglicht.ACID und MVCC (kein Update in place) -> lock free read no global write locksCAP theorem wiki dont go there14Situation vor MarkLogicPDF COPYRIGHT 2015 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED. SLIDE: # Sehen wir uns einmal eine typische Situation bei einem Kunden an, wenn in einem Integrations Szenario mit relationalen Datenbanken gearbeitet werden muss.Im Unternehmen gibt es verschiedene Quellen mit heterogenen Daten, die integriert werden sollen, um ein Geschftsproblem zu lsen. Um die verschiedenen Datenquellen mit den unterschiedlichen Formaten verarbeiten zu knnen mssen sich die technischen Projektbeteiligten auf einDatenmodell einigen. Die Aufnahme der heterogenen Daten wird durch aufwendiges Extrahieren, Transformieren und Laden (ETL) bewerkstelligt. Jede Vernderung des Geschftsmodells, die eine vernderte Datenhaltung erfodert verlangt auch dessen Anpassung und die des ETL Prozesses.15Situation Mit MarkLogic Darum NoSQL! COPYRIGHT 2015 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED. SLIDE: # Bank1:real-time 24/7/365 single, unified, and accurate view of derivatives trades, the Bank:Replaced 20 Sybase databases with a single MarkLogic databaseAchieved a dramatic reduction in maintenance costs: 1 system versus 20, 1 DBA versus 5-10Is seeing an ability to develop and deploy new software more quicklyBank2:The Bank built an equity research authoring and delivery solution based on MarkLogic ServerMarkLogic enabled the Bank to offer clients up-to-date research on global developments ahead of the competition in their preferred delivery method. The firm achieved efficiency beyond its expectations. Development cycles shrunk to 3 to 4 weeks from 6 to12 months. More users are served with less infrastructure requirements. The single platform reduced total cost of ownership (TCO) by at least 50% over legacy technologies.Mit MarkLogic konnten zum Beispiel auf einer Handlesplatform fr Derivate einer unserer Investment Bank Kundendie Kosten fr Wartung des System deutlich gesenkt werden, da statt 20 verschiedenen Systeme zu betreiben nur noch eine Platform betrieben werden muss.Die MarkLogic Platform ermglicht der Bank schneller Lsungen zu entwickeln und zur Verfgung zu stellen und somit den sich verndernden Regularien und Geschftsprozessen anzupassen.Beispielsweise wurden die Entwicklungszyklen von 6-12 Monaten auf 3 bis 4 Wochen verkrzt. Es konnten mehr Nutzer mit weniger Infrastrukturaufwand bedient werden.16MarkLogic Architecture COPYRIGHT 2015 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED. SLIDE: # Hier nochmal ein berblick ber die Architektur von MarkLogic Server, der in der Version 8 zur Verfgung steht.Neben den zentralen Services fr das Suchen und Indizieren stehen auch Services fr Sicherheit, Kontrolle und Monitoring bereit.Neben den bereits gezeigten Datenformaten XML und JSON knnen sowohl semantische als auch Geodaten gespeichert werden. Fr Anwendungen, die Geoinformationen verarbeiten - stehen umfangreiche Funktionen und Indizes zur VerfgungEine weiteres untersttzes Datenformat sind sogenannte RDF (Resource Description Format) Triples oder auch semantische Daten. Die Speicherung semantischer Informationen erlaubt es zu definieren, ob es sich beispielsweise bei dem Begriff Bremen um den Namen der Stadt oder vielleicht eines Schiffs oder den Nachnamen einer Person handelt. Darberhinaus ist es mglich semantische Schlussfolgerungen zu ziehen. Beispiel: Wenn Herr Meyer in Berlin lebtt und Berlin in Deutschland ist > lebt Herr Meyer in DeutschlandNeben der umfgangreichen Palette an Szenarien fr die effiziente Speicherung heterogener Daten ist auch der Kostenfaktor fr die Skalierung ein wichtiges Element, welchem die Architektur Rechnung trgt. Es ist mglich die Daten auf Medien mit differenzierter Kostenstruktur entsprechend ihres Verwendungszwecks zu speichern. Dies heist, Daten im stndigen Zugriff werden auf schnellen Medien mit kurzem Zugriffsweg gespeichert, whrend archivierte Daten auf konstengnstigen Medien ausgelagert werden.17Geospatial SupportFull-textSearchFlexible IndexesNative JSONStoreNative XML Store Real-time Alerting Native RDF Triple StoreBitemporalTiered StorageFully TransactionalServer-side JavaScript Hadoop and HDFSCloudReady (AWS)SQL SupportScalable and ElasticMarkLogic Content PumpREST APISamplestackAd-hoc QueriesSchema AgnosticXA Transactions24/7EngineeringSupportLDAP and KerberosSecuritySecurity Certifications ConfigurationManagementMonitoring and ManagementPerformance at scaleCustomizable FailoverCustomizable BackupAtomic ForestsPoint-in-time RecoveryACIDTransactionsIndex Across Data TypesFlexible ReplicationSemantic InferenceMulti-OS SupportPOWERFULAGILETRUSTEDMarkLogic / Enterprise NoSQL Database Platform14 years of developmentOrange ML8MarkLogic ist seit dem Jahr 2001 auf dem Markt und viele der Enterprise Funktionen wie ACID Transaktionen sind vom ersten Release an im Produkt enthalten. MarkLogic ist eine integrierte Platform fr das Speichern, Suchen von heterogenen Daten und ein Applikationsserver mit modernen Schnittstellen.Mit MarkLogic 8 wurden wichtige neue Funktionen hinzugefgt, um den Anforderungen und Wnschen unserer Kunden und Partner gerecht zu werden. Einige dieser Funktionen werden wir in weiteren Webcasts nher vorsellen.Man muss keine zustzlichen Produkte kaufen, um bestimme Funktionalitt zu bekommen.18What WILL you reimagine?Mehr informationen erhalten Sie:marKlogIc.com / info@marklogic.comVielen Dank fr Ihre Aufmerksamkeit19The Only Enterprise NoSQL DatabaseSearch & QueryACID TransactionsHigh Availability / Disaster RecoveryReplicationGovernment-grade SecurityScalability & ElasticityOn-premise or Cloud DeploymentHadoop for Storage & ComputeSemanticsFaster Time-to-ResultsSEARCHDATABASEAPPLICATION SERVICES COPYRIGHT 2015 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED. SLIDE: # MarkLogic ist schon seit 14 Jahren auf dem MarktACID war von Version 1 im ProduktDie berwiegende Anzahl von Funktionen sind seit vielen Jahren im Produkt und bei unseren Kunden im EinsatzACID und MVCC (kein Update in place) -> lock free read no global write locksCAP theorem wiki dont go there20