NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence
ما حدود ۲۰ سال است که در دنیای محاسبات سازمانی سپری کرده ایم. در این مدت دیده ایم که خیلی چیزها در زبان ها، معماری ها، پلتفرمها و فرآیندها تغییر کرده اند. اما در تمام این مدت یک چیز ثابت باقی مانده است و آن این است که هنوز هم پایگاه دادههای رابطه ای، دادهها را ذخیره میکنند. رقیب هایی نیز وجود داشتند که برخی از آنها در موقعیت هایی موفقیت هایی نیز کسب کردند، اما در کل برای معماران در مورد ذخیره سازی داده، همیشه این سوال مطرح بوده است که از کدام پایگاه داده رابطه ای استفاده شود.
نیاز به مدیریت حجم فزاینده دادههای بزرگتر، یکی از عوامل قبول کلاس جدیدی از پایگاه دادههای «NoSQL» غیر رابطه ای شد. طرفداران پایگاه دادههای NoSQL ادعا میکنند که میتوان از آنها برای ساختن سیستم هایی استفاده کرد که کاراتر هستند، بهتر مقیاس پذیر میشوند و برنامه نویسی با آنها سادهتر است.
بخش اول کتاب NoSQL Distilled، بر روی مفاهیم اصلی از جمله مدلهای داده بدون طرح، aggregates، مدلهای جدید توزیع، تئوری CAP و map-reduce تمرکز دارد. در بخش دوم، نویسندگان موضوعات معماری و طراحی مرتبط با پیاده سازی NoSQL را بررسی میکنند. آنها همچنین به موارد استفاده واقعی NoSQL در کار را نشان میدهند و مثال هایی را با استفاده از Riak، MongoDB، Cassandra و Neo4j بررسی میکنند.
این کتاب میکوشد تا اطلاعات کافی را برای پاسخ به این سؤال که آیا بانکهای اطلاعاتی NoSQL برای پروژههای آینده شما ارزش توجه دارند یا نه را در اختیار شما قرار دهد. هر پروژه ای متفاوت است، و به هیچ وجه نمیتوانیم یک درخت تصمیم ساده برای انتخاب یک ذخیره ساز مناسب داده بنویسیم. درعوض ، آنچه ما در اینجا تلاش میکنیم این است که پیش زمینه کافی در مورد نحوه کارکرد پایگاه دادههای NoSQL را در اختیار شما قرار دهیم، تا بتوانید خودتان این قضاوتها را انجام دهید بدون این که مجبور شوید کل وب را بگردید.
Table of Contents
Part I: Understand
Chapter 1: Why NoSQL?
Chapter 2: Aggregate Data Models
Chapter 3: More Details on Data Models
Chapter 4: Distribution Models
Chapter 5: Consistency
Chapter 6: Version Stamps
Chapter 7: Map-Reduce
Part II: Implement
Chapter 8: Key-Value Databases
Chapter 9: Document Databases
Chapter 10: Column-Family Stores
Chapter 11: Graph Databases
Chapter 12: Schema Migrations
Chapter 13: Polyglot Persistence
Chapter 14: Beyond NoSQL
Chapter 15: Choosing Your Database