KR101533340B1 - 클라우드 스토리지 시스템에서 데이터 접근빈도와 소거 코드를 이용한 데이터 복제 방법 - Google Patents
클라우드 스토리지 시스템에서 데이터 접근빈도와 소거 코드를 이용한 데이터 복제 방법 Download PDFInfo
- Publication number
- KR101533340B1 KR101533340B1 KR1020140042372A KR20140042372A KR101533340B1 KR 101533340 B1 KR101533340 B1 KR 101533340B1 KR 1020140042372 A KR1020140042372 A KR 1020140042372A KR 20140042372 A KR20140042372 A KR 20140042372A KR 101533340 B1 KR101533340 B1 KR 101533340B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- input file
- access frequency
- type
- erasure
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1453—Management of the data involved in backup or backup restore using de-duplication of the data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 SSD 기반 클라우드 스토리지 시스템에서, 저장공간 효율성 향상과 입출력 성능 향상을 위하여, 소거 코드(Erasure Codes)를 이용하여 데이터를 복제하는 클라우드 스토리지 시스템에서 데이터 접근빈도와 소거 코드를 이용한 데이터 복제 방법에 관한 것으로서, (a) 상기 입력 파일의 쓰기 명령에 대하여 상기 입력 파일을 청킹하는 단계; (b) 상기 입력 파일에 대한 접근 빈도 파라미터를 생성하는 단계; (c) 상기 접근 빈도 파라미터에 따라 상기 입력 파일을 3개의 유형 중 어느 하나의 유형으로 판단하는 단계; 및, (d) 판단된 유형에 따라 상기 입력 파일의 저장할 복제본의 개수 및, 소거 코딩 여부를 결정하여, 상기 입력 파일의 복제본 또는 소거 코딩 결과를 저장하는 단계로 구성된다.
상기와 같은 데이터 복제 방법에 의하여, 클라우드 스토리지 시스템에서 원본데이터에 3개의 복제본을 저장하는 종래 기술과 동일한 복구성능을 유지하면서 저장공간 낭비와 입출력이 증가하는 문제를 해결할 수 있다.
상기와 같은 데이터 복제 방법에 의하여, 클라우드 스토리지 시스템에서 원본데이터에 3개의 복제본을 저장하는 종래 기술과 동일한 복구성능을 유지하면서 저장공간 낭비와 입출력이 증가하는 문제를 해결할 수 있다.
Description
본 발명은 SSD 기반 클라우드 스토리지 시스템에서, 저장공간 효율성 향상과 입출력 성능 향상을 위하여, 소거 코드(Erasure Codes)를 이용하여 데이터를 복제하는 클라우드 스토리지 시스템에서 데이터 접근빈도와 소거 코드를 이용한 데이터 복제 방법에 관한 것이다.
전 세계에서 PC, 모바일, 노트북 기기의 사용으로 생성되는 데이터양이 2012년에는 2.8ZB(제타바이트, Zeta Byte)이다. 향후 2020년까지 40ZB가 생성될 것이라는 전망이 나왔으며 데이터 규모가 급격하게 늘어남에 따라 빅데이터 처리가 큰 이슈가 되고 있다. 클라우드 스토리지에서 생성된 방대한 빅데이터를 저장하기 위해선 많은 양의 저장공간을 필요로 하게 된다.
빅데이터를 효과적으로 저장 및 관리하기 위해서 클라우드 스토리지 시스템은 분산 파일시스템을 사용하여 여러 서버 및 노드들을 네트워크로 연결하여 처리한다. 이를 통해, 클라우드 스토리지 시스템은 고가용성과 높은 확장성을 제공한다[비특허문헌 1].
분산 파일시스템 중에 아파치(Apache) 재단에서 개발한 오픈소스인 하둡 분산 파일시스템(HDFS)은 클라우드 스토리지 시스템에 적용되어 많이 사용되고 있다. HDFS는 저장공간의 신뢰성을 위해서 데이터를 64MB의 블록 단위로 청킹한 후, 3개의 복제본을 생성하여 각 블록들을 데이터 노드에 분산하여 저장한다[비특허문헌 2]. 도 1은 HDFS의 파일 복제과정의 문제점을 보여주고 있다. 만약 320MB의 데이터가 들어오면 64MB의 블록 단위로 데이터를 청킹한 후, 3개의 복제본을 생성하고 분산하여 저장한다. 이 방법은 원본 데이터 크기에 3배의 저장공간이 필요하기 때문에 데이터가 커질수록 저장공간 낭비가 심해진다[비특허문헌 3].
또한, 대부분의 클라우드 스토리지 시스템은 비용을 절감하기 위해서 저장공간당 비용이 저렴한 HDD를 저장장치로 사용하고 있다. 하지만 스핀들 모터를 사용해 동작하는 HDD는 임의 I/O(Random I/O) 성능이 낮아서 속도의 저하가 발생한다[비특허문헌 4]. 따라서 임의 I/O가 많이 발생하는 클라우드 환경에서는 HDD가 병목현상을 발생시키는 요인이 된다.
SSD(Solid State Disk)는 NAND 플래시 메모리 기반의 저장장치로 순차 및 임의 I/O 성능이 모두 HDD 보다 높은 저장장치이다. 클라우드 스토리지로 SSD를 사용할 경우 HDD의 사용으로 생기는 병목현상을 줄일 수 있다. 비용 면에서도 점차 저렴해지고 있기 때문에 현재 플래시 어레이(Flash Array) 기반의 클라우드 스토리지 제품들이 개발되고 있다.
[비특허문헌 1] D. J. Abadi, "Data Management in the Cloud: Limitations and Opportunities," in Proc. of IEEE Conf. on Data Engineering, pp.1∼10, Shanghai, China, March 2009.
[비특허문헌 2] K. Shvachko, H. Kuang, S. Radia, "The Hadoop Distributed File System," in Proc. of IEEE Conf. on Mass Storage System and Technologies, pp.1∼10, Santa Clara, California, USA, May 2010.
[비특허문헌 3] J. Wang, W. Gong, P. Varman, C. Xie, "Reducing Storage Overhead with Small Write Bottleneck Avoiding in Cloud RAID System," in Proc. of ACM and IEEE Conf. on 13th Grid Computing, pp.174∼183, Beijing, China, September 2012.
[비특허문헌 4] B. Mao, H. Jiang, S. Wu, Y. Fu, L. Tian, "SAR: SSD Assisted Restore Optimization for Deduplication-based Storage System in the Cloud," in Proc. of IEEE Conf. on 7th Networking, Architecture, and Storage, pp.328∼337, Xiamen, China, June 2012.
[비특허문헌 5] B. Fan, W. Tantisiriroj, L. Xiao, G. Gibson, "DiskReduce: RAID for Data-Intensive Scalable Computing," in Proc. of ACM Conf. on Supercomputing PDSW'09, pp.6∼10, Portland, Oregon, USA, November 2009.
[비특허문헌 6] S. Plank, S Simmerman, C. D. Schuman, "Jerasure: A Library in C/C++ Facilitating Erasure Coding for Storage Applications," Technical Report CS-08-627, University of Tennessee Department of Electrical Engineering and Computer Science, pp.1∼59, August 2008.
[비특허문헌 7] J. S. Plank, "A tutorial on Reed-Solomon coding for fault-tolerance in RAID-like systems," Software-Practice & Experience, Vol.27, No.9, pp.995∼1012, September 1997.
[비특허문헌 8] M. Blaum, J. Brandy, J. Bruck, M. Jai, "EVENODD: an efficient scheme for tolerating double disk failures in RAID architectures," IEEE Transactions on Computers, Vol.44, No.2, pp.192∼202, February 1995.
[비특허문헌 9] L. H. James, "WEAVER Codes: Highly Fault Tolerant Erasure Codes for Storage Systems," in Proc. of ACM Conf. on FAST, pp.1∼10, 2005.
[비특허문헌 10] X. Lihao, J. Bruck, "X-code: MDS array codes with optimal encoding," IEEE Transactions on Information Theory, Vol.45, No.1, pp.272∼276, January 1999.
[비특허문헌 11] J-H. Jo, J-K. Kim, P. Mehdi, D-H. Kim, "Data Replication Method using Erasure Code in SSD based Cloud Storage System," in Proc. of IEEK Conf. on Summer Conference, Vol.36, No.1, pp.1539∼1542, Jeju, Korea, July 2013.
[비특허문헌 12] J-K. Kim, J-H. Jo, P. Mehdi, D-H. Kim, "Unified De-duplication Method of Data and Parity Disks in SSD-based RAID Storage," in Proc. of IEEK Conf. on Summer Conference, Vol.36, No.1, pp.1543∼1546, Jeju, Korea, July 2013.
[비특허문헌 13] D. Park, D. H. C. Du, "Hot Data Identification for Flash-based Storage Systems Using Multiple Bloom Filters," in Proc. of IEEE on 27th Mass Storage Systems and Technologies(MSST), pp.1∼11, Denver, Colorado, USA, May 2011.
[비특허문헌 14] J.-W. Hsieh, L.-P. Chang, T.-W. Kuo, "Efficient Online Identification of Hot Data for Flash-Memory Management," in Proc. of ACM on 20th Symposium on Applied Computing(SAC), pp.838∼842, Santa Fe, New Mexico, March 2005.
[비특허문헌 15] H.-S. Lee, H.-S. Yun, D.-H. Lee, "HFTL: Hybrid Flash Translation Layer based on Hot Data Identification for Flash Memory," IEEE Transactions on Consumer Electronics, Vol.55, No.4, pp.2005∼2011, November 2009.
본 발명의 목적은 상술한 바와 같은 문제점을 해결하기 위한 것으로, SSD 기반 클라우드 스토리지 시스템에서, 저장공간 효율성 향상과 입출력 성능 향상을 위하여, 소거 코드(Erasure Codes)를 이용하여 데이터를 복제하는 클라우드 스토리지 시스템에서 데이터 접근빈도와 소거 코드를 이용한 데이터 복제 방법을 제공하는 것이다.
특히, 본 발명의 목적은 데이터 접근 빈도에 따라 복제 횟수를 줄이더라도 소거 코드(Erasure Codes)를 사용하여 데이터 복구 성능을 동일하게 유지하는 클라우드 스토리지 시스템에서 데이터 접근빈도와 소거 코드를 이용한 데이터 복제 방법을 제공하는 것이다.
상기 목적을 달성하기 위해 본 발명은 입력 파일을 복제하여 저장하는, 클라우드 스토리지 시스템에서 데이터 접근빈도와 소거 코드를 이용한 데이터 복제 방법에 관한 것으로서, (a) 상기 입력 파일의 쓰기 명령에 대하여 상기 입력 파일을 청킹하는 단계; (b) 상기 입력 파일에 대한 접근 빈도 파라미터를 생성하는 단계; (c) 상기 접근 빈도 파라미터에 따라 상기 입력 파일을 3개의 유형 중 어느 하나의 유형으로 판단하는 단계; 및, (d) 판단된 유형에 따라 상기 입력 파일의 저장할 복제본의 개수 및, 소거 코딩 여부를 결정하여, 상기 입력 파일의 복제본 또는 소거 코딩 결과를 저장하는 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명은 클라우드 스토리지 시스템에서 데이터 접근빈도와 소거 코드를 이용한 데이터 복제 방법에 있어서, 상기 방법은, (e) 상기 입력 파일의 읽기 명령에 대하여 상기 입력 파일의 접근 빈도 파라미터를 갱신하는 단계; (f) 갱신된 입력 파일의 접근 빈도에 따라 상기 입력 파일의 유형을 갱신하는 단계; (g) 상기 입력 파일의 유형이 변경되면, 변경된 유형에 따른 복제본 개수에 맞추어 상기 입력 파일의 복제본을 삭제하거나 추가 복제본을 생성하고, 상기 변경된 유형에 따른 소거 코딩 여부에 따라 소거 코딩 결과를 생성하거나 원래의 소거 코딩 결과를 삭제하는 단계; 및, (h) 상기 입력 파일의 청크들을 합쳐서 읽는 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명은 클라우드 스토리지 시스템에서 데이터 접근빈도와 소거 코드를 이용한 데이터 복제 방법에 있어서, 상기 유형은 핫 데이터 유형, 웜 데이터 유형, 및, 콜드 데이터 유형으로 분류되고, 상기 접근 빈도 파라미터가 사전에 정해진 1차 임계값 보다 작으면, 콜드 데어터 유형으로 판단하고, 상기 접근 빈도 파라미터가 상기 1차 임계값과 같거나 커지면 왐 데이터 유형으로 판단하고, 상기 접근 빈도 파라미터가 사전에 정해진 2차 임계값과 같거나 커지면 핫 데어터 유형으로 판단하고, 상기 2차 임계값은 상기 1차 임계값 보다 큰 것을 특징으로 한다.
또한, 본 발명은 클라우드 스토리지 시스템에서 데이터 접근빈도와 소거 코드를 이용한 데이터 복제 방법에 있어서, 상기 입력 파일이 핫 데이터 유형이면 복제본 3개를 생성하여 저장하고, 상기 입력 파일이 웜 데이터 유형이면 복제본 2개와 소거 코딩 결과를 생성하여 저장하고, 상기 입력 파일이 콜드 데이터 유형이면 파일 1개와 소거 코딩 결과를 생성하여 저장하는 것을 특징으로 한다.
또한, 본 발명은 클라우드 스토리지 시스템에서 데이터 접근빈도와 소거 코드를 이용한 데이터 복제 방법에 있어서, 상기 소거 코딩 결과는 패리티 청크인 것을 특징으로 한다.
상술한 바와 같이, 본 발명에 따른 클라우드 스토리지 시스템에서 데이터 접근빈도와 소거 코드를 이용한 데이터 복제 방법에 의하면, 클라우드 스토리지 시스템에서 원본데이터에 3개의 복제본을 저장하는 종래 기술과 동일한 복구성능을 유지하면서 저장공간 낭비와 입출력이 증가하는 문제를 해결할 수 있는 효과가 얻어진다.
특히, 본 발명의 실험을 통하여, 3개의 데이터 복제본을 생성하는 방법과 패리티만을 생성하는 방법을 비교하여, 데이터 접근빈도를 핫(Hot), 왐(Warm), 콜드(Cold)로 세분화하여 나눔으로써 소거 코드(Erasure Codes)를 이용한 데이터 복제 방법이 HDFS 보다 저장공간 효율성은 40%, 읽기 성능 11% 및 쓰기 성능 10% 향상되는 효과가 얻어진다.
도 1은 종래기술에 따른 HDFS의 저장공간 사용의 예시도.
도 2는 본 발명을 실시하기 위한 전체 시스템에 대한 블록 구성도.
도 3은 본 발명의 일실시예에 따른 RAID 시스템의 구성도.
도 4는 본 발명의 일실시예에 따른 핫 데이터 유형의 데이터 복제 방법의 예시도.
도 5는 본 발명의 일실시예에 따른 왐 데이터 유형의 데이터 복제 방법의 예시도.
도 6은 본 발명의 일실시예에 따른 콜드 데이터 유형의 데이터 복제 방법의 예시도.
도 7은 본 발명의 일실시예에 따른 소거 코드를 이용한 데이터 복제 방법의 예시도.
도 8은 본 발명에 따른 일실시예에 따른 클라우드 스토리지 시스템에서 데이터 접근빈도와 소거 코드를 이용한 데이터 복제 방법으로서, 쓰기 명령시의 방법을 설명하는 흐름도.
도 9는 본 발명에 따른 일실시예에 따른 클라우드 스토리지 시스템에서 데이터 접근빈도와 소거 코드를 이용한 데이터 복제 방법으로서, 읽기 명령시의 방법을 설명하는 흐름도.
도 10은 본 발명에 따른 일실시예에 따른 클라우드 스토리지 시스템에서 데이터 접근빈도와 소거 코드를 이용한 데이터 복제 방법을 구현한 알고리즘의 일례.
도 11은 본 발명의 실험에 따라, 실험에 사용한 SSD의 스펙 정보를 나타낸 표.
도 12는 본 발명의 실험에 따라, 실험 환경을 나타낸 표.
도 13은 본 발명의 실험에 따라, 저장공간 효율성에 대한 실험 성능 비교를 나타낸 표.
도 14는 본 발명의 실험에 따라, 데이터 쓰기에 대한 실험 성능 비교를 나타낸 표.
도 15는 본 발명의 실험에 따라, 데이터 읽기에 대한 실험 성능 비교를 나타낸 표.
도 2는 본 발명을 실시하기 위한 전체 시스템에 대한 블록 구성도.
도 3은 본 발명의 일실시예에 따른 RAID 시스템의 구성도.
도 4는 본 발명의 일실시예에 따른 핫 데이터 유형의 데이터 복제 방법의 예시도.
도 5는 본 발명의 일실시예에 따른 왐 데이터 유형의 데이터 복제 방법의 예시도.
도 6은 본 발명의 일실시예에 따른 콜드 데이터 유형의 데이터 복제 방법의 예시도.
도 7은 본 발명의 일실시예에 따른 소거 코드를 이용한 데이터 복제 방법의 예시도.
도 8은 본 발명에 따른 일실시예에 따른 클라우드 스토리지 시스템에서 데이터 접근빈도와 소거 코드를 이용한 데이터 복제 방법으로서, 쓰기 명령시의 방법을 설명하는 흐름도.
도 9는 본 발명에 따른 일실시예에 따른 클라우드 스토리지 시스템에서 데이터 접근빈도와 소거 코드를 이용한 데이터 복제 방법으로서, 읽기 명령시의 방법을 설명하는 흐름도.
도 10은 본 발명에 따른 일실시예에 따른 클라우드 스토리지 시스템에서 데이터 접근빈도와 소거 코드를 이용한 데이터 복제 방법을 구현한 알고리즘의 일례.
도 11은 본 발명의 실험에 따라, 실험에 사용한 SSD의 스펙 정보를 나타낸 표.
도 12는 본 발명의 실험에 따라, 실험 환경을 나타낸 표.
도 13은 본 발명의 실험에 따라, 저장공간 효율성에 대한 실험 성능 비교를 나타낸 표.
도 14는 본 발명의 실험에 따라, 데이터 쓰기에 대한 실험 성능 비교를 나타낸 표.
도 15는 본 발명의 실험에 따라, 데이터 읽기에 대한 실험 성능 비교를 나타낸 표.
이하, 본 발명의 실시를 위한 구체적인 내용을 도면에 따라서 설명한다.
또한, 본 발명을 설명하는데 있어서 동일 부분은 동일 부호를 붙이고, 그 반복 설명은 생략한다.
먼저, 본 발명을 실시하기 위한 전체 시스템을 도 2를 참조하여 설명한다.
도 2에서 보는 바와 같이, 본 발명을 실시하기 위한 전체 시스템은 클라이언트(10), 데이터 노드(20), 복제 시스템(30)으로 구성된다.
클라이언트(10)는 PC, 노트북, 넷북, PDA, 모바일 등의 통상의 컴퓨팅 단말로서, 복제 시스템(30)에 데이터를 저장하거나 데이터를 읽는 서비스를 요청하는 단말이다.
데이터 노드(20)는 네트워크 상에 데이터를 저장하는 서버 또는 스토리지 서버로서, SSD 스토리지 등을 구비하고 이를 제어하여 데이터 입출력 서비스(또는 기능)를 수행한다. 데이터 노드(20)에 구비하는 SSD 스토리지는 SSD(Solid State Disk) 방식의 디스크로 구성된 스토리지 또는 저장장치이다. SSD는 NAND 플래시 메모리가 병렬로 결합하여 구성된 저장장치이다.
복제 시스템(30)은 클라이언트(10)로부터 요청을 받아 데이터 노드(20)에 저장된 데이터를 가져오거나, 클라이언트(10)로부터 받은 데이터를 데이터 노드(20)에 저장한다. 바람직하게는, 복제 시스템(30)은 데이터 노드(20)들을 하둡 분산 파일시스템(HDFS)에 의해 구성한다.
복제 시스템(30)은 적어도 3개 이상의 데이터 노드(20)와 연결되어 데이터를 분산하여 저장시킨다. 복제 시스템(30)은 데이터를 복제하여 2개 이상의 복제 데이터를 저장하는 경우, 서로 다른 데이터 노드(20)에 중복하여 복제하여 저장한다. 특히, 복제 시스템(30)은 입력 데이터에 대하여 청킹 과정을 거친 후, 청킹 단위로 데이터를 저장한다.
또한, 복제 시스템(30)은 RAID 시스템 방식으로 구성할 수 있다. 바람직하게는, 복제 시스템(30)은 RAID를 사용하는 하둡 분산 파일시스템(HDFS)에 의해 구성한다.
이때, 소거 코딩(Erasure Codes)을 이용하여 패리티 정보를 저장하는 경우, 청크 단위로 패리티 데이터를 생성하고, 청크 단위로 데이터 및 패리티 데이터를 저장한다.
도 3에서 보는 바와 같이, 데이터 청크와 패리티 청크는 스트라이프 방식으로 각각의 데이터 노드(20)에 저장된다. 바람직하게는, 청크 크기의 범위는 32∼128KB이다. RAID에서 스트라이프 방식은 데이터를 청크 사이즈 단위로 나누고 RAID 수 만큼의 청크를 하나의 세트로 구성하여 저장하는 방법이다.
이때 도 3에서와 같이, RAID-5,6 에서의 스트라이프 방식에 의해, 데이터 세트의 청크와 패리티 청크를 순서대로 A1, A2, A3, PA 저장한다. 그리고 다음 데이터 세트에서는 B2, B3, PB, B1 순서로 저장한다. 이것은 패리티 청크가 하나의 데이터 노드에 편중될 때 신뢰성 저하를 방지하기 위함이다. 패리티 청크가 하나의 데이터 노드에 편중될 경우 패리티 노드에서 장애가 발생하면 패리티 정보가 없어서 데이터 복구를 할 수 없게 되기 때문이다.
한편, 복제 시스템(30)은 데이터 노드의 손상 등에 의해 데이터가 손실되는 경우, 다른 데이터 노드에 복제된 데이터 청크를 이용하거나, 패리티 데이터를 이용하여 데이터를 복구할 수 있다.
다음으로, 본 발명의 일실시예에 따른 복제 시스템(30)의 하둡 분산 파일시스템(HDFS)에 대하여 구체적으로 설명한다.
하둡 분산 파일시스템(HDFS)은 대량의 자료를 처리할 수 있게 해주는 오픈소스 소프트웨어이다. HDFS는 하나의 네임노드와 다수의 데이터 노드로 구성된다. 네임노드는 HDFS의 네임 스페이스를 관리하면서 클라이언트의 파일 접근 요청을 처리한다. HDFS의 데이터 노드는 클라이언트의 데이터 입출력 요청을 기본 64MB 블록 단위로 저장한다. 또한, 컴퓨터 클러스터에서 복제본을 만들어 저장장치 중 일부의 손실을 빨리 자동으로 복구하는 기능을 제공한다. 복구 기능은 사용자가 지정한 만큼의 데이터 복제본을 만들어 동작하는데 통상 3개의 복제본을 만든다. 이러한 3개의 복제본 생성은 데이터 규모가 커질수록 저장공간 사용량이 증가하게 된다. HDFS는 클라우드 환경에 적합하지만 3개의 복제본을 만듦으로써 저장공간 소모가 크다는 단점이 있다.
또한, RAID(Redundant Array of Independent Disks)를 사용한 하둡 분산 파일시스템(HDFS-RAID)에 대하여 설명한다.
HDFS-RAID는 기존의 HDFS에 데이터 복제 방법(Data Replication Method) 대신 RAID를 적용한 분산 파일시스템이다. HDFS-RAID는 DRFS(Distributed RAID File System)이라고도 불리며 아파치 재단에서 연구되었다[비특허문헌 5].
HDFS-RAID는 신뢰성을 위해 데이터의 복제본을 만들지 않고 RAID 6의 스트라이프를 만들어 패리티 블록을 같이 저장한다. 데이터 손실시에는 패리티 블록으로부터 데이터 복구과정을 거쳐서 원본 데이터를 복원한다. HDFS-RAID는 기존 HDFS의 3개의 복제본을 생성하는 방법과 비교했을 때 동일하게 2개의 손실을 복구할수 있지만 저장공간을 적게 사용한다. 따라서 데이터 저장량이 많은 클라우드 스토리지 시스템에 적용시 효과적이다.
일례로 페이스북(Facebook)에서 HDFS-RAID를 적용하여 저장공간 효율성을 향상한 사례가 있다. 페이스북(Facebook)은 전세계 약 10억명 이상의 유저가 활동하는 세계 최대의 소셜 네트워크 서비스로 하루 평균 25억개의 컨텐츠가 공유되고 500TB 이상의 데이터를 처리한다. 이처럼 페이스북(Facebook)에서 매일 생성되는 방대한 데이터가 쌓여서 빅데이터를 형성하게 되는데, 페이스북(Facebook)에서는 HDFS-RAID를 도입하였고 이를 통해 약 5PB의 용량을 감소시키는 성과를 달성하였다. 페이스북(Facebook)의 사례는 데이터 복제 방식에 소거 코드(Erasure Codes)를 적용할 경우 저장공간 사용이 효율적이라는 것을 보여준다.
다음으로, 본 발명에 사용하는 소거 코딩(Erasure Coding) 방법에 대하여 구체적으로 설명한다.
소거 코딩(Erasure Coding)(또는 소거 코드)은 데이터와 인코딩 과정을 통해 생성한 코드들을 저장하여 데이터 손실시 디코딩 과정을 거쳐 원본 데이터를 복구하는 방법이다[비특허문헌 6]. 뛰어난 오류 복구 성능과 입출력 성능으로 인해서 데이터 신뢰성이 중요한 시스템에 소거 코드(Erasure Codes)를 사용한다. 소거 코드(Erasure Codes)로 생성된 패리티가 데이터 복제본 생성보다 적은 저장공간을 차지하므로 신뢰성을 제공하면서 저장공간 효율성 또한 높일 수 있다.
소거 코드(Erasure Codes)의 종류로는 리드-솔로몬 코드(Reed-Solomon Code)[비특허문헌 7], 에베노드 코드(EVENODD code)[비특허문헌 8], 위버 코드(Weaver code)[비특허문헌 9], 엑스 코드(X-code)[비특허문헌 10] 등 다양한 코드가 있다. 각 소거 코드(Erasure Codes) 별로 다른 알고리즘을 사용하며 연산 복잡도를 줄이면서 복구 성능을 높이기 위한 기술이 개발되고 있다.
다음으로, 본 발명의 일실시예에 따른 클라우드 스토리지 시스템에서 데이터 접근빈도에 따른 데이터 복제 방법을 도 4 내지 도 6을 참조하여 설명한다.
종래기술에 따른 클라우드 스토리지에서의 데이터 복제 방법은 데이터 손실로부터 신뢰성을 유지하기 위해 3개의 복제본을 생성한다. 따라서 종래기술에 따른 복제 방법은 저장공간 낭비를 유발한다. 이에 반해 본 발명에 따른 방법은 저장공간 효율성과 입출력 속도를 높이기 위해서 데이터 접근빈도에 따라 세 가지 다른 복제 방법을 사용한다.
본 발명에 따른 방법은 접근빈도에 따라 데이터를 핫 데이터(Hot Data), 왐 데이터(Warm Data), 콜드 데이터(Cold Data)로 분류한다.
핫 데이터(Hot Data)는 접근빈도가 높아 자주 사용되는 데이터이다. 핫 데이터(Hot Data)는 데이터 손실시에 강건한 신뢰성을 보장하기 위해서 도 4와 같이 3개의 복제본을 생성한다[비특허문헌 11].
왐 데이터(Warm Data)는 핫 데이터(Hot Data) 보다 접근 빈도가 낮은 데이터이지만 추후 클라이언트의 잦은 사용으로 핫 데이터(Hot Data)가 될 가능성이 높은 데이터이다. 따라서 왐 데이터(Warm Data)는 도 5와 같이 2개의 복제본 생성과 소거 코드(Erasure Codes)를 사용하여 신뢰성을 확보한다. 콜드 데이터(Cold Data)는 접근 빈도가 가장 낮아 자주 사용되지 않는 데이터로 도 6과 같이 소거 코드(Erasure Codes)만을 사용해 데이터 손실에 대비한다.
핫 데이터(Hot Data)는 일반적으로 전체 데이터에서 차지하는 비율이 상대적으로 낮기 때문에 3개의 복제본을 생성하더라도 저장공간 효율성이 크게 떨어지지 않는다. 핫 데이터(Hot Data)에 비해 접근빈도가 낮은 왐 데이터(Warm Data), 콜드 데이터(Cold Data)의 경우 데이터 양이 많기 때문에 저장공간 효율성을 위해 소거 코드(Erasure Codes)를 적용하여 패리티를 생성한 후 저장한다.도 5와 도 6은 소거 코드(Erasure Codes)를 적용했을 때의 데이터 크기를 보여준다.
도 4와 비교해 보면, 복제방식은 데이터의 크기에 비해 3배의 저장공간이 필요하다. 그러나 콜드 데이터(Cold Data)일 경우 소거 코드(Erasure Codes)를 적용하면 데이터에 1.4배의 저장공간이 필요하다. 또한, 저장속도도 패리티 연산시간이 있지만 3개의 복제본을 생성하는 것보다 적은 시간이 소모되기 때문에 쓰기 속도도 향상된다.
즉, 소거코딩 결과를 "입력 파일의 데이터 청크 + 패리티 청크"라고 보면, 핫 데이터, 웜 데이터, 콜드 데이터는 다음과 같이 요약될 수 있다.
핫 데이터는 복제본 3개, 또는 "입력 파일 + 복제본 2개"로 나누어 분산되어 저장되고, 웜 데이터는 복제본 1개 + 소거코딩 결과(입력파일 청킹 + 패리티 청킹)로 나누어 분산되어 저장된다. 또한, 콜드 데이터는 소거코딩 결과(입력파일 청킹 + 패리티 청킹)로 나누어 분산되어 저장된다.
다음으로, 본 발명의 일실시예에 따른 클라우드 스토리지 시스템에서 소거 코드(Erasure Codes)를 이용한 데이터 복제 방법을 도 7을 참조하여 보다 구체적으로 설명한다.
왐 데이터(Warm Data)와 콜드 데이터(Cold Data)를 위한 데이터 복제 방법은 원본 데이터와 소거 코드(Erasure Codes)를 이용하여 패리티 정보를 저장한다.
도 7은 데이터 복제를 위해 RAID-6와 소거 코드(Erasure Codes)를 사용하는 예를 보여준다. RAID-6는 두 개의 패리티 블록 저장하여 두 개의 데이터 블록이 손실될 경우 복구할 수 있게 하는 기능을 한다. 또한, 소거 코드(Erasure Codes)는 원본 데이터에 연산 과정인 인코딩을 거쳐 패리티 정보를 생성하는 역할을 한다[비특허문헌 12].
소거 코드(Erasure Codes)를 이용한 데이터 복제 방법의 쓰기 과정은 먼저 입력 데이터를 청킹하는 과정까지 거친 후에 도 8과 같이 각 청크들을 소거 코딩(Erasure Coding) 과정을 거쳐 패리티 청크를 생성한다.
생성된 패리티 청크는 데이터 청크와 합쳐져 하나의 스트라이프를 구성하게 된다. 따라서, 하나의 스트라이프 안에는 데이터와 패리티 청크가 합쳐져 있다. 여기서 각 데이터 및 패리티 청크들은 하나의 데이터 노드에 할당되어 저장해야 한다. 또한, 각각의 스트라이프는 패리티 청크가 배치될 데이터 노드를 변경하면서 저장하여 하나의 데이터 노드에 패리티 청크가 몰리는 현상을 방지한다.
다음으로, 본 발명의 일실시예에 따른 클라우드 스토리지 시스템에서 데이터 접근빈도와 소거 코드를 이용한 데이터 복제 방법을 도 8 내지 도 10을 참조하여 설명한다.
도 8과 도 9는 접근빈도에 따라서 소거 코드(Erasure Codes)를 이용하는 데이터 복제 방법의 순서도로서, 각각 쓰기 명령 및 읽기 명령에 대한 순서도를 표시한 것이다. 도 10은 본 발명에 따른 데이터 복제 방법을 구현한 알고리즘을 보여준다.
먼저 시스템에 쓰기 명령이 들어오면 64MB 크기의 블록 단위로 데이터를 청킹한다.
다음으로, 쓰기 요청된 데이터에 대해 메타 데이터 영역에 해당 데이터의 접근빈도 카운트 값과 저장방식을 저장한다.
접근 빈도 파라미터는 데이터가 입력된 후부터 누적된 접근 횟수이다. 그리고 특정한 시간 범위(예를 들어 6시간) 내에 데이터 접근이 없다면 접근 빈도 파라미터를 (예를 들어 1씩) 감소시킨다. 이는 핫 데이터에서 콜드 데이터로 전환시키기 위한 것이다.
처음 쓰기 명령된 파일은 접근횟수가 없어 콜드 데이터(Cold Data)가 되므로 소거 코딩(Erasure Coding)을 적용하여 원본 파일과 패리티 정보를 저장한다.
그리고 각 파일에 읽기 명령이 들어오면, 메타 데이터를 참조하여 데이터가 어느 방식으로 저장 되어 있는지 확인하고 주소값을 확인한다. 그리고 접근횟수가 늘어났기 때문에 메타 데이터에서 접근빈도 카운트(Access Frequency Count) 값을 1씩 증가시킨다. 그 후 파일을 구성하는 청크들을 모아 읽기 요청된 데이터를 제공한다.
만약, 읽기 명령이 빈번히 발생해서 접근빈도 카운트 값이 증가하여 1차 임계값과 같거나 커지면 왐 데이터(Warm Data)가 되어 신뢰성을 위해 원본 파일의 복제본을 1회 더 저장한다.
접근빈도 카운트 값이 더 증가하여 2차 임계값과 같거나 커지게 되면 핫 데이터(Hot Data)가 되어 복제본을 1회 더 저장한다.
반대로 일정 시간 동안 파일에 대한 읽기 명령이 발생하지 않는다면 접근빈도 카운트값을 감소시켜 저장공간 효율성 향상을 위해 소거 코딩(Erasure Coding) 방법으로 저장한다. 접근빈도 카운트값이 2차 임계값보다 작아지면 복제본을 하나 삭제하여 핫 데이터(Hot Data)를 왐 데이터(Warm Data)로 바꾸고 소거 코드(Erasure Codes)의 패리티 정보를 생성한다. 1차 임계값보다 작아지면 복제본을 하나 더 삭제하여 왐 데이터(Warm Data)를 콜드 데이터(Cold Data)로 바꾸고 원본 데이터와 패리티 정보만 남게 된다.
도 7는 데이터 청크들이 데이터 노드에 어떻게 저장된 것인지를 보여준다. 즉, 도 7에 데이터 노드(Data Node)가 1~8까지 표시되고 있다. 복제본 또는 소거코드 결과는 데이터 노드(Data Node)에 분산되어 저장된다. 하나의 데이터 노드(Data Node)에 청크를 모두 저장하지 않는다. 도7 은 소거 코딩일 때 데이터 청크와 패리티 청크가 스트라이프되어 여러 데이터 노드에 분산되어 저장되는 것을 나타내고 있다.
복제본의 저장은 도 7에서 패리티 청크만 없을 뿐이고 데이터 청크를 여러 데이터 노드에 분산하여 저장한다. 즉, 접근빈도가 1차 임계값 이상이면, 콜드 데이터에서 웜 데이터로 변경되고, 이때, 복제본이 1회 더 저장된다. 그리고 접근빈도가 2차 임계값 이상이면 웜 데이터에서 핫 데이터로 변경되고, 이대, 패리티를 식제하고 복제본 1회 더 생성하여 저장한다.
다음으로, 본 발명의 효과를 실험결과를 통해 설명한다.
본 발명에 따른 방법의 성능평가를 위해 워크로드 데이터 크기를 256MB, 512MB, 1GB, 2GB로 각각 설정했다. 워크로드의 크기가 작아서 청크사이즈는 4KB 크기로 청킹하였다.
데이터 저장방식을 결정하는 기준인 임계값은 각 실험 전에 무작위로 읽기 명령을 내려 각 데이터의 접근빈도 카운트 값을 확인하였다.
핫 데이터(Hot Data), 왐 데이터(Warm Data), 콜드 데이터(Cold Data)의 비율은 실제 서버에서 추출한 워크로드에서 얻은 비율을 이용하였다[비특허문헌 13∼15]. 각 참고논문에서는 Financial1, MSR, Distilled, RealSSD, digital camera, Linux O/S의 워크로드를 사용하였다.
각 워크로드에서 핫 데이터(Hot Data)의 비율은 평균이 10%였으며 따라서 실험에서도 핫 데이터(Hot Data)의 비율을 10%로 정하였다. 왐 데이터(Warm Data)는 참고논문에서 핫 데이터(Hot Data)의 비율이 30%까지 올라가는 점을 참고하여 20%로 비율을 정하였다. 실험에서 핫 데이터(Hot Data)가 차지하는 비율은 전체 데이터의 약 10%가 되도록 설정하였고, 왐 데이터(Warm Data)는 전체 데이터의 약 20%, 콜드 데이터(Cold Data)는 약 70%가 되도록 했다. 패리티생성 방식은 리드-솔로몬(Reed-Solomon) 코드를 적용하여 패리티 비트를 생성했다. 복제시에는 기존의 분산 파일 시스템과 같이 3개의 복제본을 만들어 저장했다.
실험환경은 다음과 같다. 벤치마크 툴로 IOzone을 사용하여 다양한 크기의 워크로드 데이터를 생성하였으며, HDFS의 최소 구성 개수인 3대의 PC를 사용하였다. 각 PC의 사양은 동일하게 CPU는 Intel Core2(2.4Ghz)이고, DDR2 2GB메모리를 사용하였다. 운영체제는 리눅스 CentOS 6.2에 커널 버전 3.8.13을 이용했다. 저장장치는 SAMSUNG SSD 64GB를 각 PC에 2개씩 장착하였다. 사용된 SSD의 스펙은 도 11의 표와 같고, 실험에 사용된 컴퓨터의 성능 및 환경은 도 12의 표와 같다.
실험 결과는 도 13, 14, 15와 같다. 각각 저장공간 효율성, 쓰기/읽기 성능을 비교하였으며 데이터 복제방식만을 사용하는 HDFS와 패리티 방식만을 사용하는 HDFS-RAID를 본 발명에 따른 방법의 비교대상으로 하였다.
실험결과 도 13의 저장공간 효율성 면에서는 본 발명에 따른 방법이 HDFS보다 약 40%정도 적게 저장공간을 사용하였다. HDFS는 3개의 복제본을 만들기 때문에 가장 저장공간을 많이 소모하고 HDFS-RAID는 소거 코드(Erasure Codes)만을 사용하기 때문에 가장 저장공간을 적게 차지한다. 본 발명에 따른 방법은 이 두가지 사이에 위치하며 HDFS-RAID에 근접한 수치를 보여주어 저장공간 효율성이 향상됨을 알 수 있었다.
도 14, 15는 각각 쓰기 성능과 읽기 성능을 비교한 그래프이다. 쓰기 성능에서는 본 발명에 따른 방법이 HDFS 보다 약10%, HDFS-RAID 보다 약7% 향상되었다. 읽기 성능에서는 본 발명에 따른 방법이 HDFS 보다 약11%, HDFS-RAID 보다 약12% 향상되었다. 실험결과 본 발명에 따른 방법은 Hot, Warm, Cold로 세분화하여 데이터 접근빈도를 나눔으로써 데이터 복제본만 생성하거나 패리티만을 생성하는 방법들보다 성능이 향상되었다. 이는 다수의 복제본이나 패리티만을 생성하는것 보다 접근빈도를 고려하여 복제와 패리티 방법을 같이 사용하는 것이 효율적임을 알려준다.
본 발명에서는 클라우드 스토리지 시스템에서 원본데이터에 3개의 복제본을 저장하는 방법에서 발생하는 저장공간 낭비와 입출력이 증가하는 문제를 해결하기 위해 데이터 접근빈도에 따라 기존의 소거 코드(Erasure Codes)를 이용한 데이터 복제 방법을 개발하였다. 기존의 소거 코드(Erasure Codes)를 데이터 접근빈도에 따라 사용하여 3개의 복제본을 생성하는 방법과 동일한 복구성능을 유지하였다. 실험에서는 3개의 데이터 복제본을 생성하는 방법과 패리티만을 생성하는 방법을 비교하였다. 데이터 접근빈도를 핫(Hot), 왐(Warm), 콜드(Cold)로 세분화하여 나눔으로써 소거 코드(Erasure Codes)를 이용한 데이터 복제 기법이 HDFS 보다 저장공간 효율성은 40%, 읽기 성능 11% 및 쓰기 성능 10% 향상되었다.
이상, 본 발명자에 의해서 이루어진 발명을 실시 예에 따라 구체적으로 설명하였지만, 본 발명은 실시 예에 한정되는 것은 아니고, 그 요지를 이탈하지 않는 범위에서 여러 가지로 변경 가능한 것은 물론이다.
10 : 클라이언트 20 : 데이터 노드
30 : 복제 시스템
30 : 복제 시스템
Claims (5)
- 입력 파일을 복제하여 저장하는, 클라우드 스토리지 시스템에서 데이터 접근빈도와 소거 코드를 이용한 데이터 복제 방법에 있어서,
(a) 상기 입력 파일의 쓰기 명령에 대하여 상기 입력 파일을 청킹하는 단계;
(b) 상기 입력 파일에 대한 접근 빈도 파라미터를 생성하는 단계;
(c) 상기 접근 빈도 파라미터에 따라 상기 입력 파일을 3개의 유형 중 어느 하나의 유형으로 판단하는 단계; 및,
(d) 판단된 유형에 따라 상기 입력 파일의 저장할 복제본의 개수 및, 소거 코딩 여부를 결정하여, 상기 입력 파일의 복제본 또는 소거 코딩 결과를 저장하는 단계;
(e) 상기 입력 파일의 읽기 명령에 대하여 상기 입력 파일의 접근 빈도 파라미터를 갱신하는 단계;
(f) 갱신된 입력 파일의 접근 빈도에 따라 상기 입력 파일의 유형을 갱신하는 단계;
(g) 상기 입력 파일의 유형이 변경되면, 변경된 유형에 따른 복제본 개수에 맞추어 상기 입력 파일의 복제본을 삭제하거나 추가 복제본을 생성하고, 상기 변경된 유형에 따른 소거 코딩 여부에 따라 소거 코딩 결과를 생성하거나 원래의 소거 코딩 결과를 삭제하는 단계; 및,
(h) 상기 입력 파일의 청크들을 합쳐서 읽는 단계를 포함하고,
상기 유형은 핫 데이터 유형, 웜 데이터 유형, 및, 콜드 데이터 유형으로 분류되고, 상기 접근 빈도 파라미터가 사전에 정해진 1차 임계값 보다 작으면, 콜드 데이터 유형으로 판단하고, 상기 접근 빈도 파라미터가 상기 1차 임계값과 같거나 커지면 왐 데이터 유형으로 판단하고, 상기 접근 빈도 파라미터가 사전에 정해진 2차 임계값과 같거나 커지면 핫 데어터 유형으로 판단하고,
상기 2차 임계값은 상기 1차 임계값 보다 크고,
상기 접근 빈도 파라미터는 접근 횟수를 누적하되, 사전에 정해진 시간 범위 내에 데이터 접근이 없으면 감소시키고,
상기 입력 파일이 핫 데이터 유형이면 복제본 3개를 생성하여 저장하고,
상기 입력 파일이 웜 데이터 유형이면 복제본 2개와 소거 코딩 결과를 생성하여 저장하고,
상기 입력 파일이 콜드 데이터 유형이면 파일 1개와 소거 코딩 결과를 생성하여 저장하는 것을 특징으로 하는 클라우드 스토리지 시스템에서 데이터 접근빈도와 소거 코드를 이용한 데이터 복제 방법.
- 삭제
- 삭제
- 삭제
- 제1항에 있어서,
상기 소거 코딩 결과는 패리티 청크인 것을 특징으로 하는 클라우드 스토리지 시스템에서 데이터 접근빈도와 소거 코드를 이용한 데이터 복제 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140042372A KR101533340B1 (ko) | 2014-04-09 | 2014-04-09 | 클라우드 스토리지 시스템에서 데이터 접근빈도와 소거 코드를 이용한 데이터 복제 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140042372A KR101533340B1 (ko) | 2014-04-09 | 2014-04-09 | 클라우드 스토리지 시스템에서 데이터 접근빈도와 소거 코드를 이용한 데이터 복제 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101533340B1 true KR101533340B1 (ko) | 2015-07-06 |
Family
ID=53789121
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140042372A KR101533340B1 (ko) | 2014-04-09 | 2014-04-09 | 클라우드 스토리지 시스템에서 데이터 접근빈도와 소거 코드를 이용한 데이터 복제 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101533340B1 (ko) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108874307A (zh) * | 2017-05-08 | 2018-11-23 | 三星电子株式会社 | 以太网固态驱动***和提供存储卸载功能的方法 |
KR20190058993A (ko) * | 2017-11-22 | 2019-05-30 | 한국전자통신연구원 | 분산 파일 시스템에서 소거코딩 기반의 파일 입출력을 지원하는 장치 및 그 방법 |
CN109857737A (zh) * | 2019-01-03 | 2019-06-07 | 平安科技(深圳)有限公司 | 一种冷热数据存储方法及装置、电子设备 |
US10331700B2 (en) | 2015-12-10 | 2019-06-25 | Foundation Of Soongsil University-Industry Cooperation | System, method, and apparatus for dynamically replicating data for heterogeneous Hadoop |
KR102013149B1 (ko) * | 2018-12-27 | 2019-08-27 | 대한민국 | 데이터 수집 및 관리 방법 및 이를 수행하기 위한 시스템 |
CN112748868A (zh) * | 2019-10-31 | 2021-05-04 | 北京白山耘科技有限公司 | 数据存储方法和装置 |
CN113608670A (zh) * | 2021-05-25 | 2021-11-05 | 武汉理工大学 | 基于公平性和访问热度的区块链数据存储方法 |
US11218174B2 (en) | 2018-10-23 | 2022-01-04 | Naver Corporation | Method and system for storing data locally repairable and efficient multiple encoding |
CN114936188A (zh) * | 2022-05-30 | 2022-08-23 | 重庆紫光华山智安科技有限公司 | 数据处理方法、装置、电子设备及存储介质 |
US20230013281A1 (en) * | 2018-10-15 | 2023-01-19 | Netapp, Inc. | Storage space optimization in a system with varying data redundancy schemes |
US11899941B2 (en) | 2021-11-11 | 2024-02-13 | Samsung Electronics Co., Ltd. | Storage device and operating method thereof |
-
2014
- 2014-04-09 KR KR1020140042372A patent/KR101533340B1/ko active IP Right Grant
Non-Patent Citations (3)
Title |
---|
양유석 외 1인, 'SSD의 성능향상을 위한 접근빈도에 따른 데이터 할당 및 교체기법', 2011년 9월 전자공학회 논문지 제 48 권 CI 편 제 5 호 * |
조정흠 외 3인, ‘SSD 기반 클라우드 스토리지 시스템에서 Erasure code를 이용한 데이터 복제 기법’, 2013년도 대한전자공학회 하계학술대회 제36권 1호, pp. 1539-1542 (2013)* |
조정흠 외 3인, 'SSD 기반 클라우드 스토리지 시스템에서 Erasure code를 이용한 데이터 복제 기법', 2013년도 대한전자공학회 하계학술대회 제36권 1호, pp. 1539-1542 (2013) * |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10331700B2 (en) | 2015-12-10 | 2019-06-25 | Foundation Of Soongsil University-Industry Cooperation | System, method, and apparatus for dynamically replicating data for heterogeneous Hadoop |
CN108874307A (zh) * | 2017-05-08 | 2018-11-23 | 三星电子株式会社 | 以太网固态驱动***和提供存储卸载功能的方法 |
KR102252187B1 (ko) | 2017-11-22 | 2021-05-14 | 한국전자통신연구원 | 분산 파일 시스템에서 소거코딩 기반의 파일 입출력을 지원하는 장치 및 그 방법 |
KR20190058993A (ko) * | 2017-11-22 | 2019-05-30 | 한국전자통신연구원 | 분산 파일 시스템에서 소거코딩 기반의 파일 입출력을 지원하는 장치 및 그 방법 |
US20230013281A1 (en) * | 2018-10-15 | 2023-01-19 | Netapp, Inc. | Storage space optimization in a system with varying data redundancy schemes |
US11218174B2 (en) | 2018-10-23 | 2022-01-04 | Naver Corporation | Method and system for storing data locally repairable and efficient multiple encoding |
KR102013149B1 (ko) * | 2018-12-27 | 2019-08-27 | 대한민국 | 데이터 수집 및 관리 방법 및 이를 수행하기 위한 시스템 |
CN109857737A (zh) * | 2019-01-03 | 2019-06-07 | 平安科技(深圳)有限公司 | 一种冷热数据存储方法及装置、电子设备 |
CN109857737B (zh) * | 2019-01-03 | 2024-04-16 | 平安科技(深圳)有限公司 | 一种冷热数据存储方法及装置、电子设备 |
CN112748868A (zh) * | 2019-10-31 | 2021-05-04 | 北京白山耘科技有限公司 | 数据存储方法和装置 |
CN113608670A (zh) * | 2021-05-25 | 2021-11-05 | 武汉理工大学 | 基于公平性和访问热度的区块链数据存储方法 |
CN113608670B (zh) * | 2021-05-25 | 2023-10-27 | 武汉理工大学 | 基于公平性和访问热度的区块链数据存储方法 |
US11899941B2 (en) | 2021-11-11 | 2024-02-13 | Samsung Electronics Co., Ltd. | Storage device and operating method thereof |
CN114936188A (zh) * | 2022-05-30 | 2022-08-23 | 重庆紫光华山智安科技有限公司 | 数据处理方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101533340B1 (ko) | 클라우드 스토리지 시스템에서 데이터 접근빈도와 소거 코드를 이용한 데이터 복제 방법 | |
US11762781B2 (en) | Providing end-to-end encryption for data stored in a storage system | |
US11921908B2 (en) | Writing data to compressed and encrypted volumes | |
US11822807B2 (en) | Data replication in a storage system | |
Kim et al. | Data Access Frequency based Data Replication Method using Erasure Codes in Cloud Storage System | |
CN106662981B (zh) | 存储设备、程序和信息处理方法 | |
CN116431072A (zh) | 集成到大容量存储设备的可访问快速耐久存储 | |
US11662909B2 (en) | Metadata management in a storage system | |
KR101525453B1 (ko) | 데이터 접근빈도를 이용한 raid 시스템의 데이터 복제 방법 | |
Manogar et al. | A study on data deduplication techniques for optimized storage | |
US11868636B2 (en) | Prioritizing garbage collection based on the extent to which data is deduplicated | |
CN116601596A (zh) | 使用数据相似度来选择分段进行垃圾收集 | |
US11899582B2 (en) | Efficient memory dump | |
Liu et al. | R-ADMAD: High reliability provision for large-scale de-duplication archival storage systems | |
KR101970864B1 (ko) | 총 플래시 어레이 기반 오픈스택 클라우드 블록 스토리지에서의 패리티 데이터 중복제거 방법 | |
Wang et al. | Reducing storage overhead with small write bottleneck avoiding in cloud raid system | |
Takatsu et al. | PPFS: A scale-out distributed file system for post-petascale systems | |
Ko et al. | Fault tolerant erasure coded replication for HDFS based cloud storage | |
EP4135203A1 (en) | Systems, methods, and apparatus for processing data at a storage device | |
Heo et al. | Parity data de-duplication in all flash array-based openstack cloud block storage | |
Nam et al. | Reliability-aware deduplication storage: Assuring chunk reliability and chunk loss severity | |
Shieh et al. | De-duplication approaches in cloud computing environment: a survey | |
Chen et al. | Eec-dedup: Efficient erasure-coded deduplicated backup storage systems | |
Ahn et al. | Dynamic erasure coding decision for modern block-oriented distributed storage systems | |
Tan et al. | De-Frag: an efficient scheme to improve deduplication performance via reducing data placement de-linearization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20180406 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20190408 Year of fee payment: 5 |