Video: "Untappd" Greg Avola - Talks at Google 2024
Kärnan i en stor datormiljö och lag 2 i den stora databasen är databasmotorerna som innehåller samlingar av dataelement som är relevanta för ditt företag. Dessa motorer måste vara snabba, skalbara och steniga fasta. De är inte alla skapade lika, och vissa stora datormiljöer går bättre med en motor än en annan, eller mer sannolikt med en blandning av databasmotorer.
Till exempel, även om det är möjligt att använda relationsdatabashanteringssystem (RDBMS) för alla dina stora dataimplementationer, är det inte praktiskt att göra det på grund av prestanda, skala eller till och med kostnad. Ett antal olika databassteknologier finns tillgängliga, och du måste vara noga med att välja klokt.
Det finns inget enda rätt val avseende databas språk. Även om SQL är det mest utbredda databasfrågesspråket som används idag kan andra språk ge ett mer effektivt eller effektivt sätt att lösa dina stora datautmaningar. Det är användbart att tänka på motorer och språk som verktyg i en "implementers verktygslåda. "Ditt jobb är att välja rätt verktyg.
Om du till exempel använder en relationsmodell, använder du förmodligen SQL för att fråga den. Du kan dock också använda andra språk som Python eller Java. Det är väldigt viktigt att förstå vilka typer av data som kan manipuleras av databasen och om den stöder sant transaktionsbeteende. Databasdesigners beskriver detta beteende med akronymen ACID. Den står för
-
Atomicitet: En transaktion är "allt eller ingenting" när det är atomärt. Om någon del av transaktionen eller det underliggande systemet misslyckas misslyckas hela transaktionen.
-
Konsistens: Endast transaktioner med giltiga uppgifter kommer att utföras i databasen. Om uppgifterna är korrupta eller felaktiga kommer transaktionen inte att slutföras och data kommer inte att skrivas till databasen.
-
Isolering: Flera samtidiga transaktioner kommer inte att störa varandra. Alla giltiga transaktioner kommer att utföras tills de är färdiga och i den ordning de lämnades för bearbetning.
-
Hållbarhet: När data från transaktionen är skrivna till databasen blir den där "för alltid. "
Motor Frågespråk MapReduce Datatyper Transaktioner Exempel Relationell SQL, Python, C Nej Skrivet ACID PostgreSQL, Oracle, DB / 2 Columnar Ruby Hadoop Fördefinierad och typad Ja, om aktiverad HBase Grafik Walking, Sök, Cypher Nej Untyped ACID Neo4J Dokument Kommandon JavaScript Skrivet Nej MongoDB, CouchDB Nyckelvärde Lucene, kommandon JavaScript BLOB, semityped Nej Riak, Redis
När du förstår dina krav och förstår vilka data du samlar, var du ska sätta och vad att göra med det, du måste organisera det så att det kan konsumeras för analys, rapportering eller specifika applikationer.