Overview of Scidb: Large Scale Array Storage, Processing and Analysis Presenter: Kevin Chang 15-799 10/30/2013

Overview of Scidb: Large Scale Array Storage, Processing and Analysis Presenter: Kevin Chang 15-799 10/30/2013

Overview of SciDB: Large Scale Array Storage, Processing and Analysis Presenter: Kevin Chang 15-799 10/30/2013 1 Executive Summary • Problem: – Modern databases are primarily built for business applications – Scientific data have different characteristics and are becoming more data-intensive • Solution: SciDB – A new open-source DBMS to support VERY large (PB) ARRAY data 2 Background and Motivation • Scientific data differ from business data in 3 ways • 1. Science makes use of sensor arrays – Rectangular array of individual sensors – Example: Hubble Space Telescope’s camera – A block of collocated pixels – Implicit ordering 3 Background and Motivation • 2. Require sophisticated data processing methods – Sensor data needs filtering – Clean data are fed into complex analytic processing • 3. Extremely LARGE data – Produced at large scale and reused frequently – Example: LHC -> 15PB data annually 4 SciDB Features • Goal: provide scalability to store, process and analyze data • Array data model: – Implicit ordering – Organized as collections of n-dimensional arrays – Each cell contains a tuple of values with attribute names (A::INTEGER, B::FLOAT) -> (2, 0.7) 5 Array Definition CREATE ARRAY EXAMPLE (A::INTEGER, B::FLOAT) [ I=0:2, J=0:2]; I = 0 : 2 I = 0 : 2 (2, 0.7) (1, 0.5) (3, 0.1) (2, 0.7) (1, 0.5) (3, 0.1) (6, 0.3) (7, 0.1) (0, 0.1) (7, 0.1) (0, 0.1) J = 0 : 2 J = 0 : 2 (1, 0.4) (4, 0.6) (8, 0.1) (1, 0.4) (4, 0.6) (8, 0.1) Empty cells • SciDB will support extensible type system (PDF) • Nested model (an array within an array) 6 Data Manipulation • Declarative query language (2, 0.7) (1, 0.5) (3, 0.1) (3, 0.1) Slice (Example, I=2); (6, 0.3) (7, 0.1) (0, 0.1) (0, 0.1) (1, 0.4) (4, 0.6) (8, 0.1) (8, 0.1) Subsample (Example, (2, 0.7) (1, 0.5) I BETWEEN 0 AND 1 AND (6, 0.3) (7, 0.1) J BETWEEN 0 AND 1); 7 Data Manipulation Sjoin (Slice (Example, I=2), Subsample (Example, I BETWEEN 0 AND 1 AND J BETWEEN 0 AND 1) ); (3, 0.1) (2, 0.7) (1, 0.5) (3, 0.1) (2, 0.7) (1, 0.5) (0, 0.1) (6, 0.3) (7, 0.1) (0, 0.1) (6, 0.3) (7, 0.1) (8, 0.1) (1, 0.4) (4, 0.6) (8, 0.1) 8 Data Manipulation • Manipulate data content Filter (Example, A > 2); • Operations are composable Apply (Slice (Example, I = 2), A * B); Structural operator Content manipulator 9 Extensibility • User-defined data type (UDT) • User-defined function (UDF) – Highly specific algorithm – C/C++ – Example: Gaussian smoothing Smooth (Subsample (Example, I BETWEEN 0 AND 1 AND J BETWEEN 0 AND 1)); 10 Architecture • Shared nothing over a network of computers • One centralized system catalog database – Stores info about data distribution, UDF, etc • Storage manager: – Distributed and no-overwrite storage manager • Data can only be appended – ACID: Atomicity and durability • Does not talk about its implementation 11 Data storage • Mapping of logical array data into physical storage • 1. Vertical partitioning like column store: – Users tend to focus on a single attribute – Each cell only stores a single value (3, 0.1) 3 0.1 (0, 0.1) 0 0.1 12 Data Storage • 2. Chunking: – Operate on a small area – Split into equal-sized (and overlapping) chunks (2, 0.7) (1, 0.5) (1, 0.5) (3, 0.1) (2, 0.7) (1, 0.5) (3, 0.1) (6, 0.3) (7, 0.1) (7, 0.1) (0, 0.1) (6, 0.3) (7, 0.1) (0, 0.1) (6, 0.3) (7, 0.1) (7, 0.1) (0, 0.1) (1, 0.4) (4, 0.6) (8, 0.1) (1, 0.4) (4, 0.6) (4, 0.6) (8, 0.1) 13 Data Storage • Overlapping chunks: – Some methods require computation on neighboring cells – Example: Gaussian smoothing – Advantage: enables parallel computation – Storage overhead Apply (Slice (Example, I = 2), A * B); – Pipelined operators 14 Other Features • Data distribution: Some chunks are collocated on the same node for locality • Compression: Reduce bandwidth consumption – Sparse matrix compression? 15 Query Processing • Complicate parsing due to user-defined operators • Optimization: Tries to parallelize queries • Scatter/Gather operations to dynamically redistribute data across nodes 16 Conclusion • A new ARRAY DBMS – Data management – Math operations • Open source • SciDB outperforms Postgres by 2 orders of magnitude – Astronomy-style workloads 17 THE END 18.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    18 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us