2016-08-17 3 views
9

레거시 시스템의 쓰기 집약적 인 테이블 (AWS RDS MySQL)이 있으며, 해당 테이블에서 kinesis로 모든 쓰기 이벤트 (삽입 또는 업데이트)를 스트리밍하고 싶습니다. 아이디어는 파이프를 워밍업 캐시로 만들고 검색 엔진을 업데이트하는 것입니다.MySQL Binary Log에서 Kinesis로 데이터 스트리밍

현재 우리는 기본적으로 SQL을 사용하여 루디먼트 폴링 아키텍처를 사용하지만, 이상적인 방법은 푸시 아키텍처가 트랜잭션 로그에서 이벤트를 직접 읽는 것입니다.

누구든지 사용해 보았습니까? 제안 된 아키텍처는 무엇입니까?

+0

이 기능을 구현할 수 있었습니까? –

+0

아직 없습니다. 우리는 곧이 문제로 돌아올 것으로 예상합니다. –

답변

9

오라클에서 이미 일부 고객과 작업 해 왔습니다. 또한 LinkedIn은 데이터베이스의 데이터를 다른 곳으로 스트리밍하는 기술을 많이 사용합니다. 그들은 무의미한 방식으로이를 달성하기 위해 Databus라는 플랫폼을 만들었습니다 - https://github.com/linkedin/databus/wiki/Databus-for-MySQL.

이미 MySQL의에서 운동성 스트림에 바이너리 로그를 스트리밍 링크드 인 원칙을 다음과 Github에서의 공공 프로젝트가있다 -, 정말 좋은이 https://github.com/cmerrick/plainview

당신이 링크드 인 접근의 핵심적 견실 한 세부 사항으로 얻고 싶은 경우에이 (광범위한) 블로그 게시물 - https://engineering.linkedin.com/distributed-systems/log-what-every-software-engineer-should-know-about-real-time-datas-unifying.

마지막으로 적어도, 옐프은하고있다되지 그뿐만 아니라,하지만 카프카와 - https://engineeringblog.yelp.com/2016/08/streaming-mysql-tables-in-real-time-to-kafka.html

우리가 게임에 운동성 스트림을 가져올 경우, 간결하게하기 위해, 운동성 스트림의 기초로 점점 아니, I 그것이 왜 효과가 없어야하는지 보지 마라. 사실, 그것은 그것을 위해 구축되었습니다 - 데이터베이스 트랜잭션 로그는 이벤트 스트림입니다. Amazon Web Services 공개 문서에서 발췌 : Amazon Kinesis Streams를 사용하면 실시간 데이터 처리가 가능합니다. Amazon Kinesis Streams를 사용하면 생성 된 데이터를 지속적으로 수집하고 비즈니스 및 운영에 관한 중요한 정보에 즉시 대응할 수 있습니다.

희망이 도움이됩니다.