Jump to content

CAP թեորեմ

Վիքիպեդիայից՝ ազատ հանրագիտարանից

Տվյալների բազայի տեսության մեջ CAP թեորեմը, որը նաև կոչվում է Բրյուերի թեորեմ՝ համակարգչային գիտնական Էրիկ Բրյուերի անունով, ասում է, որ ցանկացած բաշխված տվյալների պահոց կարող է միաժամանակ ապահովել միայն երեք ստորև նշված երաշխիքներից երկուսը.[1][2][3]

Համապատասխանություն (Consistency)

Կարդալու (read) յուրաքանչյուր գործողություն պետք է վերադարձնի կամ ամենավերջին գրառումը (write), կամ սխալ։ Նշենք, որ CAP թեորեմում կիրառվող «համապատասխանություն» եզրույթը տարբերվում է ACID տրանզակցիաներում օգտագործվող համապատասխանությունից։[4]

Հասանելիություն (Availability)

Ցանկացած պահանջ, որը ստանում է չվթարված հանգույցը (node), պարտադիր պետք է հանգեցնի պատասխանի։ Նշենք, որ CAP թեորեմի հասանելիությունը չի նույնանում «բարձր հասանելիության» (high availability) գաղափարի հետ, որն օգտագործվում է ծրագրային ճարտարապետությունում։[1]

Բաժանման հանդուրժողականություն (Partition tolerance)

Համակարգը շարունակում է գործել նույնիսկ այն դեպքում, երբ ցանցում հաղորդագրությունները կարող են անհետանալ կամ ուշանալ հանգույցների միջև։

Երբ ցանցում տեղի է ունենում բաժանում (network partition), համակարգը պետք է ընտրություն կատարի՝

  • կամ չեղարկել գործողությունը, այսինքն՝ հրաժարվել հասանելիությունից՝ փոխարենը պահպանելով համապատասխանությունը,
  • կամ շարունակել գործողությունը, այսինքն՝ ապահովել հասանելիությունը՝ փոխարենը վտանգելով համապատասխանությունը։[5]

Այս ընտրությունը չի նշանակում, որ համակարգը միշտ կլինի «բարձր հասանելի», այլ միայն՝ որ այն կպատասխանի։

Ծանոթագրություն

[խմբագրել | խմբագրել կոդը]
  1. 1,0 1,1 Gilbert, Seth; Lynch, Nancy (2002). «Brewer's conjecture and the feasibility of consistent, available, partition-tolerant web services». ACM SIGACT News. Association for Computing Machinery (ACM). 33 (2): 51–59. doi:10.1145/564585.564601. ISSN 0163-5700. S2CID 15892169.
  2. «Brewer's CAP Theorem». julianbrowne.com. 2009 թ․ հունվարի 11.
  3. Eric A. Brewer (2000). Towards Robust Distributed Systems (PDF). Principles on Distributed Computing (PODC).
  4. Liochon, Nicolas. «The confusing CAP and ACID wording». This long run. Վերցված է 2019 թ․ փետրվարի 1-ին.
  5. Քաղվածելու սխալ՝ Սխալ <ref> պիտակ՝ «Fowler 2015» անվանումով ref-երը տեքստ չեն պարունակում: