Chapter 2 Architecting Data-Intensive Software Systems | AMiner