• Title/Summary/Keyword: $B^+$-tree

Search Result 1,008, Processing Time 0.028 seconds

An Index Data Structure for String Search in External Memory (외부 메모리에서 문자열을 효율적으로 탐색하기 위한 인덱스 자료 구조)

  • Na, Joong-Chae;Park, Kun-Soo
    • Journal of KIISE:Computer Systems and Theory
    • /
    • v.32 no.11_12
    • /
    • pp.598-607
    • /
    • 2005
  • We propose a new external-memory index data structure, the Suffix B-tree. The Suffix B-tree is a B-tree in which the key is a string like the String B-tree. While the node in the String B-tree is implemented with a Patricia trio, the node in the Suffix B-tree is implemented with an array. So the Suffix B-tree is simpler and easier to be Implemented than the String B-tree. Nevertheless, the branching algorithm of the Suffix B-tree is as efficient as that of the String B-tree. Consequently, the Suffix B-tree takes the same worst-case disk accesses as the String B-tree to solve the string matching problem, which is fundamental and important in the area of string algorithms.

Ordinary B-tree vs NTFS B-tree: A Digital Forensics Perspectives

  • Cho, Gyu-Sang
    • Journal of the Korea Society of Computer and Information
    • /
    • v.22 no.8
    • /
    • pp.73-83
    • /
    • 2017
  • In this paper, we discuss the differences between an ordinary B-tree and B-tree implemented by NTFS. There are lots of distinctions between the two B-tree, if not understand the distinctions fully, it is difficult to utilize and analyze artifacts of NTFS. Not much, actually, is known about the implementation of NTFS, especially B-tree index for directory management. Several items of B-tree features are performed that includes a node size, minimum number of children, root node without children, type of key, key sorting, type of pointer to child node, expansion and reduction of node, return of node. Furthermore, it is emphasized the fact that NTFS use B-tree structure not B+structure clearly.

Performance of Spatial Join Operations using Multi-Attribute Access Methods (다중-속성 색인기법을 이용한 공간조인 연산의 성능)

  • 황병연
    • Spatial Information Research
    • /
    • v.7 no.2
    • /
    • pp.271-282
    • /
    • 1999
  • In this paper, we derived an efficient indexing scheme, SJ tree, which handles multi-attribute data and spatial join operations efficiently. In addition, a number of algorithms for manipulating multi-attribute data are given , together with their computational and I/O complexity . Moreover , we how that SJ tree is a kind of generalized B-tree. This means that SJ-tree can be easily implemented on existing built-in B-tree in most storage managers in the sense that the structure of SJ tree is like that of B-tree. The spatial join operation with spatial output is benchmarked using R-tree, B-tree, K-D-B tree, and SJ tree. Results from the benchmark test indicate that SJ tree out performance other indexing schemes on spatial join with point data.

  • PDF

Performance Comparisons on MongoDB with B-Tree Indexes and Fractal Tree Indexes (MongoDB에서 B-트리 인덱스와 Fractal 트리 인덱스를 이용한 성능 비교)

  • Jang, Seongho;Kim, Suhee
    • Proceedings of the Korean Institute of Information and Commucation Sciences Conference
    • /
    • 2014.05a
    • /
    • pp.622-625
    • /
    • 2014
  • As Big data began to produce a variety of values, a database that allows for huge amount of data with varieties became to be needed. Therefore, for the purpose of overcoming the limitations of the complexity and capacity of the existing RDBMS, NoSQL databases were introduced. Among the different types of NoSQL databases, MongoDB is most commonly used and is offered as open sources. The B-Tree index, used in MongoDB, experiences a significant decrease in performance as the amount of data increases. The fractal tree index enables to enhance the performance of B-Tree substantially by improving B-Tree's insertion algorithm. In this paper, the performances of MongoDB when using B-Tree Index and when using Fractal Tree Index are compared.

  • PDF

Development of B-tree Analyzing Tool for macOS Filesystem (macOS 파일시스템의 B-tree분석 디지털 포렌식 도구의 개발)

  • Cho, Gyu-Sang
    • Proceedings of the Korean Society of Computer Information Conference
    • /
    • 2021.01a
    • /
    • pp.287-288
    • /
    • 2021
  • 본 논문에서는 macOS의 파일시스템인 HFS+의 B-tree구조를 디지털 포렌식의 관점에서 분석할 수 있는 기능을 갖춘 도구의 구현에 대하여 다룬다. HFS+ 파일시스템의 파일과 디렉토리에 대한 메타정보를 카탈로그 B-tree에서 구하여 디지털 포렌식 정보로 활용한다. HFS+파일시스템 포렌식 분석도구는 C/C++언어로 구현된다. 텍스트 기반의 명령행 프로그램으로 구현되며 macOS/Windows에서 터미널/명령프롬프트에서 각각 실행될 수 있도록 제작된다. 타임스탬프/파일크기/위치 등의 메타데이터의 파싱기능, 리프노드에 저장된 데이터를 이용한 파일/디렉토리 트리 구조의 재구성, B-tree구조에 의한 키워드 탐색 기능, 인덱스 노드 없이 B-tree 리프노드의 구성에 의한 파일/디렉토리 파싱/검색 기능 등이 구현된다.

  • PDF

Garbage Collection Method using Proxy Block considering Index Data Structure based on Flash Memory (플래시 메모리 기반 인덱스 구조에서 대리블록 이용한 가비지 컬렉션 기법)

  • Kim, Seon Hwan;Kwak, Jong Wook
    • Journal of the Korea Society of Computer and Information
    • /
    • v.20 no.6
    • /
    • pp.1-11
    • /
    • 2015
  • Recently, NAND flash memories are used for storage devices because of fast access speed and low-power. However, applications of FTL on low power computing devices lead to heavy workloads which result in a memory requirement and an implementation overhead. Consequently, studies of B+-Tree on embedded devices without the FTL have been proposed. The studies of B+-Tree are optimized for performance of inserting and updating records, considering to disadvantages of the NAND flash memory that it can not support in-place update. However, if a general garbage collection method is applied to the previous studies of B+-Tree, a performance of the B+-Tree is reduced, because it generates a rearrangement of the B+-Tree by changing of page positions on the NAND flash memory. Therefor, we propose a novel garbage collection method which can apply to the B+-Tree based on the NAND flash memory without the FTL. The proposed garbage collection method does not generate a rearrangement of the B+-Tree by using a block information table and a proxy block. We implemented the B+-Tree and ${\mu}$-Tree with the proposed garbage collection on physical devices with the NAND flash memory. In experiment results, the proposed garbage collection scheme compared to greedy algorithm garbage collection scheme increased the number of inserted keys by up to about 73% on B+-Tree and decreased elapsed time of garbage collection by up to about 39% on ${\mu}$-Tree.

Efficient Integrity Checking using Hashed B-Tree Index (Hashed B-트리 인덱스를 이용한 효율적인 무결성 검사)

  • Park, Sun-Seob;Jeong, Jae-Mok;Kim, Hyoung-Joo
    • Journal of KIISE:Databases
    • /
    • v.27 no.2
    • /
    • pp.216-226
    • /
    • 2000
  • This paper suggests a new access path, hashed B-tree which is an efficient access method for integrity checking. Hashed B-tree is based on the observation that most query patterns in enforcing integrity constraints are point queries. Hashed B-tree compresses the key by hashing procedure, which reduces the height of tree and results in fast node search. This method has the advantages such as it can be implemented easily and use the B-tree concurrency control and recovery algorithm with minor modifications.

  • 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.

A Flash-based B+-Tree using Sibling-Leaf Blocks for Efficient Node Updates and Range Searches

  • Lim, Seong-Chae
    • International Journal of Internet, Broadcasting and Communication
    • /
    • v.8 no.3
    • /
    • pp.12-24
    • /
    • 2016
  • Recently, as the price per bit is decreasing at a fast rate, flash memory is considered to be used as primary storage of large-scale database systems. Although flash memory shows off its high speeds of page reads, however, it has a problem of noticeable performance degradation in the presence of increasing update workloads. When updates are requested for pages with random page IDs, in particular, the shortcoming of flash tends to impair significantly the overall performance of a flash-based database system. Therefore, it is important to have a way to efficiently update the B+-tree, when it is stored in flash storage. This is because most of updates in the B+-tree arise at leaf nodes, whose page IDs are in random. In this light, we propose a new flash B+-tree that stores up-to-date versions of leaf nodes in sibling-leaf blocks (SLBs), while updating them. The use of SLBs improves the update performance of B-trees and provides the mechanism for fast key range searches. To verify the performance advantages of the proposed flash B+-tree, we developed a mathematical performance evaluation model that is suited for assessing B-tree operations. The performance comparisons from it show that the proposed flash B+-tree provides faster range searches and reduces more than 50% of update costs.

A Flash Memory B+-Tree for Efficient Range Searches (효율적 범위 검색을 위한 플래시 메모리 기반 B+-트리)

  • Lim, Sung-Chae;Park, Chang-Sup
    • The Journal of the Korea Contents Association
    • /
    • v.13 no.9
    • /
    • pp.28-38
    • /
    • 2013
  • During the past decades, the B+-tree has been most widely used as an index file structure for disk-resident databases. For the disk based B+-tree, a node update can be cheaply performed just by modifying its associated disk page in place. However, in case that the B+-tree is stored on flash memory, the traditional algorithms of the B+-tree come to be useless due to the prohibitive cost of in-place updates on flash memory. For this reason, the earlier schemes for flash memory B+-trees usually take an approach that saves B+-tree changes from real-time updates into extra temporary storage. Although that approach can easily prevent frequent in-place updates in the B+-tree, it can suffer from a waste of storage space and prolonged search times. Particularly, it is not allowable to process range searches on the leaf node level. To resolve such problems, we devise a new scheme in which the leaf nodes and their parent node are stored together in a single flash block, called the p-node block.