Data Manipulation at Scale: Systems and Algorithms
When you enroll for courses through Coursera you get to choose for a paid plan or for a free plan .
- Free plan: No certicification and/or audit only. You will have access to all course materials except graded items.
- Paid plan: Commit to earning a Certificate—it's a trusted, shareable way to showcase your new skills.
About this course: Data analysis has replaced data acquisition as the bottleneck to evidence-based decision making --- we are drowning in it. Extracting knowledge from large, heterogeneous, and noisy datasets requires not only powerful computing resources, but the programming abstractions to use them effectively. The abstractions that emerged in the last decade blend ideas from parallel databases, distributed systems, and programming languages to create a new class of scalable data analytics platforms that form the foundation for data science at realistic scales. In this course, you will learn the landscape of relevant systems, the principles on which they rely, their tradeoffs, and how…
There are no frequently asked questions yet. If you have any more questions or need help, contact our customer service.
When you enroll for courses through Coursera you get to choose for a paid plan or for a free plan .
- Free plan: No certicification and/or audit only. You will have access to all course materials except graded items.
- Paid plan: Commit to earning a Certificate—it's a trusted, shareable way to showcase your new skills.
About this course: Data analysis has replaced data acquisition as the bottleneck to evidence-based decision making --- we are drowning in it. Extracting knowledge from large, heterogeneous, and noisy datasets requires not only powerful computing resources, but the programming abstractions to use them effectively. The abstractions that emerged in the last decade blend ideas from parallel databases, distributed systems, and programming languages to create a new class of scalable data analytics platforms that form the foundation for data science at realistic scales. In this course, you will learn the landscape of relevant systems, the principles on which they rely, their tradeoffs, and how to evaluate their utility against your requirements. You will learn how practical systems were derived from the frontier of research in computer science and what systems are coming on the horizon. Cloud computing, SQL and NoSQL databases, MapReduce and the ecosystem it spawned, Spark and its contemporaries, and specialized systems for graphs and arrays will be covered. You will also learn the history and context of data science, the skills, challenges, and methodologies the term implies, and how to structure a data science project. At the end of this course, you will be able to: Learning Goals: 1. Describe common patterns, challenges, and approaches associated with data science projects, and what makes them different from projects in related fields. 2. Identify and use the programming models associated with scalable data manipulation, including relational algebra, mapreduce, and other data flow models. 3. Use database technology adapted for large-scale analytics, including the concepts driving parallel databases, parallel query processing, and in-database analytics 4. Evaluate key-value stores and NoSQL systems, describe their tradeoffs with comparable systems, the details of important examples in the space, and future trends. 5. “Think” in MapReduce to effectively write algorithms for systems including Hadoop and Spark. You will understand their limitations, design details, their relationship to databases, and their associated ecosystem of algorithms, extensions, and languages. write programs in Spark 6. Describe the landscape of specialized Big Data systems for graphs, arrays, and streams
Created by: University of Washington-
Taught by: Bill Howe, Director of Research
Scalable Data Analytics
Each course is like an interactive textbook, featuring pre-recorded videos, quizzes and projects.
Help from your peersConnect with thousands of other learners and debate ideas, discuss course material, and get help mastering concepts.
CertificatesEarn official recognition for your work, and share your success with friends, colleagues, and employers.
University of Washington Founded in 1861, the University of Washington is one of the oldest state-supported institutions of higher education on the West Coast and is one of the preeminent research universities in the world.Syllabus
WEEK 1
Data Science Context and Concepts
Understand the terminology and recurring principles associated with data science, and understand the structure of data science projects and emerging methodologies to approach them. Why does this emerging field exist? How does it relate to other fields? How does this course distinguish itself? What do data science projects look like, and how should they be approached? What are some examples of data science projects?
22 videos, 4 readings expand
- Video: Appetite Whetting: Politics
- Video: Appetite Whetting: Extreme Weather
- Video: Appetite Whetting: Digital Humanities
- Video: Appetite Whetting: Bibliometrics
- Video: Appetite Whetting: Food, Music, Public Health
- Video: Appetite Whetting: Public Health cont'd, Earthquakes, Legal
- Video: Characterizing Data Science
- Video: Characterizing Data Science, cont'd
- Video: Distinguishing Data Science from Related Topics
- Video: Four Dimensions of Data Science
- Video: Tools vs. Abstractions
- Video: Desktop Scale vs. Cloud Scale
- Video: Hackers vs. Analysts
- Video: Structs vs. Stats
- Video: Structs vs. Stats cont'd
- Video: A Fourth Paradigm of Science
- Video: Data-Intensive Science Examples
- Video: Big Data and the 3 Vs
- Video: Big Data Definitions
- Video: Big Data Sources
- Reading: Supplementary: Three-Course Reading List
- Reading: Supplementary: Resources for Learning Python
- Video: Course Logistics
- Reading: Supplementary: Class Virtual Machine
- Reading: Supplementary: Github Instructions
- Video: Twitter Assignment: Getting Started
Graded: Twitter Sentiment Analysis
WEEK 2
Relational Databases and the Relational Algebra
Relational Databases are the workhouse of large-scale data management. Although originally motivated by problems in enterprise operations, they have proven remarkably capable for analytics as well. But most importantly, the principles underlying relational databases are universal in managing, manipulating, and analyzing data at scale. Even as the landscape of large-scale data systems has expanded dramatically in the last decade, relational models and languages have remained a unifying concept. For working with large-scale data, there is no more important programming model to learn.
24 videos expand
- Video: Data Models, Terminology
- Video: From Data Models to Databases
- Video: Pre-Relational Databases
- Video: Motivating Relational Databases
- Video: Relational Databases: Key Ideas
- Video: Algebraic Optimization Overview
- Video: Relational Algebra Overview
- Video: Relational Algebra Operators: Union, Difference, Selection
- Video: Relational Algebra Operators: Projection, Cross Product
- Video: Relational Algebra Operators: Cross Product cont'd, Join
- Video: Relational Algebra Operators: Outer Join
- Video: Relational Algebra Operators: Theta-Join
- Video: From SQL to RA
- Video: Thinking in RA: Logical Query Plans
- Video: Practical SQL: Binning Timeseries
- Video: Practical SQL: Genomic Intervals
- Video: User-Defined Functions
- Video: Support for User-Defined Functions
- Video: Optimization: Physical Query Plans
- Video: Optimization: Choosing Physical Plans
- Video: Declarative Languages
- Video: Declarative Languages: Examples
- Video: Views: Logical Data Independence
- Video: Indexes
Graded: SQL for Data Science Assignment
WEEK 3
MapReduce and Parallel Dataflow Programming
The MapReduce programming model (as distinct from its implementations) was proposed as a simplifying abstraction for parallel manipulation of massive datasets, and remains an important concept to know when using and evaluating modern big data platforms.
26 videos expand
- Video: What Does Scalable Mean?
- Video: A Sketch of Algorithmic Complexity
- Video: A Sketch of Data-Parallel Algorithms
- Video: "Pleasingly Parallel" Algorithms
- Video: General Distributed Algorithms
- Video: MapReduce Abstraction
- Video: MapReduce Data Model
- Video: Map and Reduce Functions
- Video: MapReduce Simple Example
- Video: MapReduce Simple Example cont'd
- Video: MapReduce Example: Word Length Histogram
- Video: MapReduce Examples: Inverted Index, Join
- Video: Relational Join: Map Phase
- Video: Relational Join: Reduce Phase
- Video: Simple Social Network Analysis: Counting Friends
- Video: Matrix Multiply Overview
- Video: Matrix Multiply Illustrated
- Video: Shared Nothing Computing
- Video: MapReduce Implementation
- Video: MapReduce Phases
- Video: A Design Space for Large-Scale Data Systems
- Video: Parallel and Distributed Query Processing
- Video: Teradata Example, MR Extensions
- Video: RDBMS vs. MapReduce: Features
- Video: RDBMS vs. Hadoop: Grep
- Video: RDBMS vs. Hadoop: Select, Aggregate, Join
Graded: Thinking in MapReduce
WEEK 4
NoSQL: Systems and Concepts
NoSQL systems are purely about scale rather than analytics, and are arguably less relevant for the practicing data scientist. However, they occupy an important place in many practical big data platform architectures, and data scientists need to understand their limitations and strengths to use them effectively.
36 videos expand
- Video: NoSQL Context and Roadmap
- Video: NoSQL Roundup
- Video: Relaxing Consistency Guarantees
- Video: Two-Phase Commit and Consensus Protocols
- Video: Eventual Consistency
- Video: CAP Theorem
- Video: Types of NoSQL Systems
- Video: ACID, Major Impact Systems
- Video: Memcached: Consistent Hashing
- Video: Consistent Hashing, cont'd
- Video: DynamoDB: Vector Clocks
- Video: Vector Clocks, cont'd
- Video: CouchDB Overview
- Video: CouchB Views
- Video: BigTable Overview
- Video: BigTable Implementation
- Video: HBase, Megastore
- Video: Spanner
- Video: Spanner cont'd, Google Systems
- Video: MapReduce-based Systems
- Video: Bringing Back Joins
- Video: NoSQL Rebuttal
- Video: Almost SQL: Pig
- Video: Pig Architecture and Performance
- Video: Data Model
- Video: Load, Filter, Group
- Video: Group, Distinct, Foreach, Flatten
- Video: CoGroup, Join
- Video: Join Algorithms
- Video: Skew
- Video: Other Commands
- Video: Evaluation Walkthrough
- Video: Review
- Video: Context
- Video: Spark Examples
- Video: RDDs, Benefits
Graph Analytics
Graph-structured data are increasingly common in data science contexts due to their ubiquity in modeling the communication between entities: people (social networks), computers (Internet communication), cities and countries (transportation networks), or corporations (financial transactions). Learn the common algorithms for extracting information from graph data and how to scale them up.
21 videos expand
- Video: Graph Overview
- Video: Structural Analysis
- Video: Degree Histograms, Structure of the Web
- Video: Connectivity and Centrality
- Video: PageRank
- Video: PageRank in more Detail
- Video: Traversal Tasks: Spanning Trees and Circuits
- Video: Traversal Tasks: Maximum Flow
- Video: Pattern Matching
- Video: Querying Edge Tables
- Video: Relational Algebra and Datalog for Graphs
- Video: Querying Hybrid Graph/Relational Data
- Video: Graph Query Example: NSA
- Video: Graph Query Example: Recursion
- Video: Evaluation of Recursive Programs
- Video: Recursive Queries in MapReduce
- Video: The End-Game Problem
- Video: Representation: Edge Table, Adjacency List
- Video: Representation: Adjacency Matrix
- Video: PageRank in MapReduce
- Video: PageRank in Pregel
There are no frequently asked questions yet. If you have any more questions or need help, contact our customer service.
