데이터 베이스 MySQL 튜토리얼 CAP理论十二年回顾:规则变了

CAP理论十二年回顾:规则变了

Jun 07, 2016 pm 05:56 PM
검토 이론 규칙

本文首发于 Computer 杂志,由InfoQ和IEEE呈现给您。 CAP理论断言任何基于网络的数据共享系统,最多只能满足数据一致性、可用性、分区容忍性三要素中的两个要素。但是通过显式处理分区情形,系统设计师可以做到优化数据一致性和可用性,进而取得三者之间的平

本文首发于  Computer 杂志,由InfoQ和IEEE呈现给您。

CAP理论断言任何基于网络的数据共享系统,最多只能满足数据一致性、可用性、分区容忍性三要素中的两个要素。但是通过显式处理分区情形,系统设计师可以做到优化数据一致性和可用性,进而取得三者之间的平衡。

自打引入CAP理论的十几年里,设计师和研究者已经以它为理论基础探索了各式各样新颖的分布式系统,甚至到了滥用的程度。NoSQL运动也将CAP理论当作对抗传统关系型数据库的依据。

CAP理论主张任何基于网络的数据共享系统,都最多只能拥有以下三条中的两条:

CAP理论的表述很好地服务了它的目的,即开阔设计师的思路,在多样化的取舍方案下设计出多样化的系统。在过去的十几年里确实涌现了不计其数的新系统,也随之在数据一致性和可用性的相对关系上产生了相当多的争论。“三选二”的公式一直存在着误导性,它会过分简单化各性质之间的相互关系。现在我们有必要辨析其中的细节。实际上只有“在分区存在的前提下呈现完美的数据一致性和可用性”这种很少见的情况是CAP理论不允许出现的。

虽然设计师仍然需要在分区的前提下对数据一致性和可用性做取舍,但具体如何处理分区和恢复一致性,这里面有不计其数的变通方案和灵活度。当代CAP实践应将目标定为针对具体的应用,在合理范围内最大化数据一致性和可用性的“合力”。这样的思路延伸为如何规划分区期间的操作和分区之后的恢复,从而启发设计师加深对CAP的认识,突破过去由于CAP理论的表述而产生的思维局限。

Why "2 of 3" is missleading 为什么“三选二”公式有误导性

理解CAP理论的最简单方式是想象两个节点分处分区两侧。允许至少一个节点更新状态会导致数据不一致,即丧失了C性质。如果为了保证数据一致性,将分区一侧的节点设置为不可用,那么又丧失了A性质。除非两个节点可以互相通信,才能既保证C又保证A,这又会导致丧失P性质。一般来说跨区域的系统,设计师无法舍弃P性质,那么就只能在数据一致性和可用性上做一个艰难选择。不确切地说,NoSQL运动的主题其实是创造各种可用性优先、数据一致性其次的方案;而传统数据库坚守ACID特性(原子性、一致性、隔离性、持久性),做的是相反的事情。下文“ACID、BASE、CAP”小节详细说明了它们的差异。

事实上,CAP理论本身就是在类似的讨论中诞生的。早在1990年代中期,我和同事构建了一系列的基于集群的跨区域系统(实质上是早期的云计算),包括搜索引擎、缓存代理以及内容分发系统1。从收入目标以及合约规定来讲,系统可用性是首要目标,因而我们常规会使用缓存或者事后校核更新日志来优化系统的可用性。尽管这些策略提升了系统的可用性,但这是以牺牲系统数据一致性为代价的。

关于“数据一致性 VS 可用性”的第一回合争论,表现为ACID与BASE之争2。当时BASE还不怎么被人们接受,主要是大家看重ACID的优点而不愿意放弃。提出CAP理论,目的是证明有必要开拓更广阔的设计空间,因此才有了“三选二”公式。CAP理论最早在1998年秋季提出,1999年正式发表3,并在2000年登上Symposium on Principles of Distributed Computing大会的主题演讲4,最终确立了该理论的正确性。

“三选二”的观点在几个方面起了误导作用,详见下文“CAP之惑”小节的解释。首先,由于分区很少发生,那么在系统不存在分区的情况下没什么理由牺牲C或A。其次,虚拟主机,C与A之间的取舍可以在同一系统内以非常细小的粒度反复发生,而每一次的决策可能因为具体的操作,乃至因为牵涉到特定的数据或用户而有所不同。最后,这三种性质都可以在程度上衡量,并不是非黑即白的有或无。可用性显然是在0%到100%之间连续变化的,一致性分很多级别,连分区也可以细分为不同含义,如系统内的不同部分对于是否存在分区可以有不一样的认知。

要探索这些细微的差别,就要突破传统的分区处理方式,而这是一项根本性的挑战。因为分区很少出现,CAP在大多数时候允许完美的C和A。但当分区存在或可感知其影响的情况下,就要预备一种策略去探知分区并显式处理其影响。这样的策略应分为三个步骤:探知分区发生,进入显式的分区模式以限制某些操作,启动恢复过程以恢复数据一致性并补偿分区期间发生的错误。

ACID、BASE、CAP

ACID和BASE代表了两种截然相反的设计哲学,分处一致性-可用性分布图谱的两极。ACID注重一致性,香港服务器,是数据库的传统设计思路。我和同事在1990年代晚期提出BASE,目的是抓住当时正逐渐成型的一些针对高可用性的设计思路,并且把不同性质之间的取舍和消长关系摆上台面。现代大规模跨区域分布的系统,包括云在内,同时运用了这两种思路。

这两个术语都好记有余而精确不足,出现较晚的BASE硬凑的感觉更明显,它是“Basically Available, Soft state, Eventually consistent(基本可用、软状态、最终一致性)”的首字母缩写。其中的软状态和最终一致性这两种技巧擅于对付存在分区的场合,并因此提高了可用性。

CAP与ACID的关系更复杂一些,也因此引起更多误解。其中一个原因是ACID的C和A字母所代表的概念不同于CAP的C和A。还有一个原因是选择可用性只部分地影响ACID约束。ACID四项特性分别为:

原子性(A)。所有的系统都受惠于原子性操作。当我们考虑可用性的时候,没有理由去改变分区两侧操作的原子性。而且满足ACID定义的、高抽象层次的原子操作,实际上会简化分区恢复。

一致性(C)。ACID的C指的是事务不能破坏任何数据库规则,如键的唯一性。与之相比,CAP的C仅指单一副本这个意义上的一致性,因此只是ACID一致性约束的一个严格的子集。ACID一致性不可能在分区过程中保持,因此分区恢复时需要重建ACID一致性。推而广之,分区期间也许不可能维持某些不变性约束,所以有必要仔细考虑哪些操作应该禁止,分区后又如何恢复这些不变性约束。

隔离性(I)。隔离是CAP理论的核心:如果系统要求ACID隔离性,那么它在分区期间最多可以在分区一侧维持操作。事务的可串行性(serializability)要求全局的通信,因此在分区的情况下不能成立。只要在分区恢复时进行补偿,在分区前后保持一个较弱的正确性定义是可行的。

持久性(D)。牺牲持久性没有意义,理由和原子性一样,虽然开发者有理由(持久性成本太高)选择BASE风格的软状态来避免实现持久性。这里有一个细节,分区恢复可能因为回退持久性操作,而无意中破坏某项不变性约束。但只要恢复时给定分区两侧的持久性操作历史记录,破坏不变性约束的操作还是可以被检测出来并修正的。通常来讲,让分区两侧的事务都满足ACID特性会使得后续的分区恢复变得更容易,并且为分区恢复时事务的补偿工作奠定了基本的条件。

CAP和延迟的联系

CAP理论的经典解释,是忽略网络延迟的,但在实际中延迟和分区紧密相关。CAP从理论变为现实的场景发生在操作的间歇,系统需要在这段时间内做出关于分区的一个重要决定:

最后一步的目的是恢复一致性,以及补偿在系统分区期间程序产生的错误。

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

'Defect Spectrum'은 기존 결함 감지의 경계를 뛰어넘어 초고정밀 및 풍부한 의미론적 산업 결함 감지를 최초로 달성합니다. 'Defect Spectrum'은 기존 결함 감지의 경계를 뛰어넘어 초고정밀 및 풍부한 의미론적 산업 결함 감지를 최초로 달성합니다. Jul 26, 2024 pm 05:38 PM

현대 제조업에서 정확한 결함 검출은 제품 품질을 보장하는 열쇠일 뿐만 아니라 생산 효율성을 향상시키는 핵심이기도 합니다. 그러나 기존 결함 감지 데이터세트는 실제 적용에 필요한 정확성과 의미론적 풍부함이 부족한 경우가 많아 모델이 특정 결함 카테고리나 위치를 식별할 수 없게 됩니다. 이 문제를 해결하기 위해 광저우 과학기술대학교와 Simou Technology로 구성된 최고 연구팀은 산업 결함에 대한 상세하고 의미론적으로 풍부한 대규모 주석을 제공하는 "DefectSpectrum" 데이터 세트를 혁신적으로 개발했습니다. 표 1에서 볼 수 있듯이, 다른 산업 데이터 세트와 비교하여 "DefectSpectrum" 데이터 세트는 가장 많은 결함 주석(5438개의 결함 샘플)과 가장 상세한 결함 분류(125개의 결함 카테고리)를 제공합니다.

NVIDIA 대화 모델 ChatQA는 버전 2.0으로 발전했으며 컨텍스트 길이는 128K로 언급되었습니다. NVIDIA 대화 모델 ChatQA는 버전 2.0으로 발전했으며 컨텍스트 길이는 128K로 언급되었습니다. Jul 26, 2024 am 08:40 AM

오픈 LLM 커뮤니티는 백개의 꽃이 피어 경쟁하는 시대입니다. Llama-3-70B-Instruct, QWen2-72B-Instruct, Nemotron-4-340B-Instruct, Mixtral-8x22BInstruct-v0.1 등을 보실 수 있습니다. 훌륭한 연기자. 그러나 GPT-4-Turbo로 대표되는 독점 대형 모델과 비교하면 개방형 모델은 여전히 ​​많은 분야에서 상당한 격차를 보이고 있습니다. 일반 모델 외에도 프로그래밍 및 수학을 위한 DeepSeek-Coder-V2, 시각 언어 작업을 위한 InternVL과 같이 핵심 영역을 전문으로 하는 일부 개방형 모델이 개발되었습니다.

Google AI가 IMO 수학 올림피아드 은메달을 획득하고 수학적 추론 모델 AlphaProof가 출시되었으며 강화 학습이 다시 시작되었습니다. Google AI가 IMO 수학 올림피아드 은메달을 획득하고 수학적 추론 모델 AlphaProof가 출시되었으며 강화 학습이 다시 시작되었습니다. Jul 26, 2024 pm 02:40 PM

AI의 경우 수학 올림피아드는 더 이상 문제가 되지 않습니다. 목요일에 Google DeepMind의 인공 지능은 AI를 사용하여 올해 국제 수학 올림피아드 IMO의 실제 문제를 해결하는 위업을 달성했으며 금메달 획득에 한 걸음 더 다가섰습니다. 지난 주 막 끝난 IMO 대회에는 대수학, 조합론, 기하학, 수론 등 6개 문제가 출제됐다. 구글이 제안한 하이브리드 AI 시스템은 4문제를 맞혀 28점을 얻어 은메달 수준에 이르렀다. 이달 초 UCLA 종신 교수인 테렌스 타오(Terence Tao)가 상금 100만 달러의 AI 수학 올림피아드(AIMO Progress Award)를 추진했는데, 예상외로 7월 이전에 AI 문제 해결 수준이 이 수준으로 향상됐다. IMO에서 동시에 질문을 해보세요. 가장 정확하게 하기 어려운 것이 IMO인데, 역사도 가장 길고, 규모도 가장 크며, 가장 부정적이기도 합니다.

자연의 관점: 의학 분야의 인공지능 테스트는 혼란에 빠졌습니다. 어떻게 해야 할까요? 자연의 관점: 의학 분야의 인공지능 테스트는 혼란에 빠졌습니다. 어떻게 해야 할까요? Aug 22, 2024 pm 04:37 PM

Editor | ScienceAI 제한된 임상 데이터를 기반으로 수백 개의 의료 알고리즘이 승인되었습니다. 과학자들은 누가 도구를 테스트해야 하며 최선의 방법은 무엇인지에 대해 토론하고 있습니다. 데빈 싱(Devin Singh)은 응급실에서 오랜 시간 치료를 기다리던 중 심장마비를 겪는 소아환자를 목격했고, 이를 계기로 대기시간을 단축하기 위해 AI 적용을 모색하게 됐다. SickKids 응급실의 분류 데이터를 사용하여 Singh과 동료들은 잠재적인 진단을 제공하고 테스트를 권장하는 일련의 AI 모델을 구축했습니다. 한 연구에 따르면 이러한 모델은 의사 방문 속도를 22.3% 단축하여 의료 검사가 필요한 환자당 결과 처리 속도를 거의 3시간 단축할 수 있는 것으로 나타났습니다. 그러나 인공지능 알고리즘의 연구 성공은 이를 입증할 뿐이다.

수백만 개의 결정 데이터로 훈련하여 결정학적 위상 문제를 해결하는 딥러닝 방법인 PhAI가 Science에 게재되었습니다. 수백만 개의 결정 데이터로 훈련하여 결정학적 위상 문제를 해결하는 딥러닝 방법인 PhAI가 Science에 게재되었습니다. Aug 08, 2024 pm 09:22 PM

Editor |KX 오늘날까지 단순한 금속부터 큰 막 단백질에 이르기까지 결정학을 통해 결정되는 구조적 세부 사항과 정밀도는 다른 어떤 방법과도 비교할 수 없습니다. 그러나 가장 큰 과제인 소위 위상 문제는 실험적으로 결정된 진폭에서 위상 정보를 검색하는 것입니다. 덴마크 코펜하겐 대학의 연구원들은 결정 위상 문제를 해결하기 위해 PhAI라는 딥러닝 방법을 개발했습니다. 수백만 개의 인공 결정 구조와 그에 상응하는 합성 회절 데이터를 사용하여 훈련된 딥러닝 신경망은 정확한 전자 밀도 맵을 생성할 수 있습니다. 연구는 이 딥러닝 기반의 순순한 구조 솔루션 방법이 단 2옹스트롬의 해상도로 위상 문제를 해결할 수 있음을 보여줍니다. 이는 원자 해상도에서 사용할 수 있는 데이터의 10~20%에 해당하는 반면, 기존의 순순한 계산은

대형 모델에 대한 새로운 과학적이고 복잡한 질문 답변 벤치마크 및 평가 시스템을 제공하기 위해 UNSW, Argonne, University of Chicago 및 기타 기관이 공동으로 SciQAG 프레임워크를 출시했습니다. 대형 모델에 대한 새로운 과학적이고 복잡한 질문 답변 벤치마크 및 평가 시스템을 제공하기 위해 UNSW, Argonne, University of Chicago 및 기타 기관이 공동으로 SciQAG 프레임워크를 출시했습니다. Jul 25, 2024 am 06:42 AM

편집자 |ScienceAI 질문 응답(QA) 데이터 세트는 자연어 처리(NLP) 연구를 촉진하는 데 중요한 역할을 합니다. 고품질 QA 데이터 세트는 모델을 미세 조정하는 데 사용될 수 있을 뿐만 아니라 LLM(대형 언어 모델)의 기능, 특히 과학적 지식을 이해하고 추론하는 능력을 효과적으로 평가하는 데에도 사용할 수 있습니다. 현재 의학, 화학, 생물학 및 기타 분야를 포괄하는 과학적인 QA 데이터 세트가 많이 있지만 이러한 데이터 세트에는 여전히 몇 가지 단점이 있습니다. 첫째, 데이터 형식이 비교적 단순하고 대부분이 객관식 질문이므로 평가하기 쉽지만 모델의 답변 선택 범위가 제한되고 모델의 과학적 질문 답변 능력을 완전히 테스트할 수 없습니다. 이에 비해 개방형 Q&A는

최고의 분자를 자동으로 식별하고 합성 비용을 절감합니다. MIT는 분자 설계 의사결정 알고리즘 프레임워크를 개발합니다. 최고의 분자를 자동으로 식별하고 합성 비용을 절감합니다. MIT는 분자 설계 의사결정 알고리즘 프레임워크를 개발합니다. Jun 22, 2024 am 06:43 AM

편집자 | Ziluo AI의 신약 개발 간소화에 대한 활용이 폭발적으로 증가하고 있습니다. 신약 개발에 필요한 특성을 가질 수 있는 수십억 개의 후보 분자를 스크리닝합니다. 재료 가격부터 오류 위험까지 고려해야 할 변수가 너무 많아 과학자들이 AI를 사용하더라도 최고의 후보 분자를 합성하는 데 드는 비용을 평가하는 것은 쉬운 일이 아닙니다. 여기서 MIT 연구진은 최고의 분자 후보를 자동으로 식별하여 합성 비용을 최소화하는 동시에 후보가 원하는 특성을 가질 가능성을 최대화하기 위해 정량적 의사결정 알고리즘 프레임워크인 SPARROW를 개발했습니다. 알고리즘은 또한 이러한 분자를 합성하는 데 필요한 재료와 실험 단계를 결정했습니다. SPARROW는 여러 후보 분자를 사용할 수 있는 경우가 많기 때문에 한 번에 분자 배치를 합성하는 비용을 고려합니다.

SOTA 성능, 샤먼 다중 모드 단백질-리간드 친화성 예측 AI 방법, 최초로 분자 표면 정보 결합 SOTA 성능, 샤먼 다중 모드 단백질-리간드 친화성 예측 AI 방법, 최초로 분자 표면 정보 결합 Jul 17, 2024 pm 06:37 PM

Editor | KX 약물 연구 및 개발 분야에서 단백질과 리간드의 결합 친화도를 정확하고 효과적으로 예측하는 것은 약물 스크리닝 및 최적화에 매우 중요합니다. 그러나 현재 연구에서는 단백질-리간드 상호작용에서 분자 표면 정보의 중요한 역할을 고려하지 않습니다. 이를 기반으로 Xiamen University의 연구자들은 처음으로 단백질 표면, 3D 구조 및 서열에 대한 정보를 결합하고 교차 주의 메커니즘을 사용하여 다양한 양식 특징을 비교하는 새로운 다중 모드 특징 추출(MFE) 프레임워크를 제안했습니다. 조정. 실험 결과는 이 방법이 단백질-리간드 결합 친화도를 예측하는 데 있어 최첨단 성능을 달성한다는 것을 보여줍니다. 또한 절제 연구는 이 프레임워크 내에서 단백질 표면 정보와 다중 모드 기능 정렬의 효율성과 필요성을 보여줍니다. 관련 연구는 "S"로 시작된다

See all articles