- 큐는 각 채널에 대한 인벤토리 업데이트를 관리합니다.
이것은 반드시 데이터베이스 문제는 아닙니다. 당신은 (예를 들어. RabbitMQ) 각 채널에 할당의 정확한 스냅 샷을 가지고
- 재고 테이블 메시징 시스템을보고 더 나을 수 있습니다.
- 세션 ID 및 기타 빠른 액세스 데이터를 캐시에 보관.
세션 데이터 아마 (등, 레디 스, 예를 들어, memcached를) 더 작업에 적합한 별도의 데이터베이스에 넣어해야
DB
더 획일적 없다
- 대시 보드 (XMPP)와 같은 페이스 북을 제공하여 판매자가 가능한 빨리 업데이트되도록합니다.
제한 사항 : 1. 인벤토리 업데이트를 잃어 버릴 수 없습니다. 응용 프로그램에서
이 기능을 제공해야합니다 :
은이 질문에 대답하기 위해 3 가지 방법이 있습니다. 데이터베이스는 잘못된 레코드가 거부되고 롤백되었음을 보장 할 수 있지만 모든 쿼리가 입력 될 것이라고 보장 할 수는 없습니다. 앱이 오류가 발생했을 때이를 인식하고 다시 시도 할만큼 똑똑해야합니다.
일부 DB는 메모리에 레코드를 저장 한 다음 메모리를 디스크로 디스크로 플러시 (peridocally)하며 이로 인해 전원 장애시 데이터가 손실 될 수 있습니다. (예를 들어, Mongo는 저널링을 가능하게하지 않는 한 기본적으로이 방법으로 작동합니다 .CouchDB는 레코드에 플래그를 추가하므로 레코드가 손실됩니다.)
일부 DB는 극도로 지진, 허리케인 또는 기타 자연 재해가 발생하더라도 안정적이며 내구성이 유지됩니다. 이것들은 Cassandra, Hbase, Riak, Hadoop 등을 포함합니다.
어떤 종류의 내구성을 지칭합니까?
- 작업 대기열 순서대로 실행 바람직 손실되지 않습니다해야합니다.
대부분의 noSQL 솔루션은 병렬로 실행하는 것을 선호합니다. 여기에는 두 가지 옵션이 있습니다. 1. 모든 쿼리에 대해 전체 테이블을 잠그는 DB는 (느리게) 2. 빌드 앱
- 쉬운/빠른 개발 및 향후 유지 보수 영리 또는 evented (클라이언트 측 연속 대기)합니다.
일반적으로, 당신은 SQL이 처음 개발 속도는 것을 발견 할 것이다, 그러나 변화는 NoSQL에 좀 더 계획이 필요할 수 있습니다 구현하기 어려울 수 있지만, 임시 쿼리 또는 스키마 변경을 할 쉽습니다.
이
"나는지도/줄 것을 강렬한 쿼리 나 깊은 분석이 필요 뜻에 더 적합?"
당신은 아마 자신에게해야 할 질문은 더 같이가
"나는 나의 변화 내 스키마 자주?
필요합니다"내 데이터는 매우 관계입니까? 어떤 방법으로? "
"DB 선택 내 뒤에 공급 업체 내가 그것을 필요로 할 때 도와 충분한 경험이 있습니까? "
"나는 같은 지리 공간 색인, 전체 텍스트 검색으로 특별한 기능이 필요합니다, 등? "
"실시간에 얼마나 가까운 거리에 데이터가 필요합니까? 1 초 후까지 최신 기록이 내 검색어에 표시되지 않으면 아플까요? 대기 시간의 어떤 수준이 허용됩니다? "
는"정말 측면에서 무엇을해야합니까 장애 조치 "
"내 데이터 얼마나 큰입니까? 기억에 맞을 것인가? 그것은 하나의 컴퓨터에 맞을 것인가? 각 개별 기록은 크거나 작습니까?
"내 데이터가 얼마나 자주 변경됩니까?이 파일은 아카이브입니까?"
여러 고객이하려는 경우 (채널?) 자신의 재고 스키마와 각 문서 기반 DB는 그것의 장점을 가지고 있습니다. 재고가있는 전자 상거래 시스템을 한 번 보았는데 거의 235 개의 테이블이있었습니다! 그런 다음 특정 관계형 데이터가있는 경우 SQL 솔루션에 실제로 몇 가지 이점이 있습니다.
주어진 제한 조건을 사용하여 mongo, couch, riak 또는 orientdb를 사용하여 솔루션을 빌드하는 방법을 확실히 알 수 있습니다. 그러나 가장 좋은 것은 무엇입니까? 나는 DB 벤더와 직접 대화를 시도해보고, 아마도 nosql 테이프를 보게 될 것이다.
thats 내가 지금 (relational + nosql)에 관심을 가지고 있지만 boundry를 어디에 두어야 할까?내 관계형 비즈니스 로직 중 일부를 NoSQL 도메인으로 마이그레이션하여 확장 성이 구축 될 수 있습니까? 저는 개발 모드에 있습니다. 그래서 변화는 가치가 있다면 받아 들일 수있는 무언가입니다. – gladiator
잠깐 - NoSQL을 확장성에 사용하려고합니까? 그것은 그것을 사용하는 잘못된 이유입니다! SQL과 NoSQL을 모두 확장 할 수 있습니다. SQL을 NoSQL으로 마이그레이션하는 것은 매우 어렵습니다. 반대로 쉽다. – Ariel
그것은 기술이 아닙니다. 기능입니다. 거대한 테이블에서 복잡한 조인을 수행하려는 경우 충분히 빠르지 않을 것입니다. 이 일을하는 것은 총알이 없습니다. – mnemosyn