- عنوان کتاب: Designing Data-Intensive Applications, 2nd Edition
- نویسنده: Agbotiname Lucky Imoize
- حوزه: طراحی نرمافزار
- سال انتشار: 2026
- تعداد صفحه: 673
- زبان اصلی: انگلیسی
- نوع فایل: pdf
- حجم فایل: 17.8 مگابایت
صدها پایگاه داده برای انتخاب وجود دارد. کدام یک را باید برای برنامه خود استفاده کنید؟ پاسخ کوتاه این است: «بستگی دارد». پاسخ طولانی این است… این کتاب. فناوریهای مختلف برای ذخیره و پردازش دادهها، بدهبستانهای متفاوتی دارند و هیچ رویکردی برای همه موقعیتها بهترین نیست. سیستمی که برای یک برنامه کاملاً مناسب است، برای برنامه دیگر مناسب نیست. این کتاب راهنمایی برای کل چشمانداز سیستمهای داده است، نه فقط با نگاهی به یک محصول، بلکه با مقایسه نقاط قوت و ضعف بسیاری از سیستمها. اگرچه چشمانداز فناوریهای پردازش و ذخیره دادهها متنوع و به سرعت در حال تغییر است، اما اصول اساسی پابرجا میمانند. اگر این اصول را درک کنید، میتوانید ببینید که هر ابزار در کجا جای میگیرد، چگونه از آن به خوبی استفاده کنید و چگونه از مشکلات آن جلوگیری کنید. این کتاب بر این اصول تمرکز دارد. اگرچه این کتاب آموزشی برای استفاده از یک ابزار خاص نیست، اما کتابی پر از تئوریهای خشک نیز نیست. در عوض، ما به نمونههای زیادی از سیستمهای داده موفق نگاه خواهیم کرد: فناوریهایی که پایه و اساس برنامههای محبوب متعددی را تشکیل میدهند و باید هر روز الزامات مقیاسپذیری، عملکرد و قابلیت اطمینان را در تولید برآورده کنند. ما به درون این سیستمها خواهیم پرداخت، الگوریتمهای کلیدی آنها را بررسی خواهیم کرد و در مورد بدهبستانهایی که انجام دادهاند بحث خواهیم کرد. در این سفر، سعی خواهیم کرد روشهای مفیدی برای تفکر در مورد سیستمهای داده پیدا کنیم – نه فقط نحوه کار آنها، بلکه دلیل کار آنها به این شکل. پس از خواندن این کتاب، شما در موقعیت بسیار خوبی برای تعیین اینکه کدام نوع فناوریها برای کدام اهداف مناسب هستند و درک خواهید کرد که چگونه ابزارها میتوانند برای تشکیل پایه و اساس یک معماری کاربردی قوی ترکیب شوند. شما یک شهود قوی برای آنچه سیستمهای شما در زیر کاپوت انجام میدهند، ایجاد خواهید کرد تا بتوانید در مورد رفتار آنها استدلال کنید، تصمیمات طراحی خوبی بگیرید و هرگونه مشکلی را که ممکن است پیش بیاید، ردیابی کنید. فلسفه راهنمای این کتاب، گرد هم آوردن طیف گستردهای از دیدگاهها است: هم نظری و هم عملی، هم جدید و هم قدیمی. صنعت محاسبات تمایل دارد به چیزهای جدید و براق جذب شود و به ایدههایی که قدیمی یا دانشگاهی تلقی میشوند، نگاه تحقیرآمیز داشته باشد. این یک اشتباه است؛ بسیاری از ایدههای قدرتمند و بنیادی در محاسبات از تحقیقات، برخی اخیر، برخی دههها پیش، ناشی شدهاند. از سوی دیگر، دانشگاهها گاهی اوقات فاقد ایده روشنی از اینکه چه مسائلی در عمل مهم هستند، هستند. این کتاب بهترینهای هر دو را با هم ترکیب میکند: دقت آکادمیک و توجه به جزئیات با تمرکز صنعتی بر عملی بودن.
There are hundreds of databases to choose from. Which one should you use for your application? The short answer is, “It depends.” The long answer is…this book. Different technologies for storing and processing data make different trade-offs, and no one approach is best for all situations. The system that is a perfect fit for one application is badly suited to another. This book is a guide to the entire landscape of data systems, not just looking at one product, but comparing the strengths and weaknesses of many systems. Although the landscape of technologies for processing and storing data is diverse and fast-changing, the underlying principles endure. If you understand those principles, you’re in a position to see where each tool fits in, how to make good use of it, and how to avoid its pitfalls. This book focuses on those principles. While this book is not a tutorial for using one particular tool, it isn’t a textbook full of dry theory either. Instead, we will look at many examples of successful data systems: technologies that form the foundation of numerous popular applications and that have to meet scalability, performance, and reliability requirements in production every day. We will dig into the internals of those systems, tease apart their key algorithms, and discuss the trade-offs they have made. On this journey, we will try to find useful ways of thinking about data systems—not just how they work, but also why they work that way. After reading this book, you will be in a great position to determine which kinds of technologies are appropriate for which purposes and to understand how tools can be combined to form the foundation of a solid application architecture. You will develop a strong intuition for what your systems are doing under the hood so that you can reason about their behavior, make good design decisions, and track down any problems that may arise. The guiding philosophy of this book is to bring together a broad range of perspectives: both theoretical and practical, both recent and old. The computing industry tends to be attracted to things that are new and shiny and to look down on ideas that are considered old or academic. That is a mistake; many powerful, foundational ideas in computing arose from research, some recent, some decades ago. On the other hand, academia sometimes lacks a clear idea of what issues are important in practice. This book combines the best of both: academic precision and attention to detail with an industrial focus on practicality.
این کتاب را میتوانید از لینک زیر بصورت رایگان دانلود کنید:
Download: Designing Data-Intensive Applications, 2nd Edition





نظرات کاربران