در دیتابیس های توزیع شده چون نودها در کلاستر باید با هم مکاتبه کنند باید P باشه در نتیجه شما باید بین CوA یکی رو انتخاب کنید. برای بدست آوردن A باید داده ها رو replicate کنید.یعنی اگر سه نود به نام a,b,c دارید باید یک کپی در همه نود ها باشه.به این ترتیب اگر هر کدام از نود ها خراب شد کپی دیگه در دسترس باشه که همان ویژگی Availability هست.فرض کنید داده جدید در حال نوشته شدن در a هست اما هنوز فرصت نشده که در b,c نوشته بشه،در همین حین یک عملیات خواندن در b یا c صورت می گیره در نتیجه نود a داده جدید داره اما بقیه نود ها داده قدیمی دارند. در نتیجه اصل consistency که میگه داده های همه نود ها باید یکسان باشه زیر سوال میره.پس اگر قصد دارید برای دسترس پذیری یعنی همان A چند کپی از داده را داشته باشید باید قید C را بزنید.اما این نوع دیتابیس های AP مکانیزیمی در نظر گرفتند که بتوانند C را هم ساپورت کنند که بهش می گن eventually consistency.
پس شما بر اساس نیازتان بین C و A یکی را انتخاب کنید.اما دیتابیس هایی هستند مانند مانگو که انعطاف پذیرند.یعنی این دیتابیس اصولا از نوع CP هست.چون تمام عملیات خواندن و نوشتن به سمت نود مستر میره اما اگر در تنظیمات اجازه بدی که نود های slave هم اجازه خواندن داشته باشند آنوقت این دیتابیس به نوع AP تبدیل میشه.