SlideShare ist ein Scribd-Unternehmen logo
1 von 42
Introduction to Apache Accumulo




Boulder/Denver BigData Meetup - March 21,2012
Jared Winick
@jaredwinick
Accumulo             /əˈkjuˈmj ʊ/
                            ʊˈlo

1. Sorted, distributed key/value store with
 cell-based access control and
 customizable server-side processing
http://yourmotivational.com/uploads/8604.jpg
Annotation Added
Jeff Dean: Designs, Lessons and Advice from Building Large Distributed Systems
http://www.cs.cornell.edu/projects/ladis2009/talks/dean-keynote-ladis2009.pdf
Enables interactive access to…

       Trillions of records
   petabytes of indexed data
  across 100s-1000s of servers
Short Accumulo History Lesson




            http://www.flickr.com/photos/mr_t_in_dc/4249886990/sizes/l/in/photostream/
2006
2008




http://upload.wikimedia.org/wikipedia/commons/8/84/National_Security_Agency_headquarters%2C_Fort_Meade%2C_Maryland.jpg
2011
2012
Uses of BigTable and Kin
                  (BigTable)                                                                       (HBase)
•Google Analytics1
                                                                                •Messages3,4,6
•Crawl1
                                                                                •Insights5,6
•AppEngine Datastore2
•Many more1



                                 (Cassandra)                                                  (Accumulo)
 •Rainbird (realtime analytics)7
                                                                                •???




1.) http://static.googleusercontent.com/external_content/untrusted_dlcp/research.google.com/en/us/archive/bigtable-osdi06.pdf
2.) http://code.google.com/appengine/articles/storage_breakdown.html
3.) http://www.facebook.com/note.php?note_id=454991608919
4.) http://mvdirona.com/jrh/TalksAndPapers/KannanMuthukkaruppan_StorageInfraBehindMessages.pdf
5.) http://www.facebook.com/note.php?note_id=10150103900258920
6.) http://borthakur.com/ftp/SIGMODRealtimeHadoopPresentation.pdf
7.) http://www.slideshare.net/kevinweil/rainbird-realtime-analytics-at-twitter-strata-2011
Accumulo             /əˈkjuˈmj ʊ/
                            ʊˈlo

1. Sorted, distributed key/value store with
 cell-based access control and
 customizable server-side processing
Multi-dimension Key

                                                       Key


                                                    Column                                          Value
          Row ID                                                                        Timestamp
                              Family                Qualifier              Visibility




http://incubator.apache.org/accumulo/user_manual_1.4-incubating/Accumulo_Design.html
Keys Sorted Lexicographically

Row ID, Column Family, Column Qualifier, Column Visibility, Timestamp




     Everything is a byte[] except the Timestamp which is a long
Physical Layout
                        Key                              Value
Row ID    Col Fam     Col Qual   Col Vis     Time        Value

 Alice   properties     age      public    March 2011     31


 Alice   properties    phone     private    Feb 2011    555-1234


 Alice   purchases     Xbox      public     Feb 2011     $299


 Bob     properties    phone     private   March 2011   555-4321


 Bob     purchases    iPhone     Public     Feb 2011     $399
Queries

      •By exact Key or range of Keys
 •Data is always returned in sorted order




Query Requirements Drive
   Data Model Design
http://incubator.apache.org/accumulo/user_manual_1.4-incubating/Accumulo_Design.html
Hadoop
                              Clients
 MapReduce
                               Read/
   Analytics
                               Write



               Accumulo
                           Configuration/
    Storage
                               State



Hadoop HDFS               Zookeeper
Table
                  Tablets




                            Accumulo

…
 Tablet
 Server
        …   …
              Tablet
             Server
                     …
                             ...          …
                                            Tablet
                                           Server
                                                   …
                                                       Master




 Data
 Node
              Data
              Node
                             ...           Data
                                           Node
                                                       Name
                                                       Node

                            Hadoop HDFS
Table                  Tablet Server Failure
              Tablets



                           1.) Detect Failure
Accumulo
 Tablet
 Server
          Tablet
          Server         ...                    Tablet
                                                Server
                                                           Master




                                                   2.) Reassign




 Data
 Node
          Data
          Node
                         ...                    Data
                                                Node
                                                            Name
                                                            Node

                        Hadoop HDFS
Writes

              Write-
              Ahead                              Accumulo
            Log (WAL)                Tablet Server
             1                          Tablet
                                 2
                                     MemTable
Client




                        Data
                        Node
                               ...               Data
                                                 Node
                                                        Data
                                                        Node

         Hadoop HDFS
Writes

              Write-
              Ahead                              Accumulo
            Log (WAL)                Tablet Server
             1                          Tablet
                                 2
                                     MemTable
Client
                                             3
                                       File 1




                        Data
                        Node
                               ...               Data
                                                 Node
                                                        Data
                                                        Node

         Hadoop HDFS
Compactions

        Minor                     Major

The process of flushing    The process of
a MemTable of a Tablet     combining multiple files
to a single file in HDFS   into a single file
Tablet Splits


• Tablets are split when they reach a max size
• Always split on row boundary
• Master assigns a split Tablet to another Tablet
  server (no data is moved!)
Reads



                                   Accumulo
                   Tablet Server
                                   Tablet

                              MemTable
Client


         File 1   File 1
Accumulo             /əˈkjuˈmj ʊ/
                            ʊˈlo

1. Sorted, distributed key/value store with
 cell-based access control and
 customizable server-side processing
Iterators: Server-side programming




http://wiki.eeng.dcu.ie/ee557/287-EE/version/default/part/ImageData/data/server-side_intro.gif
Iterators



Can be run at:           Can do things like:
•Scan Time               •Aggregation (Combiners)
•Minor Compaction        •Age-Off
•Major Compaction        •Filtering (access control)
                         •Transformation


Push Processing to the Data
Accumulo             /əˈkjuˈmj ʊ/
                            ʊˈlo

1. Sorted, distributed key/value store with
 cell-based access control and
 customizable server-side processing
Access Control


• Every key-value has a visibility label
• Label is defined with boolean operators
• Label is arbitrary and ad-hoc

    Public         Private | Admin   Finance | (HR & Manager)


• Authorizations presented at scan time
• Data is filtered out automatically by system-
  level Iterator
Access Control – Typical Architecture

                                             Trusted Zone



  6.) Return Data                     5.) Return Visible Data
                       Web Server                               Accumulo
1.) Pass Credentials                  4.) Proxy Authorization


                                      3.) Return
                                      Authorizations
                         2.) Lookup
                         User             Enterprise
                                           Identity
                                         Management
Access Control – Typical Architecture

                                               Trusted Zone


                                                                  Accumulo
      6.) Return [6,8]                  5.) Return [6,8]        SECRET&PROJECT X, 6
                         Web Server                             SECRET&PROJECT Y, 8
      1.) PKI Cert                      4.) Proxy Bob’s Auths   SECRET&PROJECT Z, 3

Bob

                                        3.) Auths:[SECRET, UNCLASSIFIED,
                           2.) Lookup   PROJECT X, PROJECT Y]
                           Bob             Enterprise
                                            Identity
                                          Management
Demo
Application Requirements

Build an application to analyze trends in Twitter
messages.

•Query for word/phrase and view real-time activity
in a time series graph
•View at different time ranges (1 day, 7 days, 30
days, etc)
•Allow multiple query terms to compare activity (ex.
Breakfast,Lunch)
•Automatically extract daily trends for the user
Demo Setup/Data
• Twitter Streaming API
• US country codes only messages
• 1,2,3-grams built
• Data since Dec 24 – Live
• Running on average workstation, 1 SATA disk,
  6 GB memory.
• 72GB, 2.6 billion entries and counting
Data Model
• Tweets table
  –   Row ID: n-gram
  –   Column Family: Date Granularity (DAY, HOUR)
  –   Column Qual: Date Value
  –   Value: Count
  –   SummingCombiner (Iterator) used to update Count

   Row ID         Col Fam        Col Qual       Value
  breakfast        DAY          20120318         31
  breakfast        DAY          20120319         56
      …             …               …             …
   lunch           HOUR        2012031801         3
   lunch           HOUR        2012031802         4
Data Model
• Trends table
  – Row ID: (Date Granularity + Date Value)
  – Column Family: (Integer.MAX_VALUE –
    trendScore)
  – Column Qual: n-gram
  – Value: []

  Row ID          Col Fam      Col Qual       Value
DAY:20120318     2147483145     church
DAY:20120318     2147483316    hangover
     …               …            …            …
DAY:20120319     2147476521   the broncos
DAY:20120319     2147477704   tim tebow
MapReduce Analytics
• Utilize MapReduce for building trends
• AccumuloInputFormat reads from tweets
  table
• AccumuloOutputFormat writes to trends
  table
• AccumuloStorage LoadFunc for Pig
  available on github
Summary

•Accumulo exploits locality to enable
interactive access to huge data sets while
adding cell-level access control and server-
side programming
•Nothing in life is free. Accumulo comes with
the complexity and responsibility of
managing a distributed system and designing
indexes on your data
References

• Documentation, Mailing Lists, Links
http://incubator.apache.org/accumulo/


• HBase Shootout
http://www.slideshare.net/cloudera/h-base-and-accumulo-todd-lipcom-jan-25-2012



• Trendulo
https://github.com/jaredwinick/trendulo

Weitere ähnliche Inhalte

Was ist angesagt?

Hadoop Operations - Best Practices from the Field
Hadoop Operations - Best Practices from the FieldHadoop Operations - Best Practices from the Field
Hadoop Operations - Best Practices from the FieldDataWorks Summit
 
SQL on Hadoop: Defining the New Generation of Analytic SQL Databases
SQL on Hadoop: Defining the New Generation of Analytic SQL DatabasesSQL on Hadoop: Defining the New Generation of Analytic SQL Databases
SQL on Hadoop: Defining the New Generation of Analytic SQL DatabasesOReillyStrata
 
cloudera Apache Kudu Updatable Analytical Storage for Modern Data Platform
cloudera Apache Kudu Updatable Analytical Storage for Modern Data Platformcloudera Apache Kudu Updatable Analytical Storage for Modern Data Platform
cloudera Apache Kudu Updatable Analytical Storage for Modern Data PlatformRakuten Group, Inc.
 
Design Patterns for Distributed Non-Relational Databases
Design Patterns for Distributed Non-Relational DatabasesDesign Patterns for Distributed Non-Relational Databases
Design Patterns for Distributed Non-Relational Databasesguestdfd1ec
 
Introduction to Apache Kudu
Introduction to Apache KuduIntroduction to Apache Kudu
Introduction to Apache KuduJeff Holoman
 
Microsoft SQL Server Data Warehouses for SQL Server DBAs
Microsoft SQL Server Data Warehouses for SQL Server DBAsMicrosoft SQL Server Data Warehouses for SQL Server DBAs
Microsoft SQL Server Data Warehouses for SQL Server DBAsMark Kromer
 
Cloudera Impala: A Modern SQL Engine for Apache Hadoop
Cloudera Impala: A Modern SQL Engine for Apache HadoopCloudera Impala: A Modern SQL Engine for Apache Hadoop
Cloudera Impala: A Modern SQL Engine for Apache HadoopCloudera, Inc.
 
Hadoop 101
Hadoop 101Hadoop 101
Hadoop 101EMC
 
Cloudera Impala, updated for v1.0
Cloudera Impala, updated for v1.0Cloudera Impala, updated for v1.0
Cloudera Impala, updated for v1.0Scott Leberknight
 
HiveServer2 for Apache Hive
HiveServer2 for Apache HiveHiveServer2 for Apache Hive
HiveServer2 for Apache HiveCarl Steinbach
 
Hadoop For Enterprises
Hadoop For EnterprisesHadoop For Enterprises
Hadoop For Enterprisesnvvrajesh
 
Applications on Hadoop
Applications on HadoopApplications on Hadoop
Applications on Hadoopmarkgrover
 
February 2016 HUG: Apache Kudu (incubating): New Apache Hadoop Storage for Fa...
February 2016 HUG: Apache Kudu (incubating): New Apache Hadoop Storage for Fa...February 2016 HUG: Apache Kudu (incubating): New Apache Hadoop Storage for Fa...
February 2016 HUG: Apache Kudu (incubating): New Apache Hadoop Storage for Fa...Yahoo Developer Network
 

Was ist angesagt? (20)

Hadoop Operations - Best Practices from the Field
Hadoop Operations - Best Practices from the FieldHadoop Operations - Best Practices from the Field
Hadoop Operations - Best Practices from the Field
 
SQL on Hadoop: Defining the New Generation of Analytic SQL Databases
SQL on Hadoop: Defining the New Generation of Analytic SQL DatabasesSQL on Hadoop: Defining the New Generation of Analytic SQL Databases
SQL on Hadoop: Defining the New Generation of Analytic SQL Databases
 
cloudera Apache Kudu Updatable Analytical Storage for Modern Data Platform
cloudera Apache Kudu Updatable Analytical Storage for Modern Data Platformcloudera Apache Kudu Updatable Analytical Storage for Modern Data Platform
cloudera Apache Kudu Updatable Analytical Storage for Modern Data Platform
 
6.hive
6.hive6.hive
6.hive
 
Design Patterns for Distributed Non-Relational Databases
Design Patterns for Distributed Non-Relational DatabasesDesign Patterns for Distributed Non-Relational Databases
Design Patterns for Distributed Non-Relational Databases
 
Hadoop introduction
Hadoop introductionHadoop introduction
Hadoop introduction
 
1. Apache HIVE
1. Apache HIVE1. Apache HIVE
1. Apache HIVE
 
Apache kudu
Apache kuduApache kudu
Apache kudu
 
Introducing Kudu
Introducing KuduIntroducing Kudu
Introducing Kudu
 
Introduction to Apache Kudu
Introduction to Apache KuduIntroduction to Apache Kudu
Introduction to Apache Kudu
 
Microsoft SQL Server Data Warehouses for SQL Server DBAs
Microsoft SQL Server Data Warehouses for SQL Server DBAsMicrosoft SQL Server Data Warehouses for SQL Server DBAs
Microsoft SQL Server Data Warehouses for SQL Server DBAs
 
Cloudera Impala: A Modern SQL Engine for Apache Hadoop
Cloudera Impala: A Modern SQL Engine for Apache HadoopCloudera Impala: A Modern SQL Engine for Apache Hadoop
Cloudera Impala: A Modern SQL Engine for Apache Hadoop
 
Hadoop 101
Hadoop 101Hadoop 101
Hadoop 101
 
Cloudera Impala, updated for v1.0
Cloudera Impala, updated for v1.0Cloudera Impala, updated for v1.0
Cloudera Impala, updated for v1.0
 
HiveServer2 for Apache Hive
HiveServer2 for Apache HiveHiveServer2 for Apache Hive
HiveServer2 for Apache Hive
 
Hadoop For Enterprises
Hadoop For EnterprisesHadoop For Enterprises
Hadoop For Enterprises
 
Apache hive
Apache hiveApache hive
Apache hive
 
Applications on Hadoop
Applications on HadoopApplications on Hadoop
Applications on Hadoop
 
HDFS Tiered Storage: Mounting Object Stores in HDFS
HDFS Tiered Storage: Mounting Object Stores in HDFSHDFS Tiered Storage: Mounting Object Stores in HDFS
HDFS Tiered Storage: Mounting Object Stores in HDFS
 
February 2016 HUG: Apache Kudu (incubating): New Apache Hadoop Storage for Fa...
February 2016 HUG: Apache Kudu (incubating): New Apache Hadoop Storage for Fa...February 2016 HUG: Apache Kudu (incubating): New Apache Hadoop Storage for Fa...
February 2016 HUG: Apache Kudu (incubating): New Apache Hadoop Storage for Fa...
 

Ähnlich wie Introduction to Apache Accumulo

GOTO 2011 preso: 3x Hadoop
GOTO 2011 preso: 3x HadoopGOTO 2011 preso: 3x Hadoop
GOTO 2011 preso: 3x Hadoopfvanvollenhoven
 
HA Hadoop -ApacheCon talk
HA Hadoop -ApacheCon talkHA Hadoop -ApacheCon talk
HA Hadoop -ApacheCon talkSteve Loughran
 
Above the cloud: Big Data and BI
Above the cloud: Big Data and BIAbove the cloud: Big Data and BI
Above the cloud: Big Data and BIDenny Lee
 
Apachecon Euro 2012: Elastic, Multi-tenant Hadoop on Demand
Apachecon Euro 2012: Elastic, Multi-tenant Hadoop on DemandApachecon Euro 2012: Elastic, Multi-tenant Hadoop on Demand
Apachecon Euro 2012: Elastic, Multi-tenant Hadoop on DemandRichard McDougall
 
App cap2956v2-121001194956-phpapp01 (1)
App cap2956v2-121001194956-phpapp01 (1)App cap2956v2-121001194956-phpapp01 (1)
App cap2956v2-121001194956-phpapp01 (1)outstanding59
 
Inside the Hadoop Machine @ VMworld
Inside the Hadoop Machine @ VMworldInside the Hadoop Machine @ VMworld
Inside the Hadoop Machine @ VMworldRichard McDougall
 
App Cap2956v2 121001194956 Phpapp01 (1)
App Cap2956v2 121001194956 Phpapp01 (1)App Cap2956v2 121001194956 Phpapp01 (1)
App Cap2956v2 121001194956 Phpapp01 (1)outstanding59
 
Big Data/Hadoop Infrastructure Considerations
Big Data/Hadoop Infrastructure ConsiderationsBig Data/Hadoop Infrastructure Considerations
Big Data/Hadoop Infrastructure ConsiderationsRichard McDougall
 
Scaling Big Data Mining Infrastructure Twitter Experience
Scaling Big Data Mining Infrastructure Twitter ExperienceScaling Big Data Mining Infrastructure Twitter Experience
Scaling Big Data Mining Infrastructure Twitter ExperienceDataWorks Summit
 
A gentle introduction to the world of BigData and Hadoop
A gentle introduction to the world of BigData and HadoopA gentle introduction to the world of BigData and Hadoop
A gentle introduction to the world of BigData and HadoopStefano Paluello
 
Hadoop on Azure, Blue elephants
Hadoop on Azure,  Blue elephantsHadoop on Azure,  Blue elephants
Hadoop on Azure, Blue elephantsOvidiu Dimulescu
 
Etu L2 Training - Hadoop 企業應用實作
Etu L2 Training - Hadoop 企業應用實作Etu L2 Training - Hadoop 企業應用實作
Etu L2 Training - Hadoop 企業應用實作James Chen
 

Ähnlich wie Introduction to Apache Accumulo (20)

RuG Guest Lecture
RuG Guest LectureRuG Guest Lecture
RuG Guest Lecture
 
Hadoop Inside
Hadoop InsideHadoop Inside
Hadoop Inside
 
GOTO 2011 preso: 3x Hadoop
GOTO 2011 preso: 3x HadoopGOTO 2011 preso: 3x Hadoop
GOTO 2011 preso: 3x Hadoop
 
HA Hadoop -ApacheCon talk
HA Hadoop -ApacheCon talkHA Hadoop -ApacheCon talk
HA Hadoop -ApacheCon talk
 
Lecture 2 part 1
Lecture 2 part 1Lecture 2 part 1
Lecture 2 part 1
 
Understanding hdfs
Understanding hdfsUnderstanding hdfs
Understanding hdfs
 
Hadoop pig
Hadoop pigHadoop pig
Hadoop pig
 
Above the cloud: Big Data and BI
Above the cloud: Big Data and BIAbove the cloud: Big Data and BI
Above the cloud: Big Data and BI
 
Apachecon Euro 2012: Elastic, Multi-tenant Hadoop on Demand
Apachecon Euro 2012: Elastic, Multi-tenant Hadoop on DemandApachecon Euro 2012: Elastic, Multi-tenant Hadoop on Demand
Apachecon Euro 2012: Elastic, Multi-tenant Hadoop on Demand
 
App cap2956v2-121001194956-phpapp01 (1)
App cap2956v2-121001194956-phpapp01 (1)App cap2956v2-121001194956-phpapp01 (1)
App cap2956v2-121001194956-phpapp01 (1)
 
Inside the Hadoop Machine @ VMworld
Inside the Hadoop Machine @ VMworldInside the Hadoop Machine @ VMworld
Inside the Hadoop Machine @ VMworld
 
App Cap2956v2 121001194956 Phpapp01 (1)
App Cap2956v2 121001194956 Phpapp01 (1)App Cap2956v2 121001194956 Phpapp01 (1)
App Cap2956v2 121001194956 Phpapp01 (1)
 
Understanding Hadoop
Understanding HadoopUnderstanding Hadoop
Understanding Hadoop
 
Introduction to Hadoop
Introduction to HadoopIntroduction to Hadoop
Introduction to Hadoop
 
Big Data/Hadoop Infrastructure Considerations
Big Data/Hadoop Infrastructure ConsiderationsBig Data/Hadoop Infrastructure Considerations
Big Data/Hadoop Infrastructure Considerations
 
Scaling Big Data Mining Infrastructure Twitter Experience
Scaling Big Data Mining Infrastructure Twitter ExperienceScaling Big Data Mining Infrastructure Twitter Experience
Scaling Big Data Mining Infrastructure Twitter Experience
 
HADOOP
HADOOPHADOOP
HADOOP
 
A gentle introduction to the world of BigData and Hadoop
A gentle introduction to the world of BigData and HadoopA gentle introduction to the world of BigData and Hadoop
A gentle introduction to the world of BigData and Hadoop
 
Hadoop on Azure, Blue elephants
Hadoop on Azure,  Blue elephantsHadoop on Azure,  Blue elephants
Hadoop on Azure, Blue elephants
 
Etu L2 Training - Hadoop 企業應用實作
Etu L2 Training - Hadoop 企業應用實作Etu L2 Training - Hadoop 企業應用實作
Etu L2 Training - Hadoop 企業應用實作
 

Kürzlich hochgeladen

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 

Kürzlich hochgeladen (20)

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 

Introduction to Apache Accumulo

  • 1. Introduction to Apache Accumulo Boulder/Denver BigData Meetup - March 21,2012 Jared Winick @jaredwinick
  • 2. Accumulo /əˈkjuˈmj ʊ/ ʊˈlo 1. Sorted, distributed key/value store with cell-based access control and customizable server-side processing
  • 4. Annotation Added Jeff Dean: Designs, Lessons and Advice from Building Large Distributed Systems http://www.cs.cornell.edu/projects/ladis2009/talks/dean-keynote-ladis2009.pdf
  • 5. Enables interactive access to… Trillions of records petabytes of indexed data across 100s-1000s of servers
  • 6. Short Accumulo History Lesson http://www.flickr.com/photos/mr_t_in_dc/4249886990/sizes/l/in/photostream/
  • 10. 2012
  • 11. Uses of BigTable and Kin (BigTable) (HBase) •Google Analytics1 •Messages3,4,6 •Crawl1 •Insights5,6 •AppEngine Datastore2 •Many more1 (Cassandra) (Accumulo) •Rainbird (realtime analytics)7 •??? 1.) http://static.googleusercontent.com/external_content/untrusted_dlcp/research.google.com/en/us/archive/bigtable-osdi06.pdf 2.) http://code.google.com/appengine/articles/storage_breakdown.html 3.) http://www.facebook.com/note.php?note_id=454991608919 4.) http://mvdirona.com/jrh/TalksAndPapers/KannanMuthukkaruppan_StorageInfraBehindMessages.pdf 5.) http://www.facebook.com/note.php?note_id=10150103900258920 6.) http://borthakur.com/ftp/SIGMODRealtimeHadoopPresentation.pdf 7.) http://www.slideshare.net/kevinweil/rainbird-realtime-analytics-at-twitter-strata-2011
  • 12. Accumulo /əˈkjuˈmj ʊ/ ʊˈlo 1. Sorted, distributed key/value store with cell-based access control and customizable server-side processing
  • 13. Multi-dimension Key Key Column Value Row ID Timestamp Family Qualifier Visibility http://incubator.apache.org/accumulo/user_manual_1.4-incubating/Accumulo_Design.html
  • 14. Keys Sorted Lexicographically Row ID, Column Family, Column Qualifier, Column Visibility, Timestamp Everything is a byte[] except the Timestamp which is a long
  • 15. Physical Layout Key Value Row ID Col Fam Col Qual Col Vis Time Value Alice properties age public March 2011 31 Alice properties phone private Feb 2011 555-1234 Alice purchases Xbox public Feb 2011 $299 Bob properties phone private March 2011 555-4321 Bob purchases iPhone Public Feb 2011 $399
  • 16. Queries •By exact Key or range of Keys •Data is always returned in sorted order Query Requirements Drive Data Model Design
  • 18. Hadoop Clients MapReduce Read/ Analytics Write Accumulo Configuration/ Storage State Hadoop HDFS Zookeeper
  • 19. Table Tablets Accumulo … Tablet Server … … Tablet Server … ... … Tablet Server … Master Data Node Data Node ... Data Node Name Node Hadoop HDFS
  • 20. Table Tablet Server Failure Tablets 1.) Detect Failure Accumulo Tablet Server Tablet Server ... Tablet Server Master 2.) Reassign Data Node Data Node ... Data Node Name Node Hadoop HDFS
  • 21. Writes Write- Ahead Accumulo Log (WAL) Tablet Server 1 Tablet 2 MemTable Client Data Node ... Data Node Data Node Hadoop HDFS
  • 22. Writes Write- Ahead Accumulo Log (WAL) Tablet Server 1 Tablet 2 MemTable Client 3 File 1 Data Node ... Data Node Data Node Hadoop HDFS
  • 23. Compactions Minor Major The process of flushing The process of a MemTable of a Tablet combining multiple files to a single file in HDFS into a single file
  • 24. Tablet Splits • Tablets are split when they reach a max size • Always split on row boundary • Master assigns a split Tablet to another Tablet server (no data is moved!)
  • 25. Reads Accumulo Tablet Server Tablet MemTable Client File 1 File 1
  • 26. Accumulo /əˈkjuˈmj ʊ/ ʊˈlo 1. Sorted, distributed key/value store with cell-based access control and customizable server-side processing
  • 28. Iterators Can be run at: Can do things like: •Scan Time •Aggregation (Combiners) •Minor Compaction •Age-Off •Major Compaction •Filtering (access control) •Transformation Push Processing to the Data
  • 29. Accumulo /əˈkjuˈmj ʊ/ ʊˈlo 1. Sorted, distributed key/value store with cell-based access control and customizable server-side processing
  • 30. Access Control • Every key-value has a visibility label • Label is defined with boolean operators • Label is arbitrary and ad-hoc Public Private | Admin Finance | (HR & Manager) • Authorizations presented at scan time • Data is filtered out automatically by system- level Iterator
  • 31. Access Control – Typical Architecture Trusted Zone 6.) Return Data 5.) Return Visible Data Web Server Accumulo 1.) Pass Credentials 4.) Proxy Authorization 3.) Return Authorizations 2.) Lookup User Enterprise Identity Management
  • 32. Access Control – Typical Architecture Trusted Zone Accumulo 6.) Return [6,8] 5.) Return [6,8] SECRET&PROJECT X, 6 Web Server SECRET&PROJECT Y, 8 1.) PKI Cert 4.) Proxy Bob’s Auths SECRET&PROJECT Z, 3 Bob 3.) Auths:[SECRET, UNCLASSIFIED, 2.) Lookup PROJECT X, PROJECT Y] Bob Enterprise Identity Management
  • 33. Demo
  • 34. Application Requirements Build an application to analyze trends in Twitter messages. •Query for word/phrase and view real-time activity in a time series graph •View at different time ranges (1 day, 7 days, 30 days, etc) •Allow multiple query terms to compare activity (ex. Breakfast,Lunch) •Automatically extract daily trends for the user
  • 35. Demo Setup/Data • Twitter Streaming API • US country codes only messages • 1,2,3-grams built • Data since Dec 24 – Live • Running on average workstation, 1 SATA disk, 6 GB memory. • 72GB, 2.6 billion entries and counting
  • 36.
  • 37. Data Model • Tweets table – Row ID: n-gram – Column Family: Date Granularity (DAY, HOUR) – Column Qual: Date Value – Value: Count – SummingCombiner (Iterator) used to update Count Row ID Col Fam Col Qual Value breakfast DAY 20120318 31 breakfast DAY 20120319 56 … … … … lunch HOUR 2012031801 3 lunch HOUR 2012031802 4
  • 38. Data Model • Trends table – Row ID: (Date Granularity + Date Value) – Column Family: (Integer.MAX_VALUE – trendScore) – Column Qual: n-gram – Value: [] Row ID Col Fam Col Qual Value DAY:20120318 2147483145 church DAY:20120318 2147483316 hangover … … … … DAY:20120319 2147476521 the broncos DAY:20120319 2147477704 tim tebow
  • 39. MapReduce Analytics • Utilize MapReduce for building trends • AccumuloInputFormat reads from tweets table • AccumuloOutputFormat writes to trends table • AccumuloStorage LoadFunc for Pig available on github
  • 40.
  • 41. Summary •Accumulo exploits locality to enable interactive access to huge data sets while adding cell-level access control and server- side programming •Nothing in life is free. Accumulo comes with the complexity and responsibility of managing a distributed system and designing indexes on your data
  • 42. References • Documentation, Mailing Lists, Links http://incubator.apache.org/accumulo/ • HBase Shootout http://www.slideshare.net/cloudera/h-base-and-accumulo-todd-lipcom-jan-25-2012 • Trendulo https://github.com/jaredwinick/trendulo

Hinweis der Redaktion

  1. Obviously most people’s data set isn’t this large. If you can fit your data into memory of a single large server, Accumulo probably isn’t for you.
  2. 20 billion events day for Insights6+ billion msg -> 75 billion rw operations/day
  3. Sparse,sorted
  4. Table is partitioned into tablets which are logically assigned to tablet servers (they are physically in HDFS). Tablet is a range of keys.
  5. Tablets are only logically assigned to tablet servers by theAccumulo Master. The are physically stored in HDFS. Tablet is one or more files.
  6. Data first written to WAL (outside of HDFS on a different machine), then inserted into sorted MemTable (balanced, sorted binary tree)
  7. When MemTable is full, it gets flushed to a file which is stored in HDFS (minor compaction). Writes to disk are sequential as MemTable is sorted
  8. All of these files are always sorted!
  9. TabletServer merges key-values from all its files and its MemTable to present a complete sorted view of data
  10. One of the most powerful features of Accumulo – a lot to learn. Come back to aggregation in demo
  11. Example: Trendistic (http://trendistic.indextank.com)
  12. Documentation is a work in progress…