개인 재정 NoSQL에서 일관성 메소드 적용하기

NoSQL에서 일관성 메소드 적용하기

차례:

비디오: Data consistency with Multi-path updates - The Firebase Database For SQL Developers #7 2024

비디오: Data consistency with Multi-path updates - The Firebase Database For SQL Developers #7 2024
Anonim

데이터베이스의 일관성 속성은 일단 데이터가 데이터베이스에 성공적으로 기록되면, 이후의 쿼리는 데이터에 액세스하여 데이터의 일관된 뷰를 얻을 수 있습니다. 실제로 이는 데이터베이스에 레코드를 작성한 후 즉시 해당 레코드를 요청하면이를 볼 수 있음을 의미합니다. 아마존 주문 및 은행 송금과 같은 경우에 특히 유용합니다.

ACID 일관성 (ACID는 원자성, 일관성, 격리, 내구성을 나타냅니다.): ACID는 데이터가 작성된 후 모든 일관성을 유지합니다. 읽습니다.

  • 최종 일관성 (BASE): BASE는 일단 데이터가 기록되면 결국 읽기 용으로 나타납니다.

  • ).

    실제는 어딘가에 있습니다. 친구의 페이스 북 게시물이 5 분 동안 모든 친구들에게 보이지 않는 것이 중요합니까? 아니, 아마. "Facebook 게시글"을 "10 억 달러 금융 거래"로 변경하면 태도가 빠르게 바뀝니다. 선택한 일관성 접근 방식은 상황에 따라 다릅니다. 내 경험에 비추어 볼 때, 강력한 일관성은 항상 업무 핵심적인 엔터프라이즈 시스템 상황에서 선택입니다.

MongoDB는 검사 및 설정 기능을 제공하는 주목할만한 데이터베이스입니다. MongoDB를 사용하면 업데이트 중에 노드 전체의 데이터를 잠글 수 있기 때문에 작업이 완료 될 때까지 모든 읽기 및 모든 쓰기 작업이 금지됩니다.그러나 회사는이 제한을 없애기 위해 노력하고 있습니다.

BASE

BASE는 ACID 보증을하기보다 데이터베이스가 일관성과 데이터 가용성의 조율 가능한 균형을 가지고 있음을 의미합니다. 이것은 일반적으로 주어진 데이터베이스 클러스터의 노드가 데이터베이스 일부의 기본 관리자 역할을하고 다른 노드가 읽기 전용 복제본을 보유하는 경우입니다.

모든 클라이언트가 모든 업데이트를 볼 수 있도록 (즉, 데이터를 일관성있게 볼 수 있도록) 모든 읽기 복제본이 최신 상태가 될 때까지 데이터를 보유하는 기본 노드에 대한 쓰기를 잠글 수 있어야합니다. 이는 두 -

단계 커밋이라고 불리며, 변경은 로컬로 수행되지만 다른 모든 노드가 업데이트 될 때만 클라이언트에 적용되고 확인됩니다. BASE는이 요구 사항을 완화하여 트랜잭션이 성공하기 위해서는 동일한 데이터를 보유하는 노드의 서브 세트 만 업데이트하면됩니다. 트랜잭션이 커밋 된 후 때때로 읽기 전용 복제본이 업데이트됩니다. 이 접근법의 장점은 트랜잭션이 더 빨리 커밋된다는 것입니다. 읽을 수있는 라이브 복제본을 사용하면 데이터로드를 분산시켜 더 빨리 읽을 수 있습니다.

읽기 복제본 중 일부에 연결하는 클라이언트가 불특정 기간 동안 오래된 정보를 볼 수 있다는 단점이 있습니다. 일부 시나리오에서는이 상태가 좋습니다. 페이스 북에 새로운 메시지를 올리면 친구들이 몇 분 동안 그것을 보지 못한다. 엄청난 손실이 아니다. 하지만 은행에 지불 주문을 보내면 즉각적인 거래가 필요할 수 있습니다.

읽기 전용 복제본에 대한 또 다른 접근법은 클러스터의 한 노드 만 항상 데이터베이스의 특정 부분을 담당하는

개의

아무 것도없는 클러스터를 갖는 것입니다. Shared-nothing은 복제를 잃지 않는다고 의미하지는 않습니다. 이 방법을 사용하는 데이터베이스는 일반적으로 데이터를 다른 기본 노드의 보조 영역에 복제합니다. 단 하나의 노드 만 언제든지 읽기 및 쓰기 마스터가됩니다. 비공유 클러스터는보다 단순한 일관성 모델의 장점을 가지고 있지만 복제본에 2 단계 커밋이 필요합니다. 이 사실은 모든 복제본이 업데이트되는 동안 트랜잭션 잠금을 의미합니다. (다른 노드에 대한 내부 잠금 + 잠금은 두 단계를 제공합니다.) 일반적으로 공유 비 복제 데이터베이스 영역은 읽기 전용 복제본이있는 공유 데이터 클러스터보다 영향이 적습니다. 데이터베이스의 일부 따라서 2 단계 커밋은 읽기 가능 복제본이있는 클러스터보다 비공유 클러스터에서 더 빠릅니다. ACID 또는 BASE 선택?

예상 할 수 있듯이 NoSQL 공급 업체는 다른 독특한 접근 방식을 사용하여 경쟁 업체와 차별화 할 수 있기 때문에 많은 논점이 있습니다. 그러나 로드맵에 ACID 준수를 제공하는 NoSQL 공급 업체의 수는 흥미 롭습니다.

일부 NoSQL 데이터베이스는 BASE의 지지자 임에도 불구하고 로드맵에 ACID 준수를 가지고 있습니다. 이는 ACID 보증이 엔터프라이즈, 임무, 핵심

시스템에 얼마나 적합한 지 보여줍니다.

많은 기업들이 무료이기 때문에 아이디어를 테스트 할 때 기본 일관성 제품을 사용하지만 미션 크리티컬 시스템에 살고 싶을 때는 ACID 준수 유료 데이터베이스로 마이그레이션합니다. ACID가 필요한지 여부를 결정하는 가장 쉬운 방법은 사람들과 다른 시스템이 데이터와 상호 작용하는 것을 고려하는 것입니다. 예를 들어 데이터를 추가하거나 업데이트하는 경우 바로 다음 쿼리에서 변경 사항을 볼 수 있습니까? 즉, 데이터베이스의 현재 상태에 중요한 결정을 내리고 있습니까? 날짜가 지나치게 오래된 데이터를 보면 이러한 결정에 치명적인 결함이있을 수 있다는 의미입니까? 금융 서비스에서 일관성의 필요성은 명백합니다. 상인이 주식을 구입하는 것을 생각해보십시오. 그들은 거래를 커버 할 돈이 있음을 보장하기 위해 거래 전에 현금 잔고를 확인해야합니다. 그들이 올바른 균형을 찾지 못하면 다른 거래에 돈을 쓸 것입니다. 쿼리하는 데이터베이스가 궁극적으로 일관성이 있다면 충분한 기금이 부족하지 않아서 조직이 재정적 위험에 노출 될 수 있습니다. 보건, 방위, 정보 및 기타 분야에서 ACID가 BASE보다 비슷한 경우도있을 수 있습니다. 하지만이 모든 것이 데이터에 달려 있으며 적시성과 데이터 보안의 중요성이 모두 뒷받침됩니다.

NoSQL에서 일관성 메소드 적용하기

편집자의 선택

Photoshop Elements 14에서의 헤이즈 제거 방법 - 인형

Photoshop Elements 14에서의 헤이즈 제거 방법 - 인형

Photoshop Elements 14는 유용하고 쉬운 사진에서 안개를 빠르게 제거하는 기능입니다. 공기, 먼지, 흙 등에 가벼운 타격 입자로 인한 헤이즈는 날씨와 시간으로 더욱 강화 될 수 있습니다. 때로는 이미지의 대비 및 선명도를 높이면 이미지 품질을 낮추는 데 도움이 될 수 있습니다.

Photoshop Elements 9의 빠른 편집 모드에서 이미지 편집 방법 - Photoshop의 인력

Photoshop Elements 9의 빠른 편집 모드에서 이미지 편집 방법 - Photoshop의 인력

Elements, Edit Quick 모드는 이미지의 전후 미리보기와 같은 몇 가지 고유 한 기능과 함께 기본 수정 도구를 제공하는 편집 전체 모드의 축소 버전입니다. 빠른 수정 모드에서 사진을 복구 할 때 따라갈 수있는 단계별 워크 플로우는 다음과 같습니다. Photoshop Elements에서 하나 이상의 사진을 선택하십시오.

Photoshop Elements 10의 빠른 사진 편집 모드에서 편집하는 방법 - 인형

Photoshop Elements 10의 빠른 사진 편집 모드에서 편집하는 방법 - 인형

빠른 사진 편집 모드 는 전체 사진 편집 모드의 축소 버전으로 기본 고정 도구를 편리하게 제공하고 이미지의 사전 및 사후 미리보기와 같은 몇 가지 고유 한 기능을 토스합니다. 빠른 사진 편집 모드에서 사진을 복구하기 위해 따라갈 수있는 단계별 워크 플로가 있습니다.

편집자의 선택

페이스 북에서 친구가되는 것 - 인형

페이스 북에서 친구가되는 것 - 인형

여러면에서 페이스 북 친구는 실생활 친구와 같은. 이들은 당신과 어울리고, 연락하고, 관심을 가지고 있고, 친구로 공개적으로 인정하고 싶은 사람들입니다. 이들은 Facebook에서 만난 사람들이 아닙니다. 오히려, 그들은 당신이 전화로 부르는 사람들입니다; 멈추고 따라 잡으십시오.

Facebook 메신저는 무엇입니까? - 인형

Facebook 메신저는 무엇입니까? - 인형

Facebook Messenger는 Facebook에 내장 된 인스턴트 메시징 기능입니다. 메신저는 원래 2011 년에 시작되어 그 성공에 힘 입어 2014 년에 등장한 전용 응용 프로그램과 웹 사이트가 생겨났습니다. 응용 프로그램과 웹 사이트는 Facebook 데이터베이스에 연결되고 인앱 Facebook 메시징 서비스를 대신하는 인스턴트 메시징 서비스입니다. 그것은 허용합니다 ...

Aquila Facebook Drone은 무엇입니까? - 인형

Aquila Facebook Drone은 무엇입니까? - 인형

Aquila Drone은 데이터 연결이없는 세계의 외딴 지역에 인터넷을 가져 오려는 Facebook의 시도입니다. 소셜 미디어 거물에 의한이 이니셔티브는 태양열로 가동되는 특수한 무인 항공기를 사용하려고합니다. 무인 항공기는 구역 위를 가리 키도록 설계되어 있으며, 무인 항공기 없이도 웹 연결이 가능합니다. Credit : ...

편집자의 선택

코칭 풋볼 인형 용 치트 시트 - 인형

코칭 풋볼 인형 용 치트 시트 - 인형

코치 풋볼은 당신의 선수들에게 동기를 부여합니다. 연습과 게임을위한 올바른 장비 공급; 축구 경기 전, 경기 중 및 경기 후에 시설과 팀을 준비시켜야합니다.

축구 코치는 다른 시대의 어린이들에게 맞춰져 있습니다 - 인형

축구 코치는 다른 시대의 어린이들에게 맞춰져 있습니다 - 인형

축구 코칭 책임의 일부는 알고 이해하고 있습니다 특정 나이 수준에서 게임을하는 젊은이의 육체적으로나 감정적으로 모두 무엇을 기대해야합니다. 이 연령대의 6 세 이하 아동을 코칭하는 것은 아마도 전에는 축구를 해보지 않았을 것이고, 이번 시즌은 매우 잘할 것입니다.

축구 코치의 하프 타임 팀과의 대화 - 인형

축구 코치의 하프 타임 팀과의 대화 - 인형

터치 다운을 기록하고, 패스를 떨어 뜨리고, 다이빙 태클을 만들고, 공을 더듬는 등 모든 종류의 것들을 볼 수 있습니다. 선수가 하프 타임을 위해 필드에서 벗어날 때, 머리 속에 많은 정보를 갖게되며 많은 시간을 소모하지 않게됩니다 ...