DOI QR코드

DOI QR Code

Design, Implementation, and Performance Evaluation of an Embedded RDBMS Miracle

Miracle 임베디드 RDBMS 설계, 구현 및 성능 평가

  • Seo, Nam-Won (Department of Computer Engineering, Hoseo University) ;
  • Kim, Keong-Yul (Department of Computer Engineering, Hoseo University) ;
  • Kim, Su-Hee (Department of Computer Engineering, Hoseo University)
  • 서남원 (호서대학교 컴퓨터공학과) ;
  • 김경렬 (호서대학교 컴퓨터공학과) ;
  • 김수희 (호서대학교 컴퓨터공학과)
  • Received : 2011.06.07
  • Accepted : 2011.07.07
  • Published : 2011.07.31

Abstract

In this paper, a relational embedded DBMS was designed and a prototype 'Miracle' RDBMS (MDB) was developed. MDB is written in C and works on Unix, Linux and Windows platforms locally. It accesses database through SQL interfaces and API functions and uses $B^+$ tree index. It guarantees ACID in transactions and supports low concurrency control and processes SQL statements on a single table. To evaluate the performance of MDB on an ARM board EZ-S3C6410 and to compare the performance of MDB with that of SQLite, an experiment was carried out to estimate processing times for insertion, selection, update and deletion operations. The result shows that the average times for selections and insertions in MDB were 38.46% and 22.86% faster than those in SQLite, respectively, but the average times for updates and deletions in SQLite were 28.33% and 26.00% faster than MDB, respectively, This experiment shows that fetching data from database and sending data to database in MDB is faster than in SQLite, but $B^+$ tree index is implemented more effectively in SQlite than in MDB.

이 논문에서는 관계형 임베디드 DBMS를 설계하고 프로토타입 Miracle RDBMS(MDB)를 개발하였다. MDB는 C로 개발되었고, 로컬에서 동작하며 유닉스와 윈도우즈 계열에서 운영 가능하다. SQL 인터페이스와 API 함수를 통해 데이터베이스를 접근하며 $B^+$ 트리 인덱스를 사용한다. 트랜잭션의 ACID를 보장하고 저수준의 잠금, 단일 테이블에 대한 SQL 문을 처리한다. 데이터의 처리 성능을 평가하기 위해 ARM용 EZ-S3C6410 보드를 이용하여 데이터 적재, 검색, 수정 및 삭제하는데 걸리는 시간을 실험하였다. SQLite와 처리시간을 비교해 보았는데 단위 연산에 대한 평균 처리시간이 SELECT와 INSERT에서 MDB가 각각 38.46%, 22.86% 더 빨랐으며, UPDATE와 DELETE에서 SQLite가 각각 28.33%, 26.00% 더 우수하였다. 이 실험은 데이터베이스에서 데이터를 가져오고 보내는 작업이 MDB에서 더 빠른 반면, $B^+$ 트리 인덱스는 SQLite에서 더 효율적으로 구축되었음을 보여준다.

Keywords

References

  1. JeongJeong Woo, GongJun Sa, "Embedded Linux Basics and Applications", Hanbit Media, inc. 2007
  2. YongJin Sin, "Maximizing Through-put with Embedded DBMS," Embedded World, May, 2008.
  3. Dong-SeoK Lee, Nam-Won Seo, Dong-Hyun Nam, Georgy Ni, Su-Hee Kim, "Design and Implementation of an Embedded DBMS", Korea Information Science Society, Vol.36 No.2C, pp. 82-86, 2009, 11.
  4. http://www.sybase.com/products/databasemanagement/advantagedatabaseserver
  5. http://www.oracle.com/us/products/database/berkeley-db/index.html
  6. http://en.wikipedia.org/wiki/Extensible_Storage_Engine
  7. http://www.sqlite.org
  8. http://en.wikipedia.org/wiki/Embedded_database
  9. http://blog.paran.com/blog/detail/postBoard.kth?blogDataId=552438&pmcId=mtkim&page=0&totalCount=0&pageStyle=null&myCateId=0&yearMonth=null&rDay=null&style=Board
  10. Hector Garcia-Molina, Jeffrey D. Ullman, Jennifer Widsom. Database System Implementation DepARMent of Computer Science Stanford University, 2000.
  11. http://en.wikipedia.org/wiki/B%2B_tree
  12. Raghu Ramakrishnan, Johannes Gehrke. Database Management Systems 3rd Edition. McGraw-Hill, 2007.
  13. http://blog.naver.com/runter1