Politik

Google vidareutvecklar Big Data, från GFS och Map Reduce till Caffeine, Pregel och nu Dremel

Big Data, dvs den data-intensiva värld som har uppstått när all information och alla data nu digitaliseras och alla gamla pappersarkiv datoriseras skapades av Silicon Valley-företaget Google här i Silicon Valley år 2004.

Och grundbulten är en distribuerad sökteknik MapReduce: Simplied Data Processing on Large Clusters som beskrevs av Googles Jeffrey Dean och Sanjay Ghemawat i ett document på länken ovan som publicerades i december 2004, alltså för snar åtta år sen.

Dean och Ghemawat beskrev hur man kunde använda ett stort antal billiga datorer i ett distribuerat filsystem som Googles GFS för att snabbt kunna söka efter information på nätet.

MapReduce is a programming model and an associated implementation for processing and generating large data sets. Users specify a map function that processes a key/value pair to generate a set of intermediate key/value pairs, and a reduce function that merges all intermediate values associated with the same intermediate key. Many real world tasks are expressible in this model, as shown in the paper.

Programs written in this functional style are automatically parallelized and executed on a large cluster of commodity machines. The run-time system takes care of the details of partitioning the input data, scheduling the program’s execution across a set of machines, handling machine failures, and managing the required inter-machine communication. This allows programmers without any experience with parallel and distributed systems to easily utilize the resources of a large distributed system.

Det var GFS, Googles distribuerade databas NyTeknik – Senaste nytt,
Computer Sweden 20 senaste nyhet, Computer Sweden 20 senaste nyhet, News“>BigTable och MapReduce som blev grunden för Googles makalösa framgångar.

Sen kom den öppna kodversionen av MapReduce, Apache Hadoop som på några korta år lade grunden till Big Data-åldern, en veritabel teknologisk revolution som kan liknas vid industrialiseringen på 1700 och 1800-talet.

Men Google har allt annat än vilat på lagrarna och i augusti 2009 rapporterade man om en ny sökningsarkitektur som gick under kodnamnet Caffein, en ny sökarkitektursom har utformats för att kunna göra det möjligt att söka efter snabbt uppdaterad information från bl.a. Facebook och Twitter. Och med Caffein så flyttade Google till stor del över från sitt tidigare indexeringssystem MapReduce och GFS till det nyare Caffein.

Ovanpå Caffein har Google sen lagt Pregel en s.k. Grafdatabas som gör det möjligt att beskriva data som har relationer till andra data. Det klassiska exemplet, som gav upphov till grafteorin är den store schweiziske matematikern Leonhard Eulers uppsats om Königsbergs sju broar från år 1732. En graf-version av Big Table om man så vill.

Men det är inte allt. Ovanpå Pregel har man sen lagt Dremel som gör det möjligt att snabbt som attan söka och få fram resultat från dagens realtidswebb: Dremel: Interactive Analysis of WebScale Datasets

Dremel has been in production since 2006 and has thousands of users within Google. Multiple instances of Dremel are deployed in the company, ranging from tens to thousands of nodes. Examples of using the system include:

    
  1. Analysis of crawled web documents.
    
  2. Tracking install data for applications on Android Market.
    
  3. Crash reporting for Google products.
    
  4. OCR results from Google Books.
    
  5. Spam analysis.
    
  6. Debugging of map tiles on Google Maps.
    
  7. Tablet migrations in managed Bigtable instances.
    
  8. Results of tests run on Google’s distributed build system.
    
  9. Disk I/O statistics for hundreds of thousands of disks.
    
  10. Resource monitoring for jobs run in Google’s data centers.
    
  11. Symbols and dependencies in Google’s codebase.

Wireds Cade Metz skriver om Googles Dremel i en viktig artikel: Google’s Dremel Makes Big Data Look Small

Dremel is a way of analyzing information. Running across thousands of servers, it lets you “query” large amounts of data, such as a collection of web documents or a library of digital books or even the data describing millions of spam messages. This is akin to analyzing a traditional database using SQL, the Structured Query Language that has been widely used across the software world for decades. If you have a collection of digital books, for instance, you could run an ad hoc query that gives you a list of all the authors — or a list of all the authors who cover a particular subject.

“You have a SQL-like language that makes it very easy to formulate ad hoc queries or recurring queries — and you don’t have to do any programming. You just type the query into a command line,” says Urs Hölzle, the man who oversees the Google infrastructure.

The difference is that Dremel can handle web-sized amounts of data at blazing fast speed. According to Google’s paper, you can run queries on multiple petabytes — millions of gigabytes — in a matter of seconds.

Dremel kommer inte att ersätta MapReduce utan att komplimentera det, för alla data oå webben förändras inte sekund för sekund. Men Dremel kommer att få klara sociala konsekvenser över hela världen. Det kommer t.ex. att bli allt svårare för diktaturer att kontrollera befolkningar som har tillgång till realtidssök, något vi redan ser i Mellanöstern och Kina. Och i Sverige kommer pressen från befolkningen för regeringen att öppna sina arkiv för att förhindra skandader som den kring Tillväxtverket och Annie Lööfs Näringsdepartementet att växa lavinartat.

Sist men inte minst, inte heller att förglömma är Googles Tengig, som är en implementation av MapReduce i SQL-språket: Tenzing A SQL Implementation On The MapReduce Framework

Tenzing is a query engine built on top of MapReduce for ad hoc analysis of Google data. Tenzing supports a mostly complete SQL implementation (with several extensions) combined with several key characteristics such as heterogeneity, high performance, scalability, reliability, meta-data awareness, low latency, support for columnar storage and structured data, and easy extensibility. Tenzing is currently used internally at Google by 1000+ employees and serves 10000+ queries per day over 1.5 petabytes of compressed data. In this paper, we describe the architecture and implementation of Tenzing, and present benchmarks of typical analytical queries.

För den som känner till NoSQL-rörelsen kan det komma som något av en överraskning att SQL-nu gör en återkomst. Men det har visat sig mycket svårt att söka efter ostrukturerad data, så istället förvandlar man ostrukturerad data till strukturerad data och sen kör man SQL ovanpå det.

Om det här ger intrycket av en oerhört snabb utveckling på Big Data eller rådataområdet så är det alldeles riktigt. Och som vi kan så är det Google som håller i trådarna och är helt dominerande på det här viktiga området.

Pressklipp:

NyTeknik – Senaste nytt, Computer Sweden 20 senaste nyhet, Computer Sweden 20 senaste nyhet, News

[tags]Online Privacy , Cybersecurity , Internet , Big Data , Data , Nstic , Privacy , Trust Framework , Technology News, Big Data Hadoop, Hadoop, NoSQL, NoSQL Big Data, Big Data Analytics, Google Map Reduce, Amazon Dynamo DB, Cloudera, Hortonworks, MapR[/tags]