
سلام به همگی
تو پست قبلی باهم در مورد فصل اول از کتاب Designing Data Intensive Applications ، صحبت کردیم.
امیدوارم که براتون مفید بوده باشه.
قصد داشتم فصل دوم رو اضافه کنم، اما به تازگی نسخه جدیدی از همین کتاب توسط مارتین کلپمن با همکاری کریس ریکومینی (خالق Apache Samza) منتشر شده که تنها یک سری آپدیت های جزئی نیست، بلکه بازنویسی کامل مفاهیم زیرساخت داده برای عصر Cloud و AI هست.
بنابراین تصمیم گرفتم در این پست مختصرا در مورد تغییرات کلی این نسخه صحبت کنم و در ادامه مسیر توضیحات نسخه آخر کتاب رو باهم جلو بریم.
چه تغییراتی تو ورژن جدید کتاب داشتیم؟
خداحافظی رسمی با MapReduce: این فناوری دیگه داره میمیره! تمرکز نسخه جدید کاملاً بر روی معماریهای Cloud-Native، Object Storage (مثل S3) و فریمورکهای مدرنی چون Spark، Flink و Kafka هست.
ورود مقتدرانه به عصر AI: اضافه شدن مباحثی مثل DataFrame ها و Vector Embeddings تا نشون بده مدل های داده برای تغذیه پایپ لاین های ML چطور باید طراحی بشه.
اعتبارسنجی سیستمها (System Validation): نقطه ضعف نسخه اول جبران شد! یک فصل کاملاً جدید و هیجانانگیز که یاد میده چطور با روشهای رسمی (Formal Methods)، مهندسی آشوب (Chaos Engineering) و شبیهسازی ریاضی، درستی سیستم distributed خودتون رو تحت فشار بالا اثبات کنید.
نگاه عمیقتر به Stream Processing: با حضور ریکومینی، مفاهیم پردازش جریانی، معماریهای Lambda و Kappa و ادغام Batch و Stream با استانداردهای ۲۰۲۶ بهروز شدند.
چرا باید این کتاب رو بخونیم؟
ما در کار روزمره مدام با Spark یا Kafka کار میکنیم، اما آیا میدونیم دقیقاً پشت صحنه آنها چی میگذره؟
چرا دیتابیسهای مدرن مثل TiDB از LSM-Tree استفاده میکنن در حالی که PostgreSQL هنوز روی B-Tree مونده؟
ما میخوایم به جای اینکه تنها استفاده کننده از ابزار ها باشیم به یک معمار نرم افزار تبدیل بشیم، بتونیم بین trade-off ها تحلیل و تصمیم گیری کنیم.
از زبان جی کِرپس (خالق کافکا) :
«این کتاب پلی است بین تئوری سیستمهای توزیعشده و مهندسی عملی. ای کاش ده سال پیش وجود داشت تا مجبور نبودم اشتباهات را خودم تجربه کنم.»
به زودی در ادامه سری پست های مربوط به این کتاب، با نسخه جدید جلو میریم و آپدیت ترین مفاهیم رو باهم یاد میگیریم.
لینک دانلود این نسخه جدید رو در کامنت های همین پست براتون قرار میدم.