1 INTRODUCTION  
2 A UNIFYING MODEL FOR DATA-INTENSIVE SYSTEMS  
2.1 Functional model  
2.2 Jobs and their lifecycle: from definition to execution  
2.4 State management  
2.5 Tasks grouping  
2.7 Fault tolerance  
2.8 Dynamic reconfiguration  
3 SURVEY OF DATA-INTENSIVE SYSTEMS  
4 DATA MANAGEMENT SYSTEMS  
4.1 Overview  
4.2 NoSQL systems  
4.3 NewSQL systems  
5 DATA PROCESSING SYSTEMS  
5.1 Overview  
5.2 Dataflow with task-level deployment  
5.3 Dataflow with job-level deployment  
5.4 Graph processing  
6 OTHER SYSTEMS  
6.1 Computations on data management systems  
6.2 New programming models  
6.3 Hybrid systems  
7 DISCUSSION  
8 CONCLUSION