You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 10 Next »

여러가지 소스에서 분석및 집계를 수행하여 추천데이터 혹은 목적성 데이터를 만들어야하며

그렇게 만들어진 데이터를 수십만명의 사용자에게 제공하기 위해 실시간 검색기능이 필요하다고 가정해봅시다.


기능 요약

  • 여러가지 소스에서 데이터를 분석처리하여, 규모가 작은 목적성 데이터를 만들어냅니다.
  • 배치/실시간처리등 Master LocalDB는 다양한 방법을 통해 데이터가 변경됩니다.
  • MasterActor은 MasterLocalDB의 변경사항을 알려줍니다.
  • SlaveActor는 Master의 변경사항을 다시 LocalDB에 분산 복제를 시도합니다.
  • SlaveAPI는 LocalDB또는 SlaveActor를 통해 API 검색 서비스를 합니다.
  • SlaveActor는 필요에따라, RDB가 아닌 방식을 통해 Mapreduce 기능을 수행합니다.

1차 설계


설계는 마무리되었고, 아래와같은 컨셉을 사용할것입니다.

RDB와 아닌것의 저장소를 썩어서 상호운영이 가능하게 하는것은 어려운일이고

SPARK 엔진 + 하둡 + RDB + 파이썬기반 분석시스템 조합으로 이러한 부분의 문제를 상당히 단순화하고

강력한 솔류션을 제공해주며 그것을 잘이용하는게 요즘 추세입니다.

여기서의 목표는 규모보다는, 빅데이터를 경량화시키고 데이터의 변경을 더 빨리 감지하는데 목적이 있으며

직접 클러스터기능을 구현하면서 시행착오를 통해 학습을 하는것입니다.

주요컨셉


Spring with AKKA https://gofore.com/en/collecting-data-with-akka-and-spring-boot/

JPA Persitence : http://heowc.tistory.com/55

Spring Batch : http://wiki.gurubee.net/pages/viewpage.action?pageId=4949437

Akka Persitence : https://doc.akka.io/docs/akka/2.5.5/scala/persistence.html

AKKA Cluster : https://doc.akka.io/docs/akka/2.5/cluster-usage.html

MapReduce : https://blog.knoldus.com/2014/09/29/map-reduce-with-akka-and-scala-the-famous-word-count/


1차 설계의 문제점

준비중

2차 설계:

준비중



  • No labels