Packt, 2018. — 456 p. — ASIN B07G4D4NNV.
Are you an architect or a developer who looks at your own applications gingerly while browsing through Facebook and applauding it silently for its data-intensive, yet fluent and efficient, behaviour? This book is your gateway to build smart data-intensive systems by incorporating the core data-intensive architectural principles, patterns, and techniques directly into your application architecture.
This book starts by taking you through the primary design challenges involved with architecting data-intensive applications. You will learn how to implement data curation and data dissemination, depending on the volume of your data. You will then implement your application architecture one step at a time. You will get to grips with implementing the correct message delivery protocols and creating a data layer that doesn’t fail when running high traffic. This book will show you how you can divide your application into layers, each of which adheres to the single responsibility principle. By the end of this book, you will learn to streamline your thoughts and make the right choice in terms of technologies and architectural principles based on the problem at hand.
What you will learnUnderstand how to envision a data-intensive system
Identify and compare the non-functional requirements of a data collection component
Understand patterns involving data processing, as well as technologies that help to speed up the development of data processing systems
Understand how to implement Data Governance policies at design time using various Open Source Tools
Recognize the anti-patterns to avoid while designing a data store for applications
Understand the different data dissemination technologies available to query the data in an efficient manner
Implement a simple data governance policy that can be extended using Apache Falcon
Who this book is forThis book is for developers and data architects who have to code, test, deploy, and/or maintain large-scale, high data volume applications. It is also useful for system architects who need to understand various non-functional aspects revolving around Data Intensive Systems.
Exploring the Data Ecosystem
Defining a Reference Architecture for Data Intensive Systems
Patterns of the Data Intensive Architecture
Discussing Data-Centric Architectures
Understanding Data Collection and Normalization Requirements and Techniques
Creating a Data Pipeline for Consistent Data Collection, Processing, and Dissemination
Building a Robust and Fault-Tolerant Data Collection System
Challenges of Data Processing
Handling Streams of Data
Let Us Store the Data
When Data Dissemination is as Important as Data Itself.