분산 파일 시스템 기반 NoSQL의 데이터 안정성을 위한 범용 트랜잭션 관리 기법 General-purpose Transaction Management Technique for Data Stability of NoSQL on Distributed File System원문보기
본 논문에서는, 분산 파일 시스템을 기반으로 하는 NoSQL의 데이터 안정성 확보를 연구하였다. 본 논문의 궁극적 목표인 분산 파일 시스템 기반의 NoSQL을 구현하는 과정에서 분산 파일 시스템의 제약 조건인 랜덤 쓰기 문제에 봉착했고, 이 문제의 해결을 위해 중간파일의 개념을 사용함으로써 어떠한 장애 상황에서도 데이터의 오염을 방지할 수 있었다. 또한 중간파일을 쓰는 과정에서 기존 파일 시스템에 비해 분산 파일 시스템이 가지는 성능적 열세를 인식하여, NoSQL을 위한 파일 블록 단위를 다시 정의하는 방법으로 성능적 손실을 크게 줄였다. 결과적으로, 본 논문에서는 보편적 분산 파일 시스템의 확장성을 가진 NoSQL을 개발함과 동시에 원자성, 일관성, 고립성, 성능 등의 조건을 만족하는 트랜잭션 관리 기법을 사용함으로써 데이터 안정성을 가지면서 실용적 사용에도 무리가 없는 NoSQL을 구현하였다.
본 논문에서는, 분산 파일 시스템을 기반으로 하는 NoSQL의 데이터 안정성 확보를 연구하였다. 본 논문의 궁극적 목표인 분산 파일 시스템 기반의 NoSQL을 구현하는 과정에서 분산 파일 시스템의 제약 조건인 랜덤 쓰기 문제에 봉착했고, 이 문제의 해결을 위해 중간파일의 개념을 사용함으로써 어떠한 장애 상황에서도 데이터의 오염을 방지할 수 있었다. 또한 중간파일을 쓰는 과정에서 기존 파일 시스템에 비해 분산 파일 시스템이 가지는 성능적 열세를 인식하여, NoSQL을 위한 파일 블록 단위를 다시 정의하는 방법으로 성능적 손실을 크게 줄였다. 결과적으로, 본 논문에서는 보편적 분산 파일 시스템의 확장성을 가진 NoSQL을 개발함과 동시에 원자성, 일관성, 고립성, 성능 등의 조건을 만족하는 트랜잭션 관리 기법을 사용함으로써 데이터 안정성을 가지면서 실용적 사용에도 무리가 없는 NoSQL을 구현하였다.
In this paper, we research to secure stability of data storing/searching on NoSQL implemented on Distributed File System. When implementing NoSQL on Distributed File System, we faced that random write on Distributed File System is almost impossible. To solve this problem, a concept of Intermediate-F...
In this paper, we research to secure stability of data storing/searching on NoSQL implemented on Distributed File System. When implementing NoSQL on Distributed File System, we faced that random write on Distributed File System is almost impossible. To solve this problem, a concept of Intermediate-File was employed, and then it has been achieved that our system resist any failure circumstance. Additionally, since we discovered its performance cannot be as fast as general File System, by redefining the file block unit for our NoSQL system, we have prevented a slowdown in system performance. As a result, we are able to develop highly scalable NoSQL as Distributed File System, which fulfills basic conditions of transaction: Atomicity, Consistency, Isolation, and Performance.
In this paper, we research to secure stability of data storing/searching on NoSQL implemented on Distributed File System. When implementing NoSQL on Distributed File System, we faced that random write on Distributed File System is almost impossible. To solve this problem, a concept of Intermediate-File was employed, and then it has been achieved that our system resist any failure circumstance. Additionally, since we discovered its performance cannot be as fast as general File System, by redefining the file block unit for our NoSQL system, we have prevented a slowdown in system performance. As a result, we are able to develop highly scalable NoSQL as Distributed File System, which fulfills basic conditions of transaction: Atomicity, Consistency, Isolation, and Performance.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
이것은 파일이 저장되면 되돌릴 수 없다는 것과 동일한 이야기이므로 데이터 오염에 대한 회피가 불가능하다는 것을 알 수 있다. 본 논문에서는 이 문제를 해결하기 위해 중간파일(IF: Inter-File)의 개념을 제안하고자 한다. 중간파일은 트랜잭션에 대한 COMMIT 이 이루어질 때까지 임시 파일에 내용을 저장하고 COMMIT이 이루어지는 순간부터 중간파일의 내용을 원본파일로 옮겨 저장하는 작업을 시작 한다.
본 논문에서는 이러한 문제점을 해결하기 위하여 분산 파일 시스템을 기반으로 하는 NoSQL 구현 시 활용될 수 있는 트랜잭션 기법을 개발하였다.
본 논문에서는, 이러한 시류에 맞추어, 거시적 관점에서 수평적 확장성이라는 공통분모를 가지는 두 시스템의 통합 과정을 설명하고 필연적으로 발생할 수 밖에 없는 데이터 안정성 저하의 문제점을 살펴보고 해결책을 연구한다.
본 논문은 분산 파일 시스템의 확장 용이성을 활용한 문서기반의 NoSQL 시스템을 구축하는 과정에서 분산 파일 시스템의 제약조건으로 인한 데이터 안정성 측면의 문제를 인식하고 원자성, 일관성, 고립성의 조건을 만족하는 트랜잭션 기법에 대해 연구했다. 본 장에서는 분산 파일 시스템에 NoSQL을 접목할 때 발생할 수 있는 문제를 설명하고 다음 장에서 본 논문의 접근 방식으로 해결 방안을 제시한다.
데이터 저장소를 구현하는데 있어 이상적인 트랜잭션 처리는 (1)완전히 반영되거나 전혀 반영되지 않는 “전부 혹은 아무것도”(all-or-nothing)의 원자성 속성을 지켜야만하며, 이를 위해 지불해야할 (2)성능 측면의 비용이 최대한 작아야만 한다. 본 논문의 방법론은 실상 적대적인 요구조건인 (1), (2)간의 최적의 중간 지점을 찾아 실용적 환경에서 사용할 수 있도록 하는 것을 목표로 하였다.
이 과정에서 랜덤 쓰기가 금지된 분산 파일 시스템 상에서의 데이터 안정성을 고려하여 중간파일의 개념을 도입하였다. 이를 통해 안전하고 신뢰성 있는 데이터 저장 기능을 제공하는 동시에 사용자가 일관된 데이터를 검색할 수 있도록 하였다. 또한, 이 과정에서 발생할 수 있는 시스템의 성능 측면의 손실을 최소화하려고 노력했다.
가설 설정
랜덤 쓰기가 가능한 분산 파일 시스템을 가정해보자. 하나의 논리적 파일이 n개의 물리적인 파일(블록)로 나뉘어 있고 이 물리적인 파일은 각각 m개의 복사본을 갖는다.
제안 방법
HDFS는 Datanode의 물리적 추가와 Namenode로의 등록을 통해 데이터 저장 용량을 손쉽게 확장할 수 있도록 하였고, 복사본을 활용하여 시스템의 신뢰성을 보장하는 것과 더불어 실패 상황에 대한 대비를 하였다. 또 기존의 파일 시스템과 대부분의 인터페이스 호환을 통해 투명성을 유지하고 클라이언트의 시스템에 종속되지 않는 네트워크 I/O를 통하여 유연성을 충족시켰다.
고조되는 빅데이터의 관심 속에 안정적이고 확장이 용이한 NoSQL에 대한 요구가 늘어가고 있는 현대에 이르러, 우리는 분산 파일 시스템의 확장성을 계승하는 NoSQL을 구축했다. 이 과정에서 랜덤 쓰기가 금지된 분산 파일 시스템 상에서의 데이터 안정성을 고려하여 중간파일의 개념을 도입하였다.
고조되는 빅데이터의 관심 속에 안정적이고 확장이 용이한 NoSQL에 대한 요구가 늘어가고 있는 현대에 이르러, 우리는 분산 파일 시스템의 확장성을 계승하는 NoSQL을 구축했다. 이 과정에서 랜덤 쓰기가 금지된 분산 파일 시스템 상에서의 데이터 안정성을 고려하여 중간파일의 개념을 도입하였다. 이를 통해 안전하고 신뢰성 있는 데이터 저장 기능을 제공하는 동시에 사용자가 일관된 데이터를 검색할 수 있도록 하였다.
게다가 옮겨 쓰는 작업이므로 이상적인 상황에서라도 일반 쓰기 작업에 비해 최소한 2배 이상의 시간을 소요한다. 이 문제를 해결하기 위해 분산 파일 시스템의 블록 단위와는 별개로 NoSQL을 위한 고정 길이 블록 구조를 새로 정의 했다.
성능/효과
HDFS는 Datanode의 물리적 추가와 Namenode로의 등록을 통해 데이터 저장 용량을 손쉽게 확장할 수 있도록 하였고, 복사본을 활용하여 시스템의 신뢰성을 보장하는 것과 더불어 실패 상황에 대한 대비를 하였다. 또 기존의 파일 시스템과 대부분의 인터페이스 호환을 통해 투명성을 유지하고 클라이언트의 시스템에 종속되지 않는 네트워크 I/O를 통하여 유연성을 충족시켰다.
그리고 근래에 분산 파일 시스템에 대한 관심을 불러일으킨 주역인 확장 용이성은 종래의 중앙 집중형 시스템의 한계를 드러냄으로써 유연한 확장에 대한 필요성을 간접적으로 피력했다. 마지막으로 분산된 컴퓨터 환경에서 일부 컴퓨터에 대한 실패에도 정상동작하도록 해야 한다는 실패 관용성을 들었다.
중간파일의 크기를 규정할 수 있으므로 이론상 데이터 크기의 2배 이상의 쓰기 부하가 드는 원래의 중간파일 방식에 비해 비교할 수 없을 만큼 적은 NoSQL 블록 크기에 비례하는 쓰기부하가 발생하는 구조로 바뀌어 성능상의 문제를 해결하였다.
후속연구
그러나 여러 파일에 대하여 한 번의 트랜잭션으로 묶어 관리하는 것도 크게 다르지 않다. commit.info가 써진 이후 시점에서는 어떤 파일을 쓰다가 비정상 종료되더라도 본 논문의 방법론을 사용하는 NoSQL 시스템은 COMMIT된 모든 파일에 대해 이어쓰기 될 것이고, 그렇지 않은 파일들을 무시될 것이다. 그로 인해 모든 데이터는 정상적으로 남지만, 단순히 이 방법만으로는 여러 파일에 대한 쓰기 완료 시점을 맞추는 것은 불가능하다.
그로 인해 모든 데이터는 정상적으로 남지만, 단순히 이 방법만으로는 여러 파일에 대한 쓰기 완료 시점을 맞추는 것은 불가능하다. 그 대신, 각 파일의 유효한 오프셋을 별도로 정의하거나, 각 파일에 정의하는 방법들을 사용할 수 있을 것이며, 이러한 방법론을 향후 연구의 방향 중 하나로 삼고 있다.
본 논문이 두 시스템간의 차이에서 발생한 데이터 안정성의 문제를 물리적, 논리적 파일 수준에서 바라보고 해결책을 모색하는 것에 집중했다면, 향후 연구에서는 여러 파일에 대한 트랜잭션 관리 기법과 분산 파일 시스템의 장점인 Map-Reduce를 활용한 문서 저장 기법에 대해 연구할 것이다.
질의응답
핵심어
질문
논문에서 추출한 답변
데이터 저장소를 구현하는데 있어 이상적인 트랜잭션 처리 조건은 무엇인가?
이 두 가지 관점 중 본 논문에서 초점을 맞추는 부분은 분산 파일 시스템과 NoSQL을 연동하였을 경우에 한 트랜잭션 안에서 발생할 수 있는 프로세스의 비정상 종료에 의한 데이터 오염을 방지하는 것이다. 데이터 저장소를 구현하는데 있어 이상적인 트랜잭션 처리는 (1)완전히 반영되거나 전혀 반영되지 않는 “전부 혹은 아무것도”(all-or-nothing)의 원자성 속성을 지켜야만하며, 이를 위해 지불해야할 (2)성능 측면의 비용이 최대한 작아야만 한다. 본 논문의 방법론은 실상 적대적인 요구조건인 (1), (2)간의 최적의 중간 지점을 찾아 실용적 환경에서 사용할 수있도록 하는 것을 목표로 하였다.
랜덤 쓰기 작업이 분산 파일 시스템에서 매우 큰 영향을 미치는 원인은 무엇인가?
로컬 파일 시스템에서의 쓰기 작업과 다르게, 대용량 데이터 저장과 잦은 읽기에 최적화되어 있는 분산 파일 시스템에서는 랜덤 쓰기 작업을 허용할 경우, 시스템에 미치는 영향은 매우 크다. 이것의 근본적인 원인은 (1)하나의 논리적 파일이 여러 개의 물리적 파일로 쪼개져 네트워크 기반으로 분산되어 있고, (2)데이터 가용성과 신뢰성과 실패 관용성을 위해 복사본(Replica)을 만들기 때문이다.
Rani et al.은 분산 파일 시스템 설계 고려사항으로 무엇을 언급하였는가?
분산 파일 시스템은 네트워크 기반의 파일 시스템으로서, Rani et al.[7] 은 시스템 설계 고려사항으로 사용자가 마치 일반적인 파일 시스템을 사용하고 있는 것과 마찬가지의 인식만을 가지게 해야 한다는 관점에서의 투명성과 커널에 종속적이지 않아야 한다는 유연성을 설명했다.또 어떠한 에러 상황에서도 접근이 가능해야 한다는 신뢰성, 그리고 단일 프로세서에서 사용하는 것에 비할만한 성능을 갖춰야 한다는 조건을 기술했으며, 허용되지 않은 접근이나 그를 통한데이터 오염에 대한 보안 문제의 해결에 대한 필요도 언급했다.
참고문헌 (15)
Hilbert, M, Lopez, P., "The World's Technological Capacity to Store, Communicate, and Compute Information," Science 332 (6025): 60-65. doi:10.1126/science.1200970, PMID 21310967, 2011.
IBM, "What is big data?-Bringing big data to theenterprise," http://www-01.ibm.com/software/data/bigdata/what-is-big-data.html, Retrieved 2013-08-26.
Sanjay Ghemawat, Howard Gobioff, Shun-Tak Leung, The Google file system, Proceedings of the nineteenth ACM symposium on Operating systems principles, Bolton Landing, NY, USA [doi>10.1145/945445.945450], October 19-22, 2003
Konstantin Shvachko, Hairong Kuang, Sanjay Radia, Robert Chansler, "The Hadoop Distributed File System," Proceedings of the 2010 IEEE 26th Symposiumon Mass Storage Systems and Technologies (MSST), p.1-10, [doi>10.1109/MSST.2010.5496972], May03-07, 2010.
Jing Han, Haihong, E., Guan Le; Jian Du, "Surveyon NoSQL database," Pervasive Computing and Applications (ICPCA), 2011 6th International Conference on, vol., no., pp.363-366, doi: 10.1109/ICPCA.2011.6106531, 26-28 Oct. 2011.
Younghyun Kwon, Yongseung Kang, Youngmin Ahn, "Business Intelligence Applying Document-TypeBigdata Analysis", Korea information processing society review, vol.19 no.2, pp.86-94, 2012.
L.Sudha Rani, K. Sudhakar, S.Vinay Kumar, / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 5 (3),3716-3721, 2014.
Sunita Mahajan"Distributed Computing", Oxford University Press.
Jeffrey Dean, Sanjay Ghemawat, MapReduce: simplified data processing on large clusters, Proceedingsof the 6th conference on Symposium on OpeartingSystems Design & Implementation, p.10-10, San Francisco, CA, December 06-08, 2004.
Gajendran, Santhosh Kumar. "A survey on nosqldatabases." University of Illinois, 2012.
Stonebraker, Michael. "SQL databases v. NoSQLdatabases," Communications of the ACM 53.4, 10-11, 2010.
Wei, Zhou, Guillaume Pierre, and Chi-Hung Chi, "CloudTPS: Scalable transactions for Web applicationsin the cloud," Services Computing, IEEE Transactions on 5.4, 525-539, 2012.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.