• Title/Summary/Keyword: B+ 트리

Search Result 405, Processing Time 0.034 seconds

Effective Implementation of String B-trees (스트링 B-트리의 효율적인 구현)

  • Yoon Joo-Young;Park Kun-Soo
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2006.06a
    • /
    • pp.406-408
    • /
    • 2006
  • 스트링 B-트리는 외부 메모리에 저장된 문자열 데이터의 검색을 효율적으로 수행할 수 있는 자료 구조이다. 본 논문에서는 앞서서 연구된 새로운 분기 알고리즘을 이용하여 전체적인 새로운 스트링 B-트리의 구현 방법을 제시한다. 그리고 실험을 통하여 효율을 최대화하는 구현 방법을 논의한다.

  • PDF

Design and Implementation of B-Tree on Flash Memory (플래시 메모리 상에서 B-트리 설계 및 구현)

  • Nam, Jung-Hyun;Park, Dong-Joo
    • Journal of KIISE:Databases
    • /
    • v.34 no.2
    • /
    • pp.109-118
    • /
    • 2007
  • Recently, flash memory is used to store data in mobile computing devices such as PDAs, SmartCards, mobile phones and MP3 players. These devices need index structures like the B-tree to efficiently support some operations like insertion, deletion and search. The BFTL(B-tree Flash Translation Layer) technique was first introduced which is for implementing the B-tree on flash memory. Flash memory has characteristics that a write operation is more costly than a read operation and an overwrite operation is impossible. Therefore, the BFTL method focuses on minimizing the number of write operations resulting from building the B-tree. However, we indicate in this paper that there are many rooms of improving the performance of the I/O cost in building the B-tree using this method and it is not practical since it increases highly the usage of the SRAM memory storage. In this paper, we propose a BOF(the B-tree On Flash memory) approach for implementing the B-tree on flash memory efficiently. The core of this approach is to store index units belonging to the same B-tree node to the same sector on flash memory in case of the replacement of the buffer used to build the B-tree. In this paper, we show that our BOF technique outperforms the BFTL or other techniques.

Log-Structured B-Tree for NAND Flash Memory (NAND 플래시 메모리를 위한 로그 기반의 B-트리)

  • Kim, Bo-Kyeong;Joo, Young-Do;Lee, Dong-Ho
    • The KIPS Transactions:PartD
    • /
    • v.15D no.6
    • /
    • pp.755-766
    • /
    • 2008
  • Recently, NAND flash memory is becoming into the spotlight as a next-generation storage device because of its small size, fast speed, low power consumption, and etc. compared to the hard disk. However, due to the distinct characteristics such as erase-before-write architecture, asymmetric operation speed and unit, disk-based systems and applications may result in severe performance degradation when directly implementing them on NAND flash memory. Especially when a B-tree is implemented on NAND flash memory, intensive overwrite operations may be caused by record inserting, deleting, and reorganizing. These may result in severe performance degradation. Although ${\mu}$-tree has been proposed in order to overcome this problem, it suffers from frequent node split and rapid increment of its height. In this paper, we propose Log-Structured B-Tree(LSB-Tree) where the corresponding log node to a leaf node is allocated for update operation and then the modified data in the log node is stored at only one write operation. LSB-tree reduces additional write operations by deferring the change of parent nodes. Also, it reduces the write operation by switching a log node to a new leaf node when inserting the data sequentially by the key order. Finally, we show that LSB-tree yields a better performance on NAND flash memory by comparing it to ${\mu}$-tree through various experiments.

[ B+ ]-Tree based Indexing Method for Moving Object (B+-트리 기반의 이동객체 색인 기법)

  • Seo, Dong-Min;Yoo, Jae-Soo;Song, Seok-Il
    • The Journal of the Korea Contents Association
    • /
    • v.7 no.7
    • /
    • pp.11-23
    • /
    • 2007
  • Applications involving moving objects require index structures to handle frequent updates of objects' locations efficiently. Several methods to index the current, the past and the future positions of moving objects have been proposed for the applications. Most of them are based on R-tree like index structures. Some researches have made efforts to improve update performance of R-trees that are actually focused on query performance. Even though the update performance is improved by researchers' efforts, the overhead and immaturity of concurrency control algorithms of R-trees makes us hesitate to choose them for moving objects. In this paper, we propose an update efficient indexing method that can be applicable for indexing the past, the current and the future locations. The proposed index is based on B+-Trees and Hilbert curve. We present an advanced Hilbert curve that adjusts automatically the order of Hilbert curve in subregions according to the data distribution and the number of data objects. Through empirical studies, we show that our strategy achieves higher response time and throughput.

Performance Evaluation of a B+Tree on Various Page Sizes in NAND Flash Memory (NAND 플래시 메모리에서 페이지 크기에 따른 B+ 트리의 성능 평가)

  • Yoo Hyun-Seok;Chun Han-Byul;Kim Do-Yun;Park Sang-Won
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2006.06c
    • /
    • pp.61-63
    • /
    • 2006
  • 휴대용 기기들의 데이터 저장소로 플래시 메모리가 많이 사용되고 있으며 플래시 메모리가 대용량화 되어감에 따라 점차 디스크를 대체할 것이라 예상된다. 따라서 데이터베이스 시스템 역시 저장 매체로 플래시 메모리의 사용이 증가할 것으로 예상되며 이에 따른 효율적인 인덱스가 필요하다. 플래시 메모리 기반의 효율적인 인덱스 구축을 위하여 B+ 트리의 페이지 크기에 따른 성능 평가가 필요하다. 본 논문에서는 B+ 트리와 버퍼 관리자를 구현하고, 플래시 변환 계층의 대표적인 4 가지 알고리즘에 대해 B+ 트리의 페이지 크기에 따른 성능을 비교, 분석하여 플래시 메모리 기반의 인덱스를 구축하기 위한 방향을 제시한다.

  • PDF

CL-Tree: B+ tree for NAND Flash Memory using Cache Index List (CL 트리: 낸드 플래시 시스템에서 캐시 색인 리스트를 활용하는 B+ 트리)

  • Hwang, Sang-Ho;Kwak, Jong Wook
    • Journal of the Korea Society of Computer and Information
    • /
    • v.20 no.4
    • /
    • pp.1-10
    • /
    • 2015
  • NAND flash systems require deletion operation and do not support in-place update, so the storage systems should use Flash Translation Layer (FTL). However, there are a lot of memory consumptions using mapping table in the FTL, so recently, many studies have been proposed to resolve mapping table overhead. These studies try to solve update propagation problem in the nand flash system which does not use mapping table. In this paper, we present a novel index structure, called CL-Tree(Cache List Tree), to solve the update propagation problem. The proposed index structure reduces write operations which occur for an update propagation, and it has a good performance for search operation because it uses multi-list structure. In experimental evaluation, we show that our scheme yields about 173% and 179% improvement in insertion speed and search speed, respectively, compared to traditional B+tree and other works.

Design Of Compact Passive Triplexer Module for Wi-MAX Application (수동 소자를 이용한 Wi-MAX용 트리플렉서 모듈 설계)

  • Jeon, Jae-W.;Seo, Jae-H.;Lee, Seung-C.;Lee, Sang-A.;Lim, Jong-H.;Cheon, Seong-J.;Park, Jae-Y.
    • Proceedings of the KIEE Conference
    • /
    • 2009.07a
    • /
    • pp.2253_2254
    • /
    • 2009
  • 무선 모바일 통신 시장의 성장에 따라 수동 소자로 구성된 모듈에 대한 관심이 높아지고 있다. 본 논문에서는 수동소자를 이용한 Wi-MAX용 트리플렉서를 설계하였다. 트리플렉서는 Wi-MAX의 RF Front-end단 앞부분에 연결되며, IEEE 802.16에 따른 2GHz, 3GHz, 5GHz 대역을 선택, 분리해주는 역할을 한다. 제안된 트리플렉서는 저역통과필터, 대역통과필터, 고역통과필터로 구성하였으며, 수동소자의 최소화로 인해 삽입손실 향상을 중점으로 설계하였다. 회로해석 결과, 각 대역별 (2/3/5GHz) 삽입손실은 각각 -0.5dB, -0.6dB, -0.4dB 였으며, 반사손실은 -20dB, -20dB, -12dB, 격리도는 -20dB, -24dB, -25dB의 특성을 보였다. 수동 소자의 최소화 설계로 인해 모듈 및 시스템의 저가화를 기대할 수 있다.

  • PDF

An Efficient Recovery Management Scheme for NAND Flash Memory-based B+tree (NAND 플래시 메모리 기반 B+트리를 위한 효율적인 고장회복 관리기법)

  • Lee, Hyun-Seob;Kim, Bo-Kyeong;Lee, Dong-Ho
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2011.06c
    • /
    • pp.88-91
    • /
    • 2011
  • NAND 플래시 메모리는 저전력과 빠른 접근 속도의 특징 때문에 차세대 저장장치로 주목 받고 있다. 특히 플래시 메모리로 만들어진 SSD(solid state disk)는 인터페이스가 기존의 하드디스크와 동일하고 대용량화 되고 있기 때문에 가까운 미래에 다양한 저장시스템의 저장장치로 사용될 것으로 예상된다. 그러나 NAND 플래시메모리 기반 저장장치는 쓰기 전 소거 구조와 같은 독특한 하드웨어 특징을 가지고 있기 때문에 특정 지역에 반복적인 쓰기 요청을 발생하는 B트리를 구축하는 것은 심각한 성능저하를 야기 할 것이다. 이러한 문제를 해결하기 위해 버퍼를 이용하여 B트리 구축 성능을 개선한 방법들이 제안되었다. 그러나 이러한 기법들은 갑작스러운 전원 차단 시 버퍼에 유지하고 있던 데이터를 모두 유실하기 때문에 고장회복을 위한 추가적인 방법이 필요하다. 따라서 본 논문에서는 버퍼를 이용한 방법 중 IBSF기법을 기반으로 NAND 플래시 메모리 기반 저장장치에서 고성능의B트리 구축 방법뿐만 아니라 전원 차단시 효율적인 고장회복을 할 수 있는 기법을 제안한다. 본 논문에서 제안하는 기법은 B트리 변경시 변경 된 정보를 로그에 저장하여 관리한다. 또한 루트노드가 변경될 때 검사점(checkpoint)을 수행한다. 마지막으로 다양한 실험을 통하여 본 논문의 고장회복 성능을 보여준다.

A Parallel Bulk Loading Method for $B^+$-Tree Using CUDA (CUDA를 활용한 병렬 $B^+$-트리 벌크로드 기법)

  • Sung, Joo-Ho;Lee, Yoon-Woo;Han, A;Choi, Won-Ik;Kwon, Dong-Seop
    • Journal of KIISE:Computing Practices and Letters
    • /
    • v.16 no.6
    • /
    • pp.707-711
    • /
    • 2010
  • Most relational database systems provide $B^+$-trees as their main index structures, and use bulk-loading techniques for creating new $B^+$-trees on existing data from scratch. Although bulk loadings are more effective than inserting keys one by one, they are still time-consuming because they have to sort all the keys from large data. To improve the performance of bulk loadings, this paper proposes an efficient parallel bulk loading method for $B^+$-trees based on CUDA, which is a parallel computing architecture developed by NVIDIA to utilize computing powers of graphic processor units for general purpose computing. Experimental results show that the proposed method enhance the performance more than 70 percents compared to existing bulk loading methods.

A Study of Index Method Based on Main Memory (메모리 기반의 인덱스 기법에 관한 연구)

  • Hong, G.C.;Moon, B.J.
    • Electronics and Telecommunications Trends
    • /
    • v.16 no.6 s.72
    • /
    • pp.29-40
    • /
    • 2001
  • 본 고에서는 디스크 기반의 정보검색시스템의 성능을 높이는 것을 목표로, 주기억장치 상주형 정보검색시스템에 적합한 주기억장치 기반의 인덱싱 기법을 비교 평가하고자 한다. 인덱스는 인덱스를 구성하는 키의 순서가 유지되는지의 여부에 따라 크게 두 종류로 나눌 수 있는데, 키가 일정한 순서로 유지되는 트리 계열과 키의 순서와 관계없이 무작위로 유지되는 해시 계열로 구분할 수 있다. 트리 계열 인덱스는 일정한 범위가 주어지는 연산을 처리할 때 유용하게 사용될 수 있으며, 해시 계열 인덱스는 특정한 키에 의한 빠른 데이터 접근을 제공한다. 트리 계열 인덱스로는 AVL 트리, B+ 트리, T 트리 등이 있으며, 해시 계열 인덱스로는 체인 버켓 해싱(Chained Bucket Hashing: CBH), 확장 해싱(Extendible Hashing: EH), 선형 해싱(Linear Hashing: LH), 수정된 선형 해싱(Modified Linear Hashing), 다중 디렉토리 해싱(Multi-directory Hashing) 및 확장된 체인 버켓 해싱(Extendible Chained Bucket Hashing: ECBH) 등이 있다.