2014-10-21 3 views
1

데이터를 푸시 할 수있는 라이브러리 나 서비스를 찾고 있으며 매번 다른 여러 열이있을 것입니다. 현재 IronMQ를 사용하여 json을 큐에 넣은 다음 json을 구문 분석하고 특성을 파악합니다. 그러나 큐 라이브러리 나 서비스가있어 별도의 열에있는 모든 특성을 밀어 넣으면 나중에 큐에서 SQL 쿼리를 수행 할 수 있는지 궁금합니다.여러 열이 포함 된 대기열?

필자는 파이썬과 Sqlite3에 대해 이렇게 생각했습니다. (아마존 SQS 나 IronMQ와 비교하면 어떤 차이가 있습니까?) 이것은 매우 쉽습니다.

+1

이 소리? –

답변

1

메시지 대기열 기술 (예 : IronMQ, RabbitMQ, Amazon SQS 등)과 RDBMS (예 : Sqlite, Sql Server, PostGres 등)의 차이점은 RDBMS 테이블을 대기열로 사용하여 쿼리를 허용하면 LIFO 큐 프로세스를 직접 관리해야합니다. 대기열 (일부 예외 사항 포함)은 LIFO 프로세스를 시행하지만 데이터베이스 테이블은 임의 액세스로 데이터를 삽입, 수정 또는 제거하는 방법이나시기를 강제하지 않습니다. 이러한 규칙은 비즈니스 계층에서 처리됩니다. (파이썬과 Sqlite를 사용하면 Sqlite가 큐/데이터 저장소가되고 파이썬 응용 프로그램은 LIFO 큐와 임의 쿼리를 관리하는 로직을 수행합니다.)

RDBMS는 종종 중간 메시지 저장소로 사용됩니다. 귀하의 질문 나는 LIFO 대기열이 그 밖의 모든 것보다 무작위 액세스에 관심이있는 것 같기 때문에 그렇게 중요하지 않다고 생각합니다. 당신이 디자인하고있는 것에 대해 더 많이 알지 못해도 말하기는 어렵습니다. 그러나 대기열 및 데이터베이스와 같이 작동하는 것을 원하는 경우 Oracle AQ을 확인하십시오. 링크 된 페이지에서

:

오라클 스트림 고급 큐가 데이터베이스에 테이블, 고 가용성, 확장 성, 및 신뢰성의 모든 운영상의 이점을 구현하고 있기 때문에 또한 데이터를 큐에 적용 할 수 있습니다. 복구, 재시작 및 보안과 같은 표준 데이터베이스 기능은 Oracle Streams Advanced Queuing에서 지원됩니다. Oracle Enterprise Manager와 같은 데이터베이스 관리 및 관리 도구를 사용하여 대기열을 모니터 할 수 있습니다. 다른 데이터베이스 테이블과 마찬가지로 큐 테이블을 가져오고 내보낼 수 있습니다.

표준 SQL을 사용하여 메시지를 쿼리 할 수 ​​있습니다. 즉, 은 SQL을 사용하여 메시지 속성, 메시지 기록 및 페이로드에 액세스 할 수 있습니다. SQL 액세스를 통해 감사 및 추적을 수행 할 수도 있습니다. 인덱스와 같은 사용 가능한 SQL 기술을 사용하여 메시지에 대한 액세스를 최적화 할 수 있습니다.

더 많은 자원과 추가 읽기 :

관련 문제