اجرای توزیع توزیع شده چند سند معاملات ACID در Couchbase: راهنمای راهنما

عکس پروفایل ظهر دنیس روزا هکر

معاملات اسیدی ضروری است وقتی شما در برنامه خود نیازهای دقیق سازگاری داده داشته باشید.

هزینه های اجرای معاملات در سیستم های توزیع شده می تواند به سرعت گلوگاه هایی را در مقیاس وسیع ایجاد کند. در این مقاله ، ما به شما یک نمای کلی از برخی از چالش های پیش روی پایگاه داده های NoSQL و NewSQL خواهیم داد.

سپس ، ما عمیقاً خواهیم فهمید که چگونه Couchbase یک مدل معامله توزیع شده مقیاس پذیر را بدون هماهنگی مرکزی و یک نقطه خرابی واحد پیاده سازی کرده است. علاوه بر این ، من همچنین مختصراً توضیح خواهم داد که پشتیبانی از معاملات در N1QL در Couchbase 7.0 به نظر می رسد.

برخی از جزئیات جزئی به دلیل سادگی حذف شدند.

معاملات رابطه ای در مقابل NewSQL در مقابل NoSQL

قبل از شروع توضیح چگونگی پیاده سازی پشتیبانی Couchbase از معاملات ، لازم است ابتدا خصوصیات ذاتی اتمی بودن را در پایگاه داده های رابطه ای و NoSQL توضیح دهم (با استفاده از مدل های داده نیمه ساخت یافته مانند JSON):

اتمی در RDBMS

فرض کنیم شما نیاز به ذخیره یک کاربر جدید در پایگاه داده دارید. به طور طبیعی ، از آنجا که جداول زیادی با آن در ارتباط است ، قرار دادن کاربر به درج در بسیاری از جداول دیگر نیز نیاز دارد:

از آنجا که مدل رابطه ای شما را مجبور می کند تا همه چیز را در “جعبه ها” ذخیره کرده و داده های خود را به قطعات کوچک تقسیم کنید ، افزودن کاربر جدید باید همیشه در متن معاملات اجرا شود …