| Green computing aims at realizing sustainable development of new computer systems, models, and applications with few energy consumptions. Recently, the society and goverments pay much attention to the technologies concerning low-carbon, energy-saving, and environment-friendly design. Energy consumption of computer systems has also received much attention because of the increasing energy costs of computers. It has been a research focus to lower the energy consumption of computer systems but to keep stable performance. This issue is called energy efficiency, and has become a new research frontier recently.In this paper, we focus on energy efficient database systems. Energy efficiency of database systems is defined as using little energy to accomplish operations as many as possible. The typical operations in database systems include transactions and I/O requests. High energy efficiency means that database systems can use less energy while processing a fixed number of operations. In other words, it uses less energy but achieves same performance. In order to build an energy efficient database system, this paper aims to answer the following two questions:The first questions is, which components are the main factors affecting energy consumption in database system? For performance, we have already known that I/O cost is the main factor influencing the performance of database systems. But for energy consumption, no good answers exist so far. For this issue, we design and build an energy benchmark platform to obtain energy consumption and performance of database systems from different perspectives through experiments. We test different kinds of database management systems and different kinds of traces under different configurations, and then summarize the results to provide key clues for improving energy efficiency of database systems.The second question is how to improve the energy efficiency of query processors? As query processors are critical for time performance, and existing designs do not consider energy consumption, we introduce energy costs into query processors and present an energy-efficient query prossor.The main contributions of this paper are summarized as follows:(1) We design and implement an energy benchmark platform. We first make a statistical analysis on previous energy measurement and testing methods. As previous studies use either multimeter or software-simulation-based methods, they can only obtain coarse-grained results for whole systems, and are unable to reflect real-time energy consumption of various components during query execution. Our testing platform provides a better solution, and is able to realize the automated testing. We conduct extensive experiments to test and analyze the energy efficiency of database systems with different configures, and summarize the results, which forms the foundation for designing energy-efficient database algorithms.(2) We propose a method for energy-efficient query optimization. First, we establish an operator-level power model using regression analysis method, which can accurately predict average power consumption during query execution for a given query. Next, we propose a new cost model for query optimizer, which considers both energy and performance aspects. The new cost model uses a new factor to obtain a better tradeoff between performance and energy costs. We conduct comparison experiments on PostgreSQL, and the results demonstrate the superiority of our proposal. |