DOI QR코드

DOI QR Code

Database Transaction Routing Algorithm Using AOP

AOP를 사용한 데이터베이스 트랜잭션 라우팅 알고리즘

  • 강현식 (고려대학교 소프트웨어공학과) ;
  • 이석훈 (고려대학교 컴퓨터.전파통신공학과) ;
  • 백두권 (고려대학교 융합소프트웨어전문대학원)
  • Received : 2014.06.30
  • Accepted : 2014.10.01
  • Published : 2014.11.30

Abstract

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 databases for updates and inserts, the Master/Slave model is more appropriate when frequent data inserts and updates are required. However, Master/Slave model also has a problem of not having exact criteria when systems choose to connect between Master and Slave for transactions. Therefore, this research suggests a routing algorithm based on AOP (Aspect Oriented Programming) in the Master/Slave database model. The algorithm classifies applications as cross-cutting concerns based on AOP, modularizes each concern, and routes transactions among Master and Slave databases. This paper evaluates stability and performance of the suggested algorithm through integration tests based on scenarios.

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

Keywords

References

  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. https://doi.org/10.1145/1272998.1273037
  9. Django, "a high-level Python Web framework that encourages rapid development and clean, pragmatic design," https://www.djangoproject.com