많은 이벤트를 섭취하는 응용 프로그램 (Django의 ORM 사용)을 구축 중이며, 50/s (msg 당 1-2k)라고합시다. 처음에는 이벤트의 "실시간"처리 및 모니터링이 범위에 포함되기 때문에 데이터의 일부를 결정하기 위해 재 다이얼을 사용하여 의미가있을 때이를 삭제합니다. Postgres의 "at rest"저장을위한 이벤트를 포함하여 모든 엔티티를 유지하려고했습니다.웹 앱 백엔드로서의 Redshift?
미래에는 대시 보드 및 기타 기능에 "분석"기능이 필요합니다. 나는 이것을 위해 Amazon Redshift를 사용하고 싶다. 나는 Redshift를 위해 곧바로 직진하고 Postgres를 건너 뛰는 것을 고려했다. 그러나 나는 사람들이 수동적 인 역할을 더해야한다고 말한다. 아마도 SQL 백엔드에서 데이터의 창을 유지하고 Redshift에 정기적으로 보관할 수 있습니다.
내 질문은 :
은 심지어 정상적인 웹 애플리케이션을위한 백엔드로 Redshift에 같은 것을 사용할 수 있나요 아니면 일반적으로 수동적 역할 이상을 재생 하는가? 그렇지 않다면 이벤트 데이터가 시작되도록 Postgres를 충분히 확장 할 수 있다고 생각하는 것이 현실적입니까? 또한 그렇지 않다면 "데이터 및 보관 창"방법이 의미가 있습니까?
편집 여기에 내가 글을 쓰기 전에 본 적이 몇 가지 있습니다 :
- 일부는 내가이 질문에 대한 Redshift에 사용해야에 대한 "yes go for it"을 말한다.
- 어떤 사람들은 "eh not performant enough for most web apps"라고 말하고, 캠프를 가지고 앞에 그것을 지원합니다.
세부 정보 주셔서 감사합니다! 나는 로컬 DB 또는 파일 기반 저널 접근법에 조금 불편하지만, 성능 이점을 볼 수 있습니다. 로컬 파일 시스템은 트랜잭션을 저장하는 데 약간 위험합니다. redis와 같은 캐시는 적어도 일시적으로 해당 크기의 크기에 적합하고 거기에서 RS로로드한다고 생각하십니까? – alph486
@ alph486 글쎄, 그것은 당신이 데이터를 잃을 의지와 얼마나 오래 데이터 손실 윈도우를 받아 들일 수 있는지에 달려있다. 지역 저널은 아마도 Redis와 같은 메모리 내장 DB보다 안전 할 것이지만 속도는 느려질 것입니다. –
Gotcha. redis '디스크 지속성과 같이 보이는 것은 최소한 2 초마다 기록하는 추가 전용 저널을 사용할 수 있습니다. 이는 최악의 경우 허용되는 창이라고 생각합니다. 나는 두 곳의 장점을 최대한 살리고 위험을 최소화 할 수 있습니다. 출처 : http://en.m.wikipedia.org/wiki/Redis – alph486