저는 몇 주 동안 카산드라 문서와 비디오를 유튜브에 올려 놓았습니다.상관 분석을위한 카산드라 데이터 모델
나는 로그 저장 및 상관 관계 시스템을 구현 중이며이를 위해 Cassandra를 사용하고 싶습니다. 하지만 이런 유형의 애플리케이션을 위해 Cassandra 데이터 모델을 둘러 볼 필요가 없습니다. 필자는 이러한 유형의 애플리케이션을위한 최고의 데이터 모델에 대한 심층적 인 예제를 발견하지 못했습니다.
로깅 시스템은 HTTP 웹 트래픽을 중심으로 이루어집니다. 내 로그 소스는 시간이 갈수록 확장되지만, 지금은 프록시 로그, 응용 프로그램 로그 및 호스트 이름/IP 및 이벤트 데이터가 포함 된 다른 시스템 로그가 포함됩니다.
내 상관 관계는 소스 및 대상 IP 주소와 호스트 이름, 도메인 이름, 위치 정보 위치, http 방법 (GET/PUT/연결) 및 요청 된 파일 유형과 관련된 가능한 다른 상관 관계 (예 : jar .exe .pdf). 시간에 따른 상관 관계는이 모든 경우에서도 중요 할 것입니다.
저는 Cassandra의 데이터 모델링이 실행될 쿼리에 대해 생각해 보는 것을 여러 곳에서 읽었습니다. 그래서 몇 가지 예를 여기에 지정했습니다. 더 많은 예제가 있지만 다음은 좋은 시작이 될 것이고 모든 쿼리는 비슷한 상관 패턴을 따를 것입니다.
예 질의 1 : IP 10.0.0.1이 지난 24 시간 내에 URL에서 .jar 확장자 또는 지난 주
예 질의 2 로그에서 볼 된 곳이 나를보기 : 이 time02
0을 통해 나에게 time01에서 소스 호스트 192.168.1.1에 대한 모든 로그 이벤트를보기 :예 쿼리 3 나에게 지난 24 시간 동안 도메인 xyz.com에가는 모든 PUT 요청을보기
예제 쿼리 4 : 어제 발생한 10.0.0.1과 192.168.1.1 사이의 모든 통신을 표시합니다.
예제 쿼리 5 : 모든 새로운 이벤트를 기존 도메인 및 IP 목록과 비교하고 이러한 IP 및 도메인을 포함하는 새로운 이벤트를 보여줍니다.
필요한 경우 자세한 정보를 제공 할 수 있습니다. 모든 지침이 유용 할 것입니다.
감사합니다.
마지막 문장에서 설명한대로 포인터와 지침을 찾고 있습니다. 비슷한 프로젝트 나 구현에 대한 링크 일지라도 큰 도움이 될 것입니다. – user3324184
각 쿼리에 대해 묻는 단일 엔터티는 무엇입니까? 즉, 파티션 키 (기본 키의 첫 번째 열)입니다. 그런 다음 쿼리에서 슬라이스를 수행 할 열 (예 : 인접 행 읽기)을 찾으십시오.이 위치는 "X와 Y 사이"또는 "마지막 X 내"또는 이와 유사합니다. 이러한 열은 클러스터링 키 (PKey의 2+ 이상) 여야합니다. 마지막으로 모든 쿼리를 지원하는 데 필요한만큼 테이블에 데이터를 복제해야합니다. –
상관 관계 및 기타 복잡한 분석에 대해서는 MapReduce가 필요할 것이므로 Cassandra만으로는이 문제를 효율적으로 해결할 수 없습니다. –