복붙노트

[MONGODB] 언제 관계형 데이터베이스 대신되는 NoSQL 데이터베이스를 사용해야합니까? 동일한 사이트에 모두 사용하기 괜찮습니까?

MONGODB

언제 관계형 데이터베이스 대신되는 NoSQL 데이터베이스를 사용해야합니까? 동일한 사이트에 모두 사용하기 괜찮습니까?

되는 NoSQL 데이터베이스를 사용의 장점은 무엇입니까? 나는 최근에 그들에 대해 많이 읽었습니다,하지만 난 아직도 내가 하나를 구현하려는 이유를 확실 해요, 어떤 상황에서 나는 하나를 사용할 것입니다.

해결법

  1. ==============================

    1.관계형 데이터베이스는 ACID을 적용합니다. 그래서, 당신은 스키마 기반의 트랜잭션 중심의 데이터 저장소를해야합니다. 그것은 입증 된 실제 애플리케이션의 99 %에 적합합니다. 당신은 실질적으로 관계형 데이터베이스에 모든 작업을 수행 할 수 있습니다.

    관계형 데이터베이스는 ACID을 적용합니다. 그래서, 당신은 스키마 기반의 트랜잭션 중심의 데이터 저장소를해야합니다. 그것은 입증 된 실제 애플리케이션의 99 %에 적합합니다. 당신은 실질적으로 관계형 데이터베이스에 모든 작업을 수행 할 수 있습니다.

    이 대규모의 고 가용성 데이터 저장소에 올 때, 속도와 확장에 한계가있다. 예를 들어, 구글과 아마존은 큰 데이터 센터에 저장된 데이터의 테라 바이트가있다. 쿼리 및 삽입 때문에 RDBMS의 차단 / 스키마 / 거래 자연의 이러한 시나리오에서 성능이 좋은하지 않습니다. 즉 대규모 성능 향상 및 확장 성을 위해 그들은 자신의 데이터베이스를 구현 한 이유 (실제로, 키 - 값 저장)입니다.

    되는 NoSQL 데이터베이스는 오랜 시간 동안 주변되었습니다 - 바로 용어는 새로운 기능입니다. 몇 가지 예는 그래프, 객체, 열, XML 및 문서 데이터베이스입니다.

    당신의 두번째 질문의 경우 : 동일한 사이트에 모두 사용하기 괜찮습니까?

    왜? 모두 다른 목적으로 권리를 제공?

  2. ==============================

    2.NoSQL의 솔루션은 일반적으로 관계형 데이터베이스 중 하나를 잘 (오라클 등) 사용하기에 너무 비싼에 적합하지 않거나 당신이 휴식 당신의 데시벨의 관계 본질 어쨌든 뭔가를 구현하기 위해 필요로하는 문제를 해결하기위한 것입니다.

    NoSQL의 솔루션은 일반적으로 관계형 데이터베이스 중 하나를 잘 (오라클 등) 사용하기에 너무 비싼에 적합하지 않거나 당신이 휴식 당신의 데시벨의 관계 본질 어쨌든 뭔가를 구현하기 위해 필요로하는 문제를 해결하기위한 것입니다.

    장점은 사용에 일반적으로 특정,하지만 당신은 당신의 데이터를 모델링 문제의 어떤 종류를하지 않는 한 난 당신이되는 NoSQL을 선택하는 이유 이유를 볼 RDBMS에.

    RDBMS가 실행 가능한 해결책이 아니다 어디 나 자신은 내가 (테스트 또는 SQLite는)의 MySQL을 사용하는 다른 모든 것들에 대한 특정 문제를 MongoDB를하고 Riak을 사용합니다.

    당신이 보통 알고 DB를 당신이 NoSQL에 필요한 경우 가능한 이유는 다음과 같습니다

    이러한 솔루션가 RDBMS에 대한 교체로 오히려 전자가 실패하고 더 중요한 것은 그들이 같은 비교적 새로운 것을 그들은 여전히 ​​많은 버그를 가지고 대안으로 의미되지 않았 음을 당신은 마음에없는 NoSQL 솔루션 킵이 필요하지 않은 경우 누락 된 기능을 제공합니다.

    아, 그리고 그들이가 동일한 시스템에없는 것처럼, 그래서 그냥 오래 함께 내 경험 MongoDB를와 MySQL 잘 작동에서 완료하기 위해, 또 다른과 함께 어떤 기술을 사용하여 완벽하게 괜찮 두 번째 질문에 대한

  3. ==============================

    3.마틴 파울러되는 NoSQL 데이터베이스의 좋은 설명을 제공하는 뛰어난 비디오를 가지고있다. 이 링크를 사용하는 것이 바로 그 이유에 간다지만, 전체 비디오 좋은 정보가 포함되어 있습니다.

    마틴 파울러되는 NoSQL 데이터베이스의 좋은 설명을 제공하는 뛰어난 비디오를 가지고있다. 이 링크를 사용하는 것이 바로 그 이유에 간다지만, 전체 비디오 좋은 정보가 포함되어 있습니다.

  4. ==============================

    4.NoSQL의 데이터가 문서 (하여 MongoDB)로 구성되는 데이터베이스 시스템으로, 키 - 값 쌍 (Memcache는, 레디 스), 그래프 구조의 형태 (Neo4J).

    NoSQL의 데이터가 문서 (하여 MongoDB)로 구성되는 데이터베이스 시스템으로, 키 - 값 쌍 (Memcache는, 레디 스), 그래프 구조의 형태 (Neo4J).

    아마 여기에 "때 NoSQL에 대한 이동하는"가능한 질문과 대답은 다음과 같습니다 :

    간단히 말해서, MongoDB를 사용하면 큰 규모의 동적 구조화 된 데이터를 저장할 수있는 애플리케이션에 안성맞춤이다.

  5. ==============================

    5.데이터베이스가 커버 할 수 있어야합니다 사용의 경우 : 일부 필수 정보는 질문에 대답 할 수없는? 응용 프로그램이 많은 트랜잭션 (OLTP)를 처리 할 수 ​​있어야 않는 복잡한 분석은 기존 데이터 (OLAP) 또는에서 수행 할 수 있습니까? 데이터 구조는 무엇인가? 즉, 질문 시간의 끝에서 멀리이다.

    데이터베이스가 커버 할 수 있어야합니다 사용의 경우 : 일부 필수 정보는 질문에 대답 할 수없는? 응용 프로그램이 많은 트랜잭션 (OLTP)를 처리 할 수 ​​있어야 않는 복잡한 분석은 기존 데이터 (OLAP) 또는에서 수행 할 수 있습니까? 데이터 구조는 무엇인가? 즉, 질문 시간의 끝에서 멀리이다.

    내 관점에서, 그들 뒤에 정확히 모른 채 굵은 전문 용어의 기초 기술 의사 결정을 내릴 수 잘못되었습니다. NoSQL이 자주 확장 성 칭찬한다. 그러나 당신은 또한 가격이 무료하지 않다 (여러 노드 이상)이 수평 확장을 알아야합니다. 그럼 당신은 최종 일관성과 같은 문제를 처리하고이 데이터베이스 수준에서 해결 될 수없는 경우 데이터 충돌을 해결하는 방법을 정의해야합니다. 그러나,이 모든 분산 데이터베이스 시스템에 적용됩니다.

    NoSQL의에서 단어 "스키마 이하"와 개발자의 기쁨은 또한 매우 큰 시작이다. 이 유행어를 신속하게 제대로 작성 스키마를 필요로하지 않기 때문에, 기술적 분석 후 환멸을하지만, 읽을 때 활동하기 시작한다. 제대로 '읽기에 스키마 "해야하는 이유입니다. 자신의 재량에 따라 데이터를 기록 할 수 있기를 유혹 할 수있다. 하지만 내가 어떻게 거기에 기존 데이터하지만 응용 프로그램의 새 버전이 다른 스키마를 기대하는 경우 상황에 대처합니까?

    (예 MongoDB를 에서처럼) 문서 모델 데이터 사이에 일대 다 관계가있는 데이터 모델에 적합하지 않다. 추가적인 노력하고 내가 일을 프로그램해야하는 이유 데이터베이스가해야한다고 응용 프로그램 수준에서 수행 할 필요가 조인.

    당신은 기존의 RDBMS가 더 이상 데이터의 홍수를 처리 할 수 ​​있기 때문에 구글과 아마존이 자신의 데이터베이스를 개발한다는 주장을 할 경우, 당신은 단지 말할 수있다 : 당신은 구글과 아마존이 아니다. 이 회사는 선봉, 기존의 데이터베이스가 더 이상 적합 시나리오 중 일부는 0.01 %이지만, 세계의 나머지 그들이 있습니다.

    하찮은의 새로운 기능 : SQL는 40 년 이상 개발 시간의 수백만 주변에있다는 오라클 또는 Microsoft SQL과 같은 대형 시스템에 갔다. 이 새로운 데이터베이스에 의해 달성 될 수있다. 때로는 MongoDB를위한 사람보다 SQL 관리자를 찾기도 쉽다. 어떤 유지 보수 및 관리의 질문에 우리를 제공합니다. 정확히 섹시한 아니라, 주체는 기술 결정의 일부입니다.

  6. ==============================

    6.RDBMS 디자인에서 벗어나는에 근거를 설득를 찾는 동안 나는이 질문을 가로 질러왔다.

    RDBMS 디자인에서 벗어나는에 근거를 설득를 찾는 동안 나는이 질문을 가로 질러왔다.

    분산 시스템의 제약에 조명을 비춰 줄리안 브라운의 뛰어난 포스트가있다. 요약 간다 맥주의 CAP 정리라고 개념 :

    나 자신을 위해 그것을 정리하는 방법이있다 :

  7. ==============================

    7.내가 설계 및 구현되는 NoSQL 데이터베이스와 솔루션을 여기에 SQL 또는 문서 지향 NoSQL에 갈 결정을 내 체크 포인트 목록입니다.

    내가 설계 및 구현되는 NoSQL 데이터베이스와 솔루션을 여기에 SQL 또는 문서 지향 NoSQL에 갈 결정을 내 체크 포인트 목록입니다.

    금지 사항

    SQL은 폐기하지 않고 어떤 경우에는 더 나은 도구 남아있다. 이 때 문서 지향 NoSQL에의 사용을 정당화하기 어렵다

    및 DO

    당신이 그 조건이없는하거나 완화 할 수 있다면, 여기 당신이 NoSQL의 혜택을 누릴 수 있습니다 둘 이유가 있습니다 :

    더 많은 정보

    내 블로그 게시물에서 나는 자세한 내용에 이유를 설명 :

    참고 : 위는 문서 지향 NoSQL에 적용 할 수 있습니다. 다른 고려 사항이 필요없는 NoSQL의 다른 종류가 있습니다.

  8. from https://stackoverflow.com/questions/3713313/when-should-i-use-a-nosql-database-instead-of-a-relational-database-is-it-okay by cc-by-sa and MIT license