Architecting Data Intensive Applications
內容描述
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 casesKey FeaturesIntegrate the data-intensive approach into your application architectureCreate a robust application layout with effective messaging and data querying architectureEnable smooth data flow and make the data of your application intensive and fastBook DescriptionAre 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 learnUnderstand how to envision a data-intensive systemIdentify and compare the non-functional requirements of a data collection componentUnderstand patterns involving data processing, as well as technologies that help to speed up the development of data processing systemsUnderstand how to implement Data Governance policies at design time using various Open Source ToolsRecognize the anti-patterns to avoid while designing a data store for applicationsUnderstand the different data dissemination technologies available to query the data in an efficient mannerImplement a simple data governance policy that can be extended using Apache FalconWho 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.Table of ContentsExploring the Data EcosystemDefining a Reference Architecture for Data Intensive Systems Patterns of the Data Intensive ArchitectureDiscussing Data-Centric ArchitecturesUnderstanding Data Collection and Normalization Requirements and TechniquesCreating a Data Pipeline for Consistent Data Collection, Processing, and DisseminationBuilding a Robust and Fault-Tolerant Data Collection SystemChallenges of Data ProcessingLet Us Process Data in BatchesHandling Streams of DataLet Us Store the DataWhen Data Dissemination is as Important as Data Itself