$\require{mediawiki-texvc}$

연합인증

연합인증 가입 기관의 연구자들은 소속기관의 인증정보(ID와 암호)를 이용해 다른 대학, 연구기관, 서비스 공급자의 다양한 온라인 자원과 연구 데이터를 이용할 수 있습니다.

이는 여행자가 자국에서 발행 받은 여권으로 세계 각국을 자유롭게 여행할 수 있는 것과 같습니다.

연합인증으로 이용이 가능한 서비스는 NTIS, DataON, Edison, Kafe, Webinar 등이 있습니다.

한번의 인증절차만으로 연합인증 가입 서비스에 추가 로그인 없이 이용이 가능합니다.

다만, 연합인증을 위해서는 최초 1회만 인증 절차가 필요합니다. (회원이 아닐 경우 회원 가입이 필요합니다.)

연합인증 절차는 다음과 같습니다.

최초이용시에는
ScienceON에 로그인 → 연합인증 서비스 접속 → 로그인 (본인 확인 또는 회원가입) → 서비스 이용

그 이후에는
ScienceON 로그인 → 연합인증 서비스 접속 → 서비스 이용

연합인증을 활용하시면 KISTI가 제공하는 다양한 서비스를 편리하게 이용하실 수 있습니다.

AOP를 사용한 데이터베이스 트랜잭션 라우팅 알고리즘
Database Transaction Routing Algorithm Using AOP 원문보기

정보처리학회논문지. KIPS transactions on software and data engineering. 소프트웨어 및 데이터 공학, v.3 no.11, 2014년, pp.471 - 478  

강현식 (고려대학교 소프트웨어공학과) ,  이석훈 (고려대학교 컴퓨터.전파통신공학과) ,  백두권 (고려대학교 융합소프트웨어전문대학원)

초록
AI-Helper 아이콘AI-Helper

데이터베이스 복제(Replication)는 분산 데이터베이스 환경에서 신뢰성, 가용성, 과부하 방지 등을 위하여 이용되며, 마스터/슬레이브(Master/Slave), 멀티마스터(Multi-Master)와 같이 두 가지 모델이 존재한다. 멀티마스터 데이터베이스는 다중 데이터베이스에 삽입 및 갱신을 위한 동기화에 따른 복잡도 증가와 비용 증가와 같은 문제를 지닌다. 이러한 이유로 데이터의 삽입과 수정이 빈번히 일어나는 환경에는 마스터/슬레이브 모델을 이용한 데이터베이스 복제가 적합하다. 하지만 마스터/슬레이브 데이터베이스 역시 시스템에서 각 트랜잭션이 마스터로 접속해야 할지, 슬레이브로 접속해야 할지를 선택하기 위한 기준이 명확히 존재하지 않는 문제를 지닌다. 따라서 이 연구에서는 마스터/슬레이브 데이터베이스 모델에서 AOP(Aspect Oriented Programming) 기반의 데이터베이스 트랜잭션 라우팅 알고리즘을 제안한다. 이를 위하여 AOP에 기반하여 애플리케이션을 횡단 관심사로 분리하고 각 관심사들을 모듈화 하여 트랜잭션을 마스터 데이터베이스 및 슬레이브 데이터베이스로 라우팅한다. 이 논문은 시나리오 기반의 기능 통합 테스트를 통하여 제안 알고리즘의 안정성(Stability) 및 성능이 우수함을 평가한다.

Abstract AI-Helper 아이콘AI-Helper

Database replication is utilized to increase credibility, availability and prevent overload of distributed databases. Two models currently exist for replication - Master/Slave and Multi-Master. Since the Multi-Master model has problems of increasing complexity and costs to interface among multiple d...

주제어

AI 본문요약
AI-Helper 아이콘 AI-Helper

* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.

문제 정의

  • 이 논문에서 제안하는 알고리즘의 목표는 마스터/슬레이브 데이터베이스를 선택하는 것으로 알고리즘의 목적 자체만으로는 Before 충고를 사용하는 것이 간편할 수 있으나 Around 충고를 사용한 이유는 각 트랜잭션이 종료되고 나면 새롭게 트랜잭션을 라우팅 해야 하기 때문이다. 즉, 위 알고리즘에서 명세한 D값을 초기화하는 작업이 직조된 메소드를 수행하고 난 다음에 반드시 일어나야 하기 때문이다.
  • 이 논문에서는 마스터/슬레이브 데이터베이스 모델에서 AOP (Aspect Oriented Programming) 기반의 데이터베이스 트랜잭션 라우팅 알고리즘을 제안한다. AOP에 기반하여 마스터/슬레이브 데이터베이스에 트랜잭션 라우팅을 할 경우, 트랜잭션 라우팅에 대한 관심사를 모듈화 하여 각각의 애플리케이션에서 그대로 적용하는 것이 가능하므로 투명한 데이터 접근이 가능해진다.
  • 이 논문은 기존의 마스터/슬레이브 데이터베이스 모델이 지니고 있는 애플리케이션 코드 레벨에서의 수정이 필요한 의존성 문제점을 해결하기 위하여 AOP 기반의 트랜잭션 라우팅 알고리즘을 제안하였다. AOP 모듈을 이용하여 트랜잭션 라우팅을 이용하게 되면 애플리케이션 코드가 횡단 관심사로 분리되면서 기존의 코드상에서 트랜잭션을 라우팅할 필요가 없어지므로 가독성 및 유지보수성이 좋아진다.
  • 이 절에서는 성능 및 안정성을 평가한다. 이를 위하여 이 논문에서 제안한 AOP 기반 트랜잭션 라우팅 알고리즘을 적용한 시스템과 대조군으로 멀티마스터, JDBC를 통해 12시간 동안 50명의 가상 유저로 테스트를 진행하여 결과를 도출한다.

가설 설정

  • 실험을 위하여 가상의 50명 유저가 12시간 동안 서비스를 사용한다는 가정으로 테스트한다. 50명의 유저는 테스트베드 환경에서 순수하게 트랜잭션 라우팅 성능을 확인할 수 있을 정도의 유저 수/부하이며 그 이상이 될 경우 데이터베이스 성능 한계로 인해 제대로 된 결과를 도출할 수 없다.
본문요약 정보가 도움이 되었나요?

질의응답

핵심어 질문 논문에서 추출한 답변
AOP는 무엇인가? AOP는 소프트웨어를 핵심 관심사와 횡단 관심사로 분리하여 모듈화 시키는 프로그래밍 기법이다[3]. 기존의 객체지향 프로그래밍은 다수의 객체들에 분산적으로 중복되어있는 공통 관심사가 발생하게 되어있어 프로그래밍 유지보수 및 가독성이 낮다는 단점을 지닌다.
데이터베이스 복제는 무엇을 위하여 이용되는가? 데이터베이스 복제(Replication)는 분산 데이터베이스 환경에서 데이터를 각 데이터베이스에 복제하여 신뢰성, 가용성, 과부하 방지 등을 위하여 이용된다. 이를 위하여 마스터/슬레이브(Master/Slave), 멀티마스터(Multi-Master) 데이터베이스와 같은 다양한 모델이 존재한다[1].
데이터의 삽입과 수정이 빈번히 일어나는 환경에서 마스터/슬레이브 모델을 이용한 데이터 복제가 적합한 이유는 무엇인가? 데이터베이스 복제(Replication)는 분산 데이터베이스 환경에서 신뢰성, 가용성, 과부하 방지 등을 위하여 이용되며, 마스터/슬레이브(Master/Slave), 멀티마스터(Multi-Master)와 같이 두 가지 모델이 존재한다. 멀티마스터 데이터베이스는 다중 데이터베이스에 삽입 및 갱신을 위한 동기화에 따른 복잡도 증가와 비용 증가와 같은 문제를 지닌다. 이러한 이유로 데이터의 삽입과 수정이 빈번히 일어나는 환경에는 마스터/슬레이브 모델을 이용한 데이터베이스 복제가 적합하다.
질의응답 정보가 도움이 되었나요?

참고문헌 (9)

  1. E. Cecchet, G. Candea, and A. Ailamaki, "Middleware-based Database Replication: The Gaps Between Theory and Practice," In Proceedings of the 2008 ACM SIGMOD international conference on Management of data, pp.739-752, 2008. 

  2. K. K. Hercule, M. M. Eugine, B. B. Paulin, and L. B. Joel, "Study of the Master/Slave replication in a distributed database," International Journal of Computer Science Issues, Vol.8, No.5, pp.319-326, 2011. 

  3. G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, and W. G. Griswold, "An overview of AspectJ," ECOOP 2001-Object-Oriented Programming. Springer Berlin Heidelberg, pp.327-354, 2001. 

  4. S. H. Kim, M. S. Kim, and S. Y. Park, "An Identification and Specification Method of Crosscutting Concerns based on Goal-Scenario Modeling for Aspect-Oriented Software Development," Journal of Korea Information Science Society, Vol.35, No.7, pp.424-430, 2008. 

  5. M. Petrini, "Distributed Databases Management Using Replication Method," The Annals of the University of Petrosani, Economics, Vol.9, No.4, pp.135-140, 2009. 

  6. D. J. Choi, K. S. Chung, and J. S. Shon, "An Improvement on the Weighted Least-Connection Scheduling Algorithm in Web Cluster Systems," Korea Internet Service Promotion Association, Vol.33, No.1, pp.199-201, 2006. 

  7. S. Gancarski, H. Naacke, E. Pacitti, and P. Valduriez. "The Leganet system: Freshness-Aware Transaction Routing in a Database Cluster," Information Systems, Vol.32, No.2, pp.320-343, 2005. 

  8. S. Elnikety, S. Dropsho, and W. Zwaenepoel, "Tashkent+: Memory-aware load balancing and update filtering in replicated databases," ACM SIGOPS Operating Systems Review, Vol.41, No.3, pp.399-412, 2007. 

  9. Django, "a high-level Python Web framework that encourages rapid development and clean, pragmatic design," https://www.djangoproject.com 

저자의 다른 논문 :

관련 콘텐츠

오픈액세스(OA) 유형

BRONZE

출판사/학술단체 등이 한시적으로 특별한 프로모션 또는 일정기간 경과 후 접근을 허용하여, 출판사/학술단체 등의 사이트에서 이용 가능한 논문

섹션별 컨텐츠 바로가기

AI-Helper ※ AI-Helper는 오픈소스 모델을 사용합니다.

AI-Helper 아이콘
AI-Helper
안녕하세요, AI-Helper입니다. 좌측 "선택된 텍스트"에서 텍스트를 선택하여 요약, 번역, 용어설명을 실행하세요.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.

선택된 텍스트

맨위로