Book Image

Architecting Data-Intensive Applications

By : Anuj Kumar
Book Image

Architecting Data-Intensive Applications

By: Anuj Kumar

Overview of this book

<p>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.</p> <p>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.</p>
Table of Contents (18 chapters)
Title Page
Packt Upsell
Contributors
Preface
Index

Summary


This chapter is the backbone for the chapters to come. We discussed a lot of challenges that every person/architect should be aware of when creating a data processing system within their organization. We discussed how to enable the large scale processing of data while keeping the overall system costs lower and how to keep the overall processing time within the defined SLA as the load on the processing system increases. Further, we learned that moving to the scale out architecture for data processing requires significant engineering effort as well as a shift in your perspective, and that the underlying components of the data processing system should not share resources but should be independent of each other. We covered the idea that failure is not an exception—the system should be built to handle failures. We also learned that the processing of data doesn't have to be always stream-like. The use case defines the processing pipeline design and not the other way around. We looked at...