Architecting Data-Intensive Applications
- Length: 340 pages
- Edition: 1
- Language: English
- Publisher: Packt Publishing
- Publication Date: 2018-07-31
- ISBN-10: 1786465094
- ISBN-13: 9781786465092
- Sales Rank: #2397079 (See Top 100 Books)
Architect and design data-intensive applications and, in the process, learn how to collect, process, store, govern, and expose data for a variety of use cases
Key Features
- Integrate the data-intensive approach into your application architecture
- Create a robust application layout with effective messaging and data querying architecture
- Enable smooth data flow and make the data of your application intensive and fast
Book Description
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 ?uent 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 learn
- Understand 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 for
This 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.
Table of Contents
- 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
- Let Us Process Data in Batches
- Handling Streams of Data
- Let Us Store the Data
- When Data Dissemination is as Important as Data Itself