SlideShare une entreprise Scribd logo
1  sur  23
Télécharger pour lire hors ligne
Invisible	
  Loading	
  

   Yalies:	
  Azza	
  Abouzied,	
  	
  
Daniel	
  Abadi,	
  Avi	
  Silberschatz	
  
           BigData	
  2012	
  
Problem:	
  The	
  Crying	
  Baby	
  
Two	
  ways	
  to	
  deal	
  with	
  this:	
  



         Immediate	
  GraDficaDon	
                 Long	
  term	
  $$$	
  costs	
  




          Misery	
  &	
  sleep	
  deprivaDon	
       Long	
  term	
  benefits	
  
The	
  Crying	
  Baby	
  Problem	
  
         Wants	
  A(en*on	
  Now!	
  

                ≈	
  
The	
  ImpaDent	
  Boss	
  Problem	
  
         Wants	
  Answers	
  Now!	
  
Two	
  ways	
  to	
  analyze	
  data	
  
MapReduce	
  way	
  
                                                                    Immediate	
  GraDficaDon	
  
                                          Hack it:
        Locate
                       Determine          Parse                     Long-­‐term	
  cumulaDve	
  costs	
  	
  
                       Key
        File                              +Map                      because	
  MR	
  is	
  slow!	
  
                       Attributes
                                          +Reduce




DB	
  &	
  HadoopDB	
  way	
  

                                                        Organize                           Query:
                       Figure                                        Determine             Process
        Locate                                          or Index
                       out            Load File                      Key
        File                                            DB                                 without
                       schema                                        Attributes
                                                        tables                             Parse


                           Misery	
  &	
  sleep	
  deprivaDon	
                      Long	
  term	
  benefits	
  
The	
  Problem	
  
Can	
  we	
  get	
  the	
  immediate	
  gra*fica*on	
  of	
  
working	
  with	
  MapReduce	
  and	
  make	
  progress	
  
towards	
  the	
  performances	
  advantages	
  of	
  
working	
  with	
  Databases?	
  	
  
Our	
  SoluDon	
  
Begin	
  with	
  the	
  MapReduce	
  Way	
  
                                                                         File System

                                Write
               Determine        Map/
    Locate                                     Run it!
               Key              Reduce
    File
               Attributes       Scripts
                                                                         Database
                                                                         System


                             BEHIND-­‐THE-­‐SCENCES	
  
                             PER	
  JOB	
  
                                                                           Organize
                                                    Figure                 or Index
                                                    out      Load File     DB
                                                    schema
                                                                           tables

                                                               INCREMENTALLY	
  
Figure
out
              P1)	
  How	
  to	
  automaDcally	
  figure	
  
schema
              out	
  a	
  schema?	
  
Short	
  answer:	
  DON’T	
  
	
  
Split	
  map	
  phase	
  into	
  Parse	
  and	
  Map	
  phases.	
  	
  
	
  
Enforce	
  a	
  simple	
  Parse	
  API:	
  Parser	
  has	
  one	
  output	
  method:	
  
getField(int	
  id)	
  
	
  
Name	
  a	
  table	
  aZer	
  its	
  Parser-­‐implementaDon	
  and	
  label	
  
a[ributes	
  with	
  their	
  field	
  id.	
  
	
  
Different	
  parsers	
  on	
  the	
  same	
  file	
  result	
  in	
  different	
  tables.	
  
Incrementally
                   P2)	
  How	
  to	
  load	
  files	
  with	
  
                   minimal	
  marginal	
  costs?	
  
 Load File




•  Load	
  only	
  touched	
  a[ributes	
  (VerDcal	
  
   ParDDon)	
  
       –  Requires	
  a	
  Column-­‐Store	
  

•  Load	
  only	
  parts	
  of	
  a	
  column	
  (Horizontal	
  
   parDDon)	
  
       –  AZer	
  a	
  file-­‐split	
  is	
  processed	
  by	
  Map,	
  its	
  touched	
  
          a[ributes	
  are	
  loaded	
  enDrely	
  	
  
       –  How	
  many	
  splits	
  of	
  a	
  file	
  is	
  a	
  tunable	
  parameter.	
  

	
  
Tuple	
  construcDon	
  
Some	
  columns	
  are	
  at	
  different	
  loading	
  stages.	
  
   –  Maintain	
  OIDs	
  for	
  each	
  column:	
  an	
  address	
  
      column	
  	
  
          •  The	
  OIDs	
  assigned	
  are	
  equivalent	
  to	
  the	
  inserDon	
  order	
  
   –  Keep	
  a	
  catalog	
  to	
  track	
  loading	
  progress	
  
      a     b   c   d
                               Process	
  in	
  DB	
  

                                Use	
  File	
  System	
  
Incrementally
                        P3)	
  How	
  to	
  index	
  a	
  parDally-­‐
                        loaded	
  table?	
  
Organize file



If	
  a	
  selec*on	
  filter	
  is	
  applied	
  on	
  an	
  a(ribute,	
  we	
  organize	
  it.	
  
	
  
Dealing	
  with	
  parDally	
  loaded	
  a[ributes	
  
                                                                          c1                  c2
              address                                                $     !              #    &
                         c1                                          %     "              $    '
              column
                                                                     #    ##              %    (
   !!"#$$$          !    !!            )     %
   %"#$$$           )     %            *     &
   &"#$$$           *     &            !    !!
                                                                               JOIN
   !"#$$$           (     !            (     !
   '"#$$$           &     '            ,     (
   &"#$$$           +     &            +     &
   ("#$$$           ,     (            &     '                                  !     '
   !%"#$$$          '    !%            '    !%                                  "     (
                                                                               ##     &
Choosing	
  an	
  organizaDon	
  strategy	
  
•  Why	
  not	
  use	
  merge	
  sort?	
  	
  
                                ./01#2#
                                 3/45
                      !!"#$$$              %              %
                      %"#$$$               &              !                %
                      &"#$$$              !!              (                !
                                                          &                +
                      !"#$$$               !              &                ,
                      '"#$$$               (              '                (
                      &"#$$$               &             !%                &
                      ("#$$$               '             !!                &
                      !%"#$$$             !%                               )
                                                                           -
                      )"#$$$               )              +                '
                      *"#$$$               *              ,                *
                      !+"#$$$             !+              )               !%
                                                          -               !!
                      ,"#$$$               +              *               !+
                      !,"#$$$              ,             !+               !,
                      +"#$$$               -             !,               !&
                      -"#$$$              !,             !&
                      !&"#$$$             !&
                   367859#8:#;<=3#             378A>9#/B#5C>#A/7D@:#8:#
                    =87>#3?95>@                       1050E09>
Incremental	
  Merge	
  Sort	
  
               0123#4#       892:;#!              892:;#+
                5167     5<=>7/?>7.#!%%%?     5<=>7/?>7.#%!%%?
     !!"#$$$              %              %
                                         !                       %
     %"#$$$               &                                      !
     &"#$$$              !!              (                              %.#%/,
                                         &                       +
                                         &                       ,
     !"#$$$               !
     '"#$$$               (                                   '
     &"#$$$                              '                    *
                          &                                             !.#'/!!
     ("#$$$                             !%                   !%
                          '
     !%"#$$$                            !!                   !!
                         !%
                                         +                       (
     )"#$$$               )
                                         ,                       &
     *"#$$$               *                                             +.#(/-
                                         )                       &
     !+"#$$$             !+
                                         -                       )
                                                                 -
     ,"#$$$               +              *
     !,"#$$$              ,             !+                   !+
                                                                        ,.#!+/!&
     +"#$$$               -             !,                   !,
     -"#$$$              !,             !&                   !&
     !&"#$$$             !&
  5<=>7:#>@#ABC5#             5=>F;:#1G#79;#F1=HE@#>@#               5>E<=;#>@3;I
   C>=;#5D:7;E                       3272?2:;
EVALUATION	
  
Setup	
  
•  Single-­‐Machine	
  Experiments	
  
    –  Embarrassingly	
  parallel	
  
    –  No	
  distributed	
  reorganizaDon	
  or	
  parDDoning	
  
•  MonetDB	
  (hacked	
  to	
  support	
  IMS)	
  
•  Hadoop	
  
•  2	
  GB	
  file	
  of	
  5	
  integer	
  a[ributes:	
  107,374,182	
  
   tuples.	
  	
  
•  See	
  paper	
  for	
  more	
  details	
  
The	
  big	
  picture	
  
                  800
                                                                  SQL Pre-load
                                               Incremental Reorganization (5/5)
                                               Incremental Reorganization (2/5)
                  700                                    Invisible Loading (5/5)
                                                         Invisible Loading (2/5)
                                                                    MapReduce
                  600


                  500
Time in Seconds




                  400


                  300


                  200


                  100


                   0
                        1                10                                        100
                                    Job Sequence
CumulaDve	
  costs	
  
                                   100000
                                                                                     SQL Pre-load
                                                                  Incremental Reorganization (5/5)
                                                                  Incremental Reorganization (2/5)
                                                                            Invisible Loading (5/5)
                                                                            Invisible Loading (2/5)
                                                                                       MapReduce
Cumulative Time Spent in Seconds




                                   10000




                                    1000




                                     100
                                            1                10                                       100
                                                        Job Sequence
Change	
  the	
  access	
  pa[ern	
  
                  800
                                                                                  SQL Pre-load
                                                               Incremental Reorganization (5/5)
                                                               Incremental Reorganization (2/5)
                  700                                                    Invisible Loading (5/5)
                                                                         Invisible Loading (2/5)
                                                                                    MapReduce
                  600


                  500
Time in Seconds




                  400


                  300


                  200


                  100


                   0
                        1                10              83   85          87        89         91   93
                              Job Sequence (Log scale)             Job Sequence (Linear scale)
Further	
  EvaluaDon	
  (Paper)	
  
•  In-­‐depth	
  study	
  of	
  IMS	
  
    –  Comparison	
  with	
  Cracking	
  and	
  Pre-­‐sorDng	
  
    –  Effect	
  of	
  integraDng	
  Lightweight	
  compressions	
  
       into	
  IMS.	
  
•  Li[le	
  mini-­‐experiments	
  
    –  InserDon	
  vs.	
  Copy	
  
    –  Processing	
  in	
  DB	
  vs.	
  using	
  DB	
  as	
  a	
  fast	
  access	
  
       medium	
  with	
  all	
  processing	
  in	
  MapReduce	
  
Conclusion:	
  Lessons	
  Learned	
  
•  Engineering	
  Nightmare	
  
    –  Many	
  complemenDng	
  technologies	
  
         •  Manimal,	
  AdapDve	
  Merging	
  …	
  
    –  In	
  the	
  era	
  of	
  Big-­‐Data	
  we	
  need	
  to	
  design	
  more	
  
       modular,	
  plug-­‐n-­‐play	
  tools	
  
•  Can	
  of	
  worms	
  
    –  Most	
  BigData	
  problems	
  look	
  decepDvely	
  simple	
  
       unDl	
  you	
  start	
  mocking	
  around.	
  
Some	
  problems	
  are	
  easier	
  than	
  others	
  
Thanks!	
  

QuesDons?	
  
Why	
  is	
  loading	
  this	
  log	
  file	
  hard?	
  
                           !"#$%&#'%()%*+,-+,++%*+(*.%!/0010.%!2'3/$4%(*56+6+6(.%!"#$%&#'%()%*+,-+,++%*+(*.%78'9:68',%;<=>*%?%@A#/0:(-B*-C)5*D@EF%0/G/0/0,%H448,II'129
                           !"#$%&#'%()%*+,-+,++%*+(*.%!/0010.%!2'3/$4%(*56+6+6(.%!"#$%&#'%()%*+,-+,++%*+(*.%78'9:68',%;<=>-%?%@137J@EF%0/G/0/0,%H448,II'129'H1J4I78'9:IK
                           !"#$%&#'%()%*+,-+,++%*+(*.%!/0010.%!2'3/$4%(*56+6+6(.%!"#$%&#'%()%*+,-+,++%*+(*.%78'9:68',%;<=>B%?%@!PJ4#7/$4Q+PFPJ4#7/$4Q(PFPJ4#7/$4Q*PF
                                                                                                                                Message	
  field	
  
                           !"#$%&#'%()%*+,-+,++%*+(*.%!/0010.%!2'3/$4%(*56+6+6(.%!"#$%&#'%()%*+,-+,++%*+(*.%78'9:68',%;<=>)%?%@21OO9$7@EF%0/G/0/0,%H448,II'129'H1J4I78
                                                                                                                                varies	
  
                           !"#$%&#'%()%*+,-+,++%*+(*.%!/0010.%!2'3/$4%(*56+6+6(.%!"#$%&#'%()%*+,-+,++%*+(*.%78'9:68',%;<=>R%?%@/S9'#94/T4#8'/J@EF%0/G/0/0,%H448,II'129'H
                           !"#$%&#'%()%*(,+*,*+%*+(*.%!/0010.%!2'3/$4%(*56+6+6(.%U3'/%71/J%$14%/V3J4,%IW3L090:IX/L"/0S/0IY12#O/$4JIG9S321$6321
What	
  is	
  the	
                                                                                                             depending	
  on	
  
                           !Z1$%&#'%(R%(+,)),-*%*+(*.%!/0010.%!2'3/$4%(+C6((C6(+56D).%[$S9'37%O/4H17%3$%0/A#/J4%')]V/G]VC9]V7B]V729]V(2]]^]V(D]VD7]V9)6]V+-_

base	
  schema?	
                                                                                                               applicaDon!	
  	
  
                           !Z1$%&#'%(R%((,-*,*D%*+(*.%!/0010.%!2'3/$4%C*6B+6*)-6(*5.%[$S9'37%`>[%3$%0/A#/J4%]S]V2+]VCC1]VG-]V9B!]V/L#]VCRI]V+G]VL*;]V()]VG-C
                           !Z1$%&#'%(R%(*,(+,BD%*+(*.%!/0010.%!2'3/$4%(*56+6+6(.%U3'/%71/J%$14%/V3J4,%IW3L090:IX/L"/0S/0IY12#O/$4JIG9S321$6321
Time,	
  Type,	
           !Z1$%&#'%(R%(*,(+,))%*+(*.%!/0010.%!2'3/$4%(*56+6+6(.%U3'/%71/J%$14%/V3J4,%IW3L090:IX/L"/0S/0IY12#O/$4JIG9S321$6321
                           !N#/%&#'%(5%*+,((,B+%*+(*.%!$1432/.%29#aH4%"[bNc>ZF%JH#443$a%71K$
Message	
  ?	
             !U03%&#'%*+%(C,(-,(C%*+(*.%!K90$.%[$34,%"/JJ31$%d92H/%3J%$14%21$G3a#0/7%!H3$4,%""W"/JJ31$d92H/.
                           H4487,%d1#'7%$14%0/'39L':%7/4/0O3$/%4H/%J/0S/0@J%G#'':%A#9'3G3/7%71O93$%$9O/F%#J3$a%/V2/''/$2/6'129'%G10%"/0S/0e9O/
                           !U03%&#'%*+%(C,(-,*+%*+(*.%!$1432/.%Y3a/J4,%a/$/0943$a%J/20/4%G10%73a/J4%9#4H/$4329431$%666
Different	
  tables	
       !U03%&#'%*+%(C,(-,*+%*+(*.%!$1432/.%Y3a/J4,%71$/                                       Context-­‐dependent	
  
for	
  each	
  type?	
                                                                                            Schema	
  Awareness	
  
                           !U03%&#'%*+%(C,(-,*+%*+(*.%!$1432/.%=892H/I*6*6*(%f`$3Vg%O17TJJ'I*6*6*(%h8/$""WI+6C6D0%Y=<I*%O17TG2a37I*6-6R%21$G3a#0/7%ii%0/J#O3$a%$
                           !U03%&#'%*+%(C,(-,*-%*+(*.%!/0010.%!2'3/$4%(*56+6+6(.%U3'/%71/J%$14%/V3J4,%IW3L090:IX/L"/0S/0IY12#O/$4JIG9S321$6321
                                                                                                                  Different	
  analysts	
  know	
  
                           !U03%&#'%*+%(C,(B,+D%*+(*.%!/0010.%!2'3/$4%(*56+6+6(.%U3'/%71/J%$14%/V3J4,%IW3L090:IX/L"/0S/0IY12#O/$4JIG9S321$6321
                           !"94%&#'%*(%(R,-C,*5%*+(*.%!/0010.%!2'3/$4%(*56+6+6(.%U3'/%71/J%$14%/V3J4,%IW3L090:IX/L"/0S/0IY12#O/$4JIG9S321$6321
                                                                                                                  the	
  schema	
  of	
  what	
  
                           !"94%&#'%*(%(R,)+,*5%*+(*.%!/0010.%!2'3/$4%(*56+6+6(.%U3'/%71/J%$14%/V3J4,%IW3L090:IX/L"/0S/0IY12#O/$4JIG9S321$6321
                                                                                                                  they	
  are	
  looking	
  for	
  and	
  
                           !"94%&#'%*(%(5,+B,*)%*+(*.%!/0010.%!2'3/$4%(*56+6+6(.%U3'/%71/J%$14%/V3J4,%IW3L090:IX/L"/0S/0IY12#O/$4JIG9S321$6321
                           !"94%&#'%*(%(5,+R,)R%*+(*.%!/0010.%!2'3/$4%(*56+6+6(.%U3'/%71/J%$14%/V3J4,%IW3L090:IX/L"/0S/0IY12#O/$4JIG9S321$6321
                                                                                                                  don’t	
  care	
  about	
  other	
  
                           !"94%&#'%*(%(5,)+,(-%*+(*.%!/0010.%!2'3/$4%(*56+6+6(.%U3'/%71/J%$14%/V3J4,%IW3L090:IX/L"/0S/0IY12#O/$4JIG9S321$6321
                                                                                                                  log	
  messages	
  
                           !"94%&#'%*(%(5,)+,*R%*+(*.%!/0010.%!2'3/$4%(*56+6+6(.%U3'/%71/J%$14%/V3J4,%IW3L090:IX/L"/0S/0IY12#O/$4JIG9S321$6321
                           !"94%&#'%*(%(C,(C,*+%*+(*.%!/0010.%!2'3/$4%(*56+6+6(.%U3'/%71/J%$14%/V3J4,%IW3L090:IX/L"/0S/0IY12#O/$4JIG9S321$6321
                           !"94%&#'%*(%(C,(C,--%*+(*.%!/0010.%!2'3/$4%(*56+6+6(.%U3'/%71/J%$14%/V3J4,%IW3L090:IX/L"/0S/0IY12#O/$4JIG9S321$6321
                           !N#/%&#'%*B%(5,)B,B)%*+(*.%!$1432/.%29#aH4%"[bNc>ZF%JH#443$a%71K$

Contenu connexe

En vedette

Consistency Tradeoffs in Modern Distributed Database System Design
Consistency Tradeoffs in Modern Distributed Database System DesignConsistency Tradeoffs in Modern Distributed Database System Design
Consistency Tradeoffs in Modern Distributed Database System DesignArinto Murdopo
 
VLDB 2009 Tutorial on Column-Stores
VLDB 2009 Tutorial on Column-StoresVLDB 2009 Tutorial on Column-Stores
VLDB 2009 Tutorial on Column-StoresDaniel Abadi
 
The Power of Determinism in Database Systems
The Power of Determinism in Database SystemsThe Power of Determinism in Database Systems
The Power of Determinism in Database SystemsDaniel Abadi
 
Daniel Abadi HadoopWorld 2010
Daniel Abadi HadoopWorld 2010Daniel Abadi HadoopWorld 2010
Daniel Abadi HadoopWorld 2010Daniel Abadi
 
CAP, PACELC, and Determinism
CAP, PACELC, and DeterminismCAP, PACELC, and Determinism
CAP, PACELC, and DeterminismDaniel Abadi
 
Column-Stores vs. Row-Stores: How Different are they Really?
Column-Stores vs. Row-Stores: How Different are they Really?Column-Stores vs. Row-Stores: How Different are they Really?
Column-Stores vs. Row-Stores: How Different are they Really?Daniel Abadi
 
SQL-on-Hadoop Tutorial
SQL-on-Hadoop TutorialSQL-on-Hadoop Tutorial
SQL-on-Hadoop TutorialDaniel Abadi
 

En vedette (7)

Consistency Tradeoffs in Modern Distributed Database System Design
Consistency Tradeoffs in Modern Distributed Database System DesignConsistency Tradeoffs in Modern Distributed Database System Design
Consistency Tradeoffs in Modern Distributed Database System Design
 
VLDB 2009 Tutorial on Column-Stores
VLDB 2009 Tutorial on Column-StoresVLDB 2009 Tutorial on Column-Stores
VLDB 2009 Tutorial on Column-Stores
 
The Power of Determinism in Database Systems
The Power of Determinism in Database SystemsThe Power of Determinism in Database Systems
The Power of Determinism in Database Systems
 
Daniel Abadi HadoopWorld 2010
Daniel Abadi HadoopWorld 2010Daniel Abadi HadoopWorld 2010
Daniel Abadi HadoopWorld 2010
 
CAP, PACELC, and Determinism
CAP, PACELC, and DeterminismCAP, PACELC, and Determinism
CAP, PACELC, and Determinism
 
Column-Stores vs. Row-Stores: How Different are they Really?
Column-Stores vs. Row-Stores: How Different are they Really?Column-Stores vs. Row-Stores: How Different are they Really?
Column-Stores vs. Row-Stores: How Different are they Really?
 
SQL-on-Hadoop Tutorial
SQL-on-Hadoop TutorialSQL-on-Hadoop Tutorial
SQL-on-Hadoop Tutorial
 

Similaire à Invisible loading

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
 
Web mapping with vector data. Is it the future ? 2012
Web mapping with vector data. Is it the future ? 2012Web mapping with vector data. Is it the future ? 2012
Web mapping with vector data. Is it the future ? 2012Moullet
 
Spring 3 - Der dritte Frühling
Spring 3 - Der dritte FrühlingSpring 3 - Der dritte Frühling
Spring 3 - Der dritte FrühlingThorsten Kamann
 
Hadoop 101 for bioinformaticians
Hadoop 101 for bioinformaticiansHadoop 101 for bioinformaticians
Hadoop 101 for bioinformaticiansattilacsordas
 
Partitioning CCGrid 2012
Partitioning CCGrid 2012Partitioning CCGrid 2012
Partitioning CCGrid 2012Weiwei Chen
 
Admin High Availability
Admin High AvailabilityAdmin High Availability
Admin High Availabilityrsnarayanan
 
Extreme Apache Spark: how in 3 months we created a pipeline that can process ...
Extreme Apache Spark: how in 3 months we created a pipeline that can process ...Extreme Apache Spark: how in 3 months we created a pipeline that can process ...
Extreme Apache Spark: how in 3 months we created a pipeline that can process ...Josef A. Habdank
 
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
 
JavaScript for Flex Devs
JavaScript for Flex DevsJavaScript for Flex Devs
JavaScript for Flex DevsAaronius
 
Databases for Storage Engineers
Databases for Storage EngineersDatabases for Storage Engineers
Databases for Storage EngineersThomas Kejser
 
BDM25 - Spark runtime internal
BDM25 - Spark runtime internalBDM25 - Spark runtime internal
BDM25 - Spark runtime internalDavid Lauzon
 
Processing Big Data
Processing Big DataProcessing Big Data
Processing Big Datacwensel
 
Large Scale Data Analysis Tools
Large Scale Data Analysis ToolsLarge Scale Data Analysis Tools
Large Scale Data Analysis Toolsboorad
 
An introduction to apache drill presentation
An introduction to apache drill presentationAn introduction to apache drill presentation
An introduction to apache drill presentationMapR Technologies
 
OSGI workshop - Become A Certified Bundle Manager
OSGI workshop - Become A Certified Bundle ManagerOSGI workshop - Become A Certified Bundle Manager
OSGI workshop - Become A Certified Bundle ManagerSkills Matter
 
Spring 3 - An Introduction
Spring 3 - An IntroductionSpring 3 - An Introduction
Spring 3 - An IntroductionThorsten Kamann
 

Similaire à Invisible loading (20)

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
 
Web mapping with vector data. Is it the future ? 2012
Web mapping with vector data. Is it the future ? 2012Web mapping with vector data. Is it the future ? 2012
Web mapping with vector data. Is it the future ? 2012
 
Spring 3 - Der dritte Frühling
Spring 3 - Der dritte FrühlingSpring 3 - Der dritte Frühling
Spring 3 - Der dritte Frühling
 
Hadoop 101 for bioinformaticians
Hadoop 101 for bioinformaticiansHadoop 101 for bioinformaticians
Hadoop 101 for bioinformaticians
 
Partitioning CCGrid 2012
Partitioning CCGrid 2012Partitioning CCGrid 2012
Partitioning CCGrid 2012
 
Admin High Availability
Admin High AvailabilityAdmin High Availability
Admin High Availability
 
Extreme Apache Spark: how in 3 months we created a pipeline that can process ...
Extreme Apache Spark: how in 3 months we created a pipeline that can process ...Extreme Apache Spark: how in 3 months we created a pipeline that can process ...
Extreme Apache Spark: how in 3 months we created a pipeline that can process ...
 
Introduction to Hadoop
Introduction to HadoopIntroduction to Hadoop
Introduction to Hadoop
 
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
 
JavaScript for Flex Devs
JavaScript for Flex DevsJavaScript for Flex Devs
JavaScript for Flex Devs
 
Databases for Storage Engineers
Databases for Storage EngineersDatabases for Storage Engineers
Databases for Storage Engineers
 
Hadoop by sunitha
Hadoop by sunithaHadoop by sunitha
Hadoop by sunitha
 
CouchDB
CouchDBCouchDB
CouchDB
 
BDM25 - Spark runtime internal
BDM25 - Spark runtime internalBDM25 - Spark runtime internal
BDM25 - Spark runtime internal
 
Processing Big Data
Processing Big DataProcessing Big Data
Processing Big Data
 
Large Scale Data Analysis Tools
Large Scale Data Analysis ToolsLarge Scale Data Analysis Tools
Large Scale Data Analysis Tools
 
An introduction to apache drill presentation
An introduction to apache drill presentationAn introduction to apache drill presentation
An introduction to apache drill presentation
 
OSGI workshop - Become A Certified Bundle Manager
OSGI workshop - Become A Certified Bundle ManagerOSGI workshop - Become A Certified Bundle Manager
OSGI workshop - Become A Certified Bundle Manager
 
Spring 3 - An Introduction
Spring 3 - An IntroductionSpring 3 - An Introduction
Spring 3 - An Introduction
 
Having Fun with Play
Having Fun with PlayHaving Fun with Play
Having Fun with Play
 

Dernier

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 

Dernier (20)

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 

Invisible loading

  • 1. Invisible  Loading   Yalies:  Azza  Abouzied,     Daniel  Abadi,  Avi  Silberschatz   BigData  2012  
  • 3. Two  ways  to  deal  with  this:   Immediate  GraDficaDon   Long  term  $$$  costs   Misery  &  sleep  deprivaDon   Long  term  benefits  
  • 4. The  Crying  Baby  Problem   Wants  A(en*on  Now!   ≈   The  ImpaDent  Boss  Problem   Wants  Answers  Now!  
  • 5. Two  ways  to  analyze  data   MapReduce  way   Immediate  GraDficaDon   Hack it: Locate Determine Parse Long-­‐term  cumulaDve  costs     Key File +Map because  MR  is  slow!   Attributes +Reduce DB  &  HadoopDB  way   Organize Query: Figure Determine Process Locate or Index out Load File Key File DB without schema Attributes tables Parse Misery  &  sleep  deprivaDon   Long  term  benefits  
  • 6. The  Problem   Can  we  get  the  immediate  gra*fica*on  of   working  with  MapReduce  and  make  progress   towards  the  performances  advantages  of   working  with  Databases?    
  • 7. Our  SoluDon   Begin  with  the  MapReduce  Way   File System Write Determine Map/ Locate Run it! Key Reduce File Attributes Scripts Database System BEHIND-­‐THE-­‐SCENCES   PER  JOB   Organize Figure or Index out Load File DB schema tables INCREMENTALLY  
  • 8. Figure out P1)  How  to  automaDcally  figure   schema out  a  schema?   Short  answer:  DON’T     Split  map  phase  into  Parse  and  Map  phases.       Enforce  a  simple  Parse  API:  Parser  has  one  output  method:   getField(int  id)     Name  a  table  aZer  its  Parser-­‐implementaDon  and  label   a[ributes  with  their  field  id.     Different  parsers  on  the  same  file  result  in  different  tables.  
  • 9. Incrementally P2)  How  to  load  files  with   minimal  marginal  costs?   Load File •  Load  only  touched  a[ributes  (VerDcal   ParDDon)   –  Requires  a  Column-­‐Store   •  Load  only  parts  of  a  column  (Horizontal   parDDon)   –  AZer  a  file-­‐split  is  processed  by  Map,  its  touched   a[ributes  are  loaded  enDrely     –  How  many  splits  of  a  file  is  a  tunable  parameter.    
  • 10. Tuple  construcDon   Some  columns  are  at  different  loading  stages.   –  Maintain  OIDs  for  each  column:  an  address   column     •  The  OIDs  assigned  are  equivalent  to  the  inserDon  order   –  Keep  a  catalog  to  track  loading  progress   a b c d Process  in  DB   Use  File  System  
  • 11. Incrementally P3)  How  to  index  a  parDally-­‐ loaded  table?   Organize file If  a  selec*on  filter  is  applied  on  an  a(ribute,  we  organize  it.     Dealing  with  parDally  loaded  a[ributes   c1 c2 address $ ! # & c1 % " $ ' column # ## % ( !!"#$$$ ! !! ) % %"#$$$ ) % * & &"#$$$ * & ! !! JOIN !"#$$$ ( ! ( ! '"#$$$ & ' , ( &"#$$$ + & + & ("#$$$ , ( & ' ! ' !%"#$$$ ' !% ' !% " ( ## &
  • 12. Choosing  an  organizaDon  strategy   •  Why  not  use  merge  sort?     ./01#2# 3/45 !!"#$$$ % % %"#$$$ & ! % &"#$$$ !! ( ! & + !"#$$$ ! & , '"#$$$ ( ' ( &"#$$$ & !% & ("#$$$ ' !! & !%"#$$$ !% ) - )"#$$$ ) + ' *"#$$$ * , * !+"#$$$ !+ ) !% - !! ,"#$$$ + * !+ !,"#$$$ , !+ !, +"#$$$ - !, !& -"#$$$ !, !& !&"#$$$ !& 367859#8:#;<=3# 378A>9#/B#5C>#A/7D@:#8:# =87>#3?95>@ 1050E09>
  • 13. Incremental  Merge  Sort   0123#4# 892:;#! 892:;#+ 5167 5<=>7/?>7.#!%%%? 5<=>7/?>7.#%!%%? !!"#$$$ % % ! % %"#$$$ & ! &"#$$$ !! ( %.#%/, & + & , !"#$$$ ! '"#$$$ ( ' &"#$$$ ' * & !.#'/!! ("#$$$ !% !% ' !%"#$$$ !! !! !% + ( )"#$$$ ) , & *"#$$$ * +.#(/- ) & !+"#$$$ !+ - ) - ,"#$$$ + * !,"#$$$ , !+ !+ ,.#!+/!& +"#$$$ - !, !, -"#$$$ !, !& !& !&"#$$$ !& 5<=>7:#>@#ABC5# 5=>F;:#1G#79;#F1=HE@#>@# 5>E<=;#>@3;I C>=;#5D:7;E 3272?2:;
  • 15. Setup   •  Single-­‐Machine  Experiments   –  Embarrassingly  parallel   –  No  distributed  reorganizaDon  or  parDDoning   •  MonetDB  (hacked  to  support  IMS)   •  Hadoop   •  2  GB  file  of  5  integer  a[ributes:  107,374,182   tuples.     •  See  paper  for  more  details  
  • 16. The  big  picture   800 SQL Pre-load Incremental Reorganization (5/5) Incremental Reorganization (2/5) 700 Invisible Loading (5/5) Invisible Loading (2/5) MapReduce 600 500 Time in Seconds 400 300 200 100 0 1 10 100 Job Sequence
  • 17. CumulaDve  costs   100000 SQL Pre-load Incremental Reorganization (5/5) Incremental Reorganization (2/5) Invisible Loading (5/5) Invisible Loading (2/5) MapReduce Cumulative Time Spent in Seconds 10000 1000 100 1 10 100 Job Sequence
  • 18. Change  the  access  pa[ern   800 SQL Pre-load Incremental Reorganization (5/5) Incremental Reorganization (2/5) 700 Invisible Loading (5/5) Invisible Loading (2/5) MapReduce 600 500 Time in Seconds 400 300 200 100 0 1 10 83 85 87 89 91 93 Job Sequence (Log scale) Job Sequence (Linear scale)
  • 19. Further  EvaluaDon  (Paper)   •  In-­‐depth  study  of  IMS   –  Comparison  with  Cracking  and  Pre-­‐sorDng   –  Effect  of  integraDng  Lightweight  compressions   into  IMS.   •  Li[le  mini-­‐experiments   –  InserDon  vs.  Copy   –  Processing  in  DB  vs.  using  DB  as  a  fast  access   medium  with  all  processing  in  MapReduce  
  • 20. Conclusion:  Lessons  Learned   •  Engineering  Nightmare   –  Many  complemenDng  technologies   •  Manimal,  AdapDve  Merging  …   –  In  the  era  of  Big-­‐Data  we  need  to  design  more   modular,  plug-­‐n-­‐play  tools   •  Can  of  worms   –  Most  BigData  problems  look  decepDvely  simple   unDl  you  start  mocking  around.  
  • 21. Some  problems  are  easier  than  others  
  • 23. Why  is  loading  this  log  file  hard?   !"#$%&#'%()%*+,-+,++%*+(*.%!/0010.%!2'3/$4%(*56+6+6(.%!"#$%&#'%()%*+,-+,++%*+(*.%78'9:68',%;<=>*%?%@A#/0:(-B*-C)5*D@EF%0/G/0/0,%H448,II'129 !"#$%&#'%()%*+,-+,++%*+(*.%!/0010.%!2'3/$4%(*56+6+6(.%!"#$%&#'%()%*+,-+,++%*+(*.%78'9:68',%;<=>-%?%@137J@EF%0/G/0/0,%H448,II'129'H1J4I78'9:IK !"#$%&#'%()%*+,-+,++%*+(*.%!/0010.%!2'3/$4%(*56+6+6(.%!"#$%&#'%()%*+,-+,++%*+(*.%78'9:68',%;<=>B%?%@!PJ4#7/$4Q+PFPJ4#7/$4Q(PFPJ4#7/$4Q*PF Message  field   !"#$%&#'%()%*+,-+,++%*+(*.%!/0010.%!2'3/$4%(*56+6+6(.%!"#$%&#'%()%*+,-+,++%*+(*.%78'9:68',%;<=>)%?%@21OO9$7@EF%0/G/0/0,%H448,II'129'H1J4I78 varies   !"#$%&#'%()%*+,-+,++%*+(*.%!/0010.%!2'3/$4%(*56+6+6(.%!"#$%&#'%()%*+,-+,++%*+(*.%78'9:68',%;<=>R%?%@/S9'#94/T4#8'/J@EF%0/G/0/0,%H448,II'129'H !"#$%&#'%()%*(,+*,*+%*+(*.%!/0010.%!2'3/$4%(*56+6+6(.%U3'/%71/J%$14%/V3J4,%IW3L090:IX/L"/0S/0IY12#O/$4JIG9S321$6321 What  is  the   depending  on   !Z1$%&#'%(R%(+,)),-*%*+(*.%!/0010.%!2'3/$4%(+C6((C6(+56D).%[$S9'37%O/4H17%3$%0/A#/J4%')]V/G]VC9]V7B]V729]V(2]]^]V(D]VD7]V9)6]V+-_ base  schema?   applicaDon!     !Z1$%&#'%(R%((,-*,*D%*+(*.%!/0010.%!2'3/$4%C*6B+6*)-6(*5.%[$S9'37%`>[%3$%0/A#/J4%]S]V2+]VCC1]VG-]V9B!]V/L#]VCRI]V+G]VL*;]V()]VG-C !Z1$%&#'%(R%(*,(+,BD%*+(*.%!/0010.%!2'3/$4%(*56+6+6(.%U3'/%71/J%$14%/V3J4,%IW3L090:IX/L"/0S/0IY12#O/$4JIG9S321$6321 Time,  Type,   !Z1$%&#'%(R%(*,(+,))%*+(*.%!/0010.%!2'3/$4%(*56+6+6(.%U3'/%71/J%$14%/V3J4,%IW3L090:IX/L"/0S/0IY12#O/$4JIG9S321$6321 !N#/%&#'%(5%*+,((,B+%*+(*.%!$1432/.%29#aH4%"[bNc>ZF%JH#443$a%71K$ Message  ?   !U03%&#'%*+%(C,(-,(C%*+(*.%!K90$.%[$34,%"/JJ31$%d92H/%3J%$14%21$G3a#0/7%!H3$4,%""W"/JJ31$d92H/. H4487,%d1#'7%$14%0/'39L':%7/4/0O3$/%4H/%J/0S/0@J%G#'':%A#9'3G3/7%71O93$%$9O/F%#J3$a%/V2/''/$2/6'129'%G10%"/0S/0e9O/ !U03%&#'%*+%(C,(-,*+%*+(*.%!$1432/.%Y3a/J4,%a/$/0943$a%J/20/4%G10%73a/J4%9#4H/$4329431$%666 Different  tables   !U03%&#'%*+%(C,(-,*+%*+(*.%!$1432/.%Y3a/J4,%71$/ Context-­‐dependent   for  each  type?   Schema  Awareness   !U03%&#'%*+%(C,(-,*+%*+(*.%!$1432/.%=892H/I*6*6*(%f`$3Vg%O17TJJ'I*6*6*(%h8/$""WI+6C6D0%Y=<I*%O17TG2a37I*6-6R%21$G3a#0/7%ii%0/J#O3$a%$ !U03%&#'%*+%(C,(-,*-%*+(*.%!/0010.%!2'3/$4%(*56+6+6(.%U3'/%71/J%$14%/V3J4,%IW3L090:IX/L"/0S/0IY12#O/$4JIG9S321$6321 Different  analysts  know   !U03%&#'%*+%(C,(B,+D%*+(*.%!/0010.%!2'3/$4%(*56+6+6(.%U3'/%71/J%$14%/V3J4,%IW3L090:IX/L"/0S/0IY12#O/$4JIG9S321$6321 !"94%&#'%*(%(R,-C,*5%*+(*.%!/0010.%!2'3/$4%(*56+6+6(.%U3'/%71/J%$14%/V3J4,%IW3L090:IX/L"/0S/0IY12#O/$4JIG9S321$6321 the  schema  of  what   !"94%&#'%*(%(R,)+,*5%*+(*.%!/0010.%!2'3/$4%(*56+6+6(.%U3'/%71/J%$14%/V3J4,%IW3L090:IX/L"/0S/0IY12#O/$4JIG9S321$6321 they  are  looking  for  and   !"94%&#'%*(%(5,+B,*)%*+(*.%!/0010.%!2'3/$4%(*56+6+6(.%U3'/%71/J%$14%/V3J4,%IW3L090:IX/L"/0S/0IY12#O/$4JIG9S321$6321 !"94%&#'%*(%(5,+R,)R%*+(*.%!/0010.%!2'3/$4%(*56+6+6(.%U3'/%71/J%$14%/V3J4,%IW3L090:IX/L"/0S/0IY12#O/$4JIG9S321$6321 don’t  care  about  other   !"94%&#'%*(%(5,)+,(-%*+(*.%!/0010.%!2'3/$4%(*56+6+6(.%U3'/%71/J%$14%/V3J4,%IW3L090:IX/L"/0S/0IY12#O/$4JIG9S321$6321 log  messages   !"94%&#'%*(%(5,)+,*R%*+(*.%!/0010.%!2'3/$4%(*56+6+6(.%U3'/%71/J%$14%/V3J4,%IW3L090:IX/L"/0S/0IY12#O/$4JIG9S321$6321 !"94%&#'%*(%(C,(C,*+%*+(*.%!/0010.%!2'3/$4%(*56+6+6(.%U3'/%71/J%$14%/V3J4,%IW3L090:IX/L"/0S/0IY12#O/$4JIG9S321$6321 !"94%&#'%*(%(C,(C,--%*+(*.%!/0010.%!2'3/$4%(*56+6+6(.%U3'/%71/J%$14%/V3J4,%IW3L090:IX/L"/0S/0IY12#O/$4JIG9S321$6321 !N#/%&#'%*B%(5,)B,B)%*+(*.%!$1432/.%29#aH4%"[bNc>ZF%JH#443$a%71K$