복붙노트

[REDIS] 재고 관리 시스템 NoSQL에 대 SQL

REDIS

재고 관리 시스템 NoSQL에 대 SQL

나는 JAVA 기반의 웹 응용 프로그램을 개발하고있다. 주요 목표는 제품에 대한 재고가 채널이라는 여러 웹 사이트에서 판매되고있는 것입니다. 우리는 모든 채널에 대해 관리자 역할을합니다. 우리에게 필요한 것은 :

내가보고 있어요 솔루션은 포스트 그레스 (동기식 복제 모드에서 지금까지 우리의 데시벨), 카산드라, 레디 스, CouchDB를하고 MongoDB를 같은되는 NoSQL 솔루션입니다.

내 제약 조건은 다음과 같습니다 :

내가 어떤 제안에 열려입니다. 사전에 감사합니다.

해결법

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

    1.이것은 반드시 데이터베이스 문제가되지 않습니다. 당신은 메시징 시스템을보고 더 나을 수 있습니다 (예를 들면. RabbitMQ)

    이것은 반드시 데이터베이스 문제가되지 않습니다. 당신은 메시징 시스템을보고 더 나을 수 있습니다 (예를 들면. RabbitMQ)

    세션 데이터는 아마도 작업에 더 적합한 별도의 데이터베이스에 넣어되어야한다 (예를 들면. memcached를, 레디 스 등) 더 획일적가 없습니다 DB

    이 질문에 대답하기 위해 3 가지 방법이 있습니다 :

    내구성이 어떤 종류의 당신이 언급하는?

    대부분의 NoSQL이 솔루션은 병렬로 실행하는 것을 선호합니다. 그래서 당신은 여기에 두 가지 옵션이 있습니다. 1. 모든 쿼리에 대해 전체 테이블을 잠그는 DB (느린) 2. 빌드 앱이 될 수 영리 또는 evented (클라이언트 측 연속 대기)

    일반적으로, 당신은 SQL 처음에 개발 빠르다는 것을 발견 할 것이다, 그러나 변화는 어려워 구현하는 방법이 될 수 있습니다 NoSQL에 좀 더 계획이 필요하지만, 임시 쿼리 또는 스키마 변경을 할 쉽게 수 있습니다.

    당신은 아마 자신에게해야 할 질문은 더 같다 :

    여러 고객 (채널?)를 가지고 자신의 재고 스키마와 각을하려는 경우, 기반 문서 DB는 그것의 장점을 가지고 있습니다. 나는 재고와 전자 상거래 시스템에서보고 한 시간을 기억하고 거의 235 표를했다! 특정 관계형 데이터가있는 경우 다시,하는 SQL 솔루션은 정말 너무 몇 가지 장점을 가질 수 있습니다.

    나는 확실히 내가 주어진 제약 몽고, 소파, riak 또는 orientdb를 사용하여 솔루션을 구축 할 수있는 방법을 볼 수 있습니다. 그러나있는대로하면 최고? 내가 직접 DB 벤더를 이야기하려고, 어쩌면 NoSQL에 테이프를 볼 것

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

    2.제약 조건을 주소 :

    제약 조건을 주소 :

    요약하면, 나는 당신이 그것을 두 가지 작업을 수행 할 수 있습니다 말하고 싶지만. NoSQL의 구동 더 많은 코드이며, 거래와 관계 무결성은 대부분 코드에 의해 관리됩니다. 당신이 불편한 경우, 관계형 DB에 대한 이동합니다.

    당신이있는 거 데이터가 큰 커질 경우 당신은 아마 실시간은 10B 행 데이터베이스에 조인하고 싶지 않기 때문에 그러나, 당신은 수동으로 코드에이 논리의 일부를해야합니다. 그럼에도 불구하고, 당신은 SQL과 그 구현뿐만 아니라 수 있습니다.

    다른 데이터베이스에 대한 경계를 찾을 수있는 좋은 방법은 캐시 할 수 있는지 고려하는 것입니다. 거기에 더 큰 위험이 없기 때문에 캐시 언제든지 복원 할 수있는 데이터는 새 레이어를 도입 시작하는 좋은 방법입니다. 여기에 어떤 일관성을 희생하지 않을 수 있도록 또한, 캐시 된 데이터는 일반적으로 어떤 관계를 유지하지 않습니다.

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

    3.NoSQL에이 응용 프로그램에 대한 올바르지 않습니다.

    NoSQL에이 응용 프로그램에 대한 올바르지 않습니다.

    당신은 확실히 사용할 수 있습니다,하지만 당신은 당신을 위해 무엇을 SQL의 이벤트를 많이 재 구현을 끝낼 것, 의미한다. 예를 들어 내가 거기 관계를 많이 참조하십시오. (일부 NoSQL의 솔루션을 제공 그렇게하지만) 당신은 또한 ACID를 원한다.

    둘 다 사용할 수없는 이유가 없다가 - 키 / 값 매장에서 관계형 관계형 데이터베이스에서 데이터 및 비 관계형 데이터를 유지.

  4. from https://stackoverflow.com/questions/8322525/sql-vs-nosql-for-an-inventory-management-system by cc-by-sa and MIT license