Time for Change: Why Not Transact In Memory?

Sang K. Cha
Seoul National University and Stanford University



The last decade has seen significant changes in the hardware technology. Today, microprocessors run at the speed of GHz, and computer systems using multiples of such high-speed CPUs are common in the market. On the memory side, as the price of DRAM chips continues to drop, one can easily buy a few GB of memory for a computer system, and soon this affordable memory size will grow to a few tens or hundreds of GB, and eventually reach a terabyte during the coming decade.

Despite the significant changes in hardware, the changes in the data management software occur slowly, primarily because the commercial DBMS vendors are heavily invested in the disk-primary database architecture. While this disk-primary architecture can benefit from large memory as well using it as the buffer for the disk-resident data blocks, the performance gain is inherently limited by the indirect nature of data access and many disk-primary design decisions. The main-memory DBMS assumes that the database resides primarily in memory. This memory-primary architecture, free from the overhead of mapping between memory and disk, has many advantages over the disk-primary architecture, such as better focus on the utilization of hardware capability and the relative ease of optimization.

This talk reviews the current state of the Transact In Memory project at Seoul National University that aims to develop a memory-primary DBMS that fully utilizes the hardware capability and an information system architecture that can take advantage of such a high-performance DBMS. The major focus of the project so far lied in exploiting the parallelism in logging, recovery, and concurrency control, which is crucial for scaling up the performance of the main-memory DBMS. A preliminary performance measurement with P*TIME, a highly Parallel Transact In Memory Engine developed by the project (and deployed to the real telecom environment) indicates that the memory-primary DB architecture, with the proper optimization, can win the disk-primary architecture, by up to two orders of magnitude, making it an economic choice for the performance-demanding applications in telecom and internet domains.