Academia.eduAcademia.edu

The Ubiquitous DBMS

2009

Advancement in mobile computing technologies has prompted strong needs for database systems that can be used in small devices such as sensors, cellular phones, PDAs, car navigators, and Ultra Mobile PCs (UMPCs). We term the database systems that are customizable for small computing devices as Ubiquitous Database Management Systems (UDBMSs). In this paper, we first review the requirements of the UDBMS. The requirements identified include lightweight DBMSs, selective convergence, flash-optimized storage systems, data synchronization, support of unstructured/semistructured data, complex database operations, selfmanagement, and security. Next, we review existing systems and research prototypes. We review the functionality of UDBMSs including the footprint size, support of standard SQL, transaction management, concurrency control, recovery, indexing, and access control. We then review the supportability of the requirements by those UDBMSs surveyed. We finally present research issues related to the UDBMS.

The Ubiquitous DBMS Kyu-Young Whang1, Il-Yeol Song2, Taek-Yoon Kim1, and Ki-Hoon Lee1 1 2 Department of Computer Science, KAIST, Daejeon, Korea, {kywhang, tykim, khlee }@mozart.kaist.ac.kr College of Information Science and Technology, Drexel University, Philadelphia, USA, [email protected] ABSTRACT Advancement in mobile computing technologies has prompted strong needs for database systems that can be used in small devices such as sensors, cellular phones, PDAs, car navigators, and Ultra Mobile PCs (UMPCs). We term the database systems that are customizable for small computing devices as Ubiquitous Database Management Systems (UDBMSs). In this paper, we first review the requirements of the UDBMS. The requirements identified include lightweight DBMSs, selective convergence, flash-optimized storage systems, data synchronization, support of unstructured/semistructured data, complex database operations, selfmanagement, and security. Next, we review existing systems and research prototypes. We review the functionality of UDBMSs including the footprint size, support of standard SQL, transaction management, concurrency control, recovery, indexing, and access control. We then review the supportability of the requirements by those UDBMSs surveyed. We finally present research issues related to the UDBMS. 1. INTRODUCTION The growing popularity of mobile technologies and advancement in computing power have prompted strong needs for database systems that can be used in small computing devices such as sensors, smart cards, cellular phones, PDAs, car navigators, and Ultra Mobile PCs (UMPCs). These small devices with mobility and embedded processors are called ubiquitous devices [WH04]. As the ubiquitous devices get computationally powerful and the bandwidth of the wireless network rapidly expands, we can use them to perform tasks anytime and anywhere often downloading a variety of data from servers and uploading sensor data to servers. This kind of computing environment is commonly called the ubiquitous environment. New storage devices suitable for ubiquitous devices such as flash memory [GT05] and MEMS (Micro-Electro-Mechanical Systems)based storage devices [SG04] have been developed. As the capacity of the storage devices is getting bigger and bigger, we can easily store and manage a huge amount of data in a ubiquitous device. This trend prompted strong needs for the database systems that can be used in ubiquitous devices. We term the database systems customizable for small computing devices as 14 Ubiquitous (UDBMSs). Database Management Systems Representative ubiquitous devices include sensors, smartcards, cellular phones, PDAs, car navigators, and UMPCs. Sensors and smartcards are extremely small in size and have low computing power. A sensor is as small as a coin and is used for gathering data from its surrounding environment and for processing the data. A smartcard embeds a CPU, memory, and storage device for storing and managing data. The other devices are small in size but have high computing power. A cellular phone is used for managing personal information and playing multimedia data. A car navigator is used for finding the shortest way from the current location to the destination. A PDA is used for personal business management and for supporting applications such as an e-mail client, word processor, and spreadsheet. A UMPC is a general purpose PC but much smaller than laptops. Various applications that used to be run on a server can now be run on a UMPC. The primary storage of ubiquitous devices is flash memory. Flash memory is non-volatile and has many advantages over the disk. Since the capacity of flash memory is increasing and the cost decreasing, flash memory will be widely used also in PCs and servers. Another type of storage media for ubiquitous devices is MEMS-based storage devices. A MEMS-based storage device is a secondary storage device and also has many advantages over the disk. Currently, there are some prototypes of MEMS-based storage devices but no products are available yet. Ubiquitous devices usually have a limited storage capacity. Hence, users store bulk of data in the server and download the necessary parts to the ubiquitous devices. In this environment, when the data are modified in the ubiquitous device, the data need to be transmitted back and stored at the server to maintain consistency of data between them. This issue is called data synchronization [IBM06]. As the applications for ubiquitous devices are diverse, many different types of data need to be handled. The data types that need to be supported in ubiquitous devices include text data, web pages, XML data, spatial data, multimedia data, and sensor/stream data. E-mail clients, word processors, and spreadsheet applications manage text data. Web browsers manage web pages SIGMOD Record, December 2009 (Vol. 38, No. 4) and XML data. Car navigation systems manage spatial data. Image viewers, MP3’s, and movie players manage multimedia data such as JPEG, MP3, and AVI files. A sensor transmits the data sensed to the server as a stream.  Lightweight DBMSs Table 1 shows a summary of typical specifications of ubiquitous devices in 2008. As shown in Table 1, ubiquitous devices have lower computing power than PCs or servers. To support the ubiquitous environment, the UDBMS needs to be able to be deployed to different types of ubiquitous devices and to be able to support various applications. In addition, the UDBMS should support new types of storage devices, different types of data, data synchronization, self-management, and security. Table 1. Typical specifications of ubiquitous devices in 2008. There are some research prototypes and commercial products of UDBMSs. Representative research prototypes are TinyDB [FHM07], PicoDBMS [ABP07, ABPV08], and Odysseus/Mobile 1 . Representative commercial products are IBM DB2 Everyplace [IBM06, IBM08], Oracle 10g Lite [Orac06], Oracle Berkeley DB [Orac08, SO07], and Microsoft SQL Server CE (Compact Edition) [DS07, MS05]. TinyDB and PicoDBMS have been developed for extremely small devices with low computing power. TinyDB runs on sensors, and PicoDBMS on smartcards. The other DBMSs have been developed for small devices with high computing power such as cellular phones, PDAs, and UMPCs. Research on UDBMSs is still at an initial stage. Research groups and commercial DBMS vendors have mainly focused on shrinking the footprint size but have not actively dealt with other important problems such as managing various types of data and supporting flash memory and MEMS-based storage devices. The rest of this paper is organized as follows. In Section 2, we present important requirements of the UDBMS. In Section 3, we survey the functionalities of existing UDBMSs and analyze how well they satisfy the requirements identified. In Section 4, we introduce research issues related to the UDBMS and present the current status and future work of each issue. Finally, in Section 5, we summarize this paper. 2. REQUIREMENTS OF THE UDBMS In this section, we present important requirements of the UDBMS. Nori [Nori07] has presented a broad survey of mobile and embedded DBMSs. Bernhard et al. [BBB+04] have presented open issues and research topics on mobile DBMSs. In this paper, we consider mobile and embedded DBMSs as UDBMSs. Based on existing surveys [BBB+04, Nori07, Whan07], we identify important requirements for the UDBMS as follows. 1 Odysseus/Mobile is the ubiquitous version of the Odysseus DBMS [WLK+09, WLL+05, WPHL02]. SIGMOD Record, December 2009 (Vol. 38, No. 4) Ubiquitous CPU Devices Clocks Sensors 7 MHz Smartcards 14 MHz Cell Phones 300 MHz PDAs 624 MHz Car Navigators 1 GHz UMPCs 1.3 GHz Main Memory Storage Sizes Sizes 0.5 ~ 8 KBytes 8 ~ 128 KBytes 4 KBytes 128 KBytes 64 MBytes 128 MBytes 128 MBytes 256 MBytes 256 MBytes 16 GBytes 1 GBytes 80 GBytes Using a low-clock CPU, small memory, and small storage, a UDBMS needs to support the functionalities required by applications with acceptable performance. Furthermore, since ubiquitous devices have limited power sources such as batteries, a UDBMS needs to support the functionalities with low power consumption. Thus, it is important to design and implement a UDBMS as simple as possible considering the performance of devices [BBB+04, Nori07]. We also need to consider co-design of hardware and software [ABPV08, BBB+04], specifically, for devices with tight hardware constraints such as sensors and smartcards.  Selective Convergence To support the lightweight DBMS requirement, it is important to selectively compose the modules of a UDBMS depending on the applications and the device type. In order to emphasize the capacity that selects only necessary modules, we call this property “selective convergence” [Whan07]. Selective convergence is a notion that contrasts to extensibility [SAH87] in that it requires all the functionalities be implemented apriori and then customized according to individual needs while extensibility requires new functionalities be easily implemented for added features. For low performance devices such as sensors and smartcards, users would want only simple and basic functionalities. In contrast, for high performance devices such as PDAs and UMPCs, users would want advanced functionalities such as data synchronization. For example, if a user wants to run a GIS application in his PDA, the user would want spatial functionalities. A similar notion has been introduced by Nori [Nori07] as “componentization.”  New Storage Devices For ubiquitous devices, non-volatile memories (e.g., flash, EEPROM, and FeRAM) and very small 15 secondary storage devices (e.g., MEMS) have many advantages over the disk. Flash memory is a representative non-volatile memory. Compared with the disk, flash memory has attractive features such as small size, better shock resistance, lower power consumption, fast access time, and no mechanical seek and rotational latency [KV08]. Besides, there is an erase operation, which does not exist in the disk. In order to update existing data in a page, an erase operation should be performed first on the entire block to which the page belongs. The erase time is about ten times slower than the write time, and the number of erase operations is limited to 100,000 ~ 1,000,000 times [GT05, NG08]. A MEMS-based storage device is a very small nonvolatile secondary storage. The size is as small as 1cm2, and the average access time is ten times faster than that of the disk with lower power consumption. The MEMS device is composed of a media sled and a probe tip array. The media sled is a square plate on which data are recorded, and the probe tip array is a set of heads. The MEMS device reads and writes data by moving the media sled in the direction of both X and Y axes. By selecting and activating a portion of the heads simultaneously, users can access multiple data sectors in parallel [GSGN00, SG04]. The storage system of the traditional DBMSs has been developed for the disk but not for new storage devices such as flash memory or MEMS devices. To fully exploit the advantages of the new storage devices, we need to develop new storage systems optimized for them [Nori07]. For flash memory, data update time can be optimized by considering overhead caused by updates and the number of erase operations. For MEMS devices, data access time can be optimized by considering data placement and movements of heads.  Complex Operations for Advanced Applications Advanced database applications require complex operations such as data mining that cannot be implemented by SQL. As ubiquitous devices are rapidly evolving, many advanced applications that have been used in servers will also be required of ubiquitous devices. Thus, a UDBMS should be able to support complex operations. For example, on PDAs or UMPCs, we foresee the need for running advanced search applications. For example, there may be an application that finds documents similar to a given document. The application needs complex search operations that analyze relationships and similarity between the given document and the stored documents. In a u-health care environment, we may need advanced applications for patient management. U-health means 16 an anytime and anywhere medical service [IBM09]. In a u-health care environment, sensors are attached to the patient and gather and send the patient’s health data to doctors’ PDAs. Using PDAs, doctors can check their patients’ conditions and decide prescriptions for them anytime and anywhere. As the computing power of the PDA increases, there may be advanced applications that find a patient’s walking pattern and abnormal symptoms. The applications need a complex operation that finds meaningful or frequent patterns from a patient’s health data.  Unstructured and Semi-structured Data Various types of unstructured/semi-structured data such as text, multimedia, XML, spatial, stream, and sensor data are widely used in database applications. Those unstructured/semi-structured data are important not only in servers but also in ubiquitous devices. Examples are lyrics data in MP3 players, map data in car navigators, and multimedia data in PDAs. Thus, efficient management and search of unstructured/semistructured data will also be required of the UDBMS.  Data Synchronization Ubiquitous devices cannot stay connected to the server all the time due to limited power resources and unstable wireless connection. Furthermore, ubiquitous devices are not able to store a large amount of data due to lack of storage capacity. Thus, users store bulk of data in the server and download only the necessary parts of the data from the server to the ubiquitous device. In this environment, many users can share and manage data by replicating the same data in the server to their own devices. For example, in a hospital, bulk of patients’ data is stored in the server database, and doctors replicate a portion of these data to their PDAs. In this way, many doctors can share and manage the same patient’s data anytime and anywhere. As a result, different versions of the data may exist and result in data inconsistency. Therefore, a UDBMS needs to support a functionality to integrate different versions of data into a consistent version [BBB+04, Nori07], i.e., data synchronization.  Self-Management Unlike in traditional DBMSs, in a UDBMS, there can be no database administrator (DBA) to manage the database. Thus, a UDBMS needs to support selfmanagement functionalities. That is, it needs to automatically perform operations like backup, restore, recovery, indexing, and tuning [Nori07].  Security Since ubiquitous devices often contain personal data such as banking and healthcare data, a UDBMS needs SIGMOD Record, December 2009 (Vol. 38, No. 4) to ensure the data security by providing access control policies [ABPV08].  Longevity and Distributed Processing In a wireless sensor network, several thousands of sensor nodes with limited resources, e.g., battery power, are connected through the network to the server (or base station). The server sends queries into the sensor network, and sensor nodes collect, filter, aggregate, and route data back to the server. Thus, a UDBMS in a sensor node needs to support distributed query processing and to minimize power consumption for longevity [MFHH05]. 3. EXISTING SYSTEMS In this section, we survey representative research prototypes and commercial products of the UDBMS and compare their functionalities. Then, we review the supportability of the requirements identified in Section 2 for the UDBMSs surveyed. 3.1 Representative Systems Some research groups and commercial DBMS vendors have developed UDBMSs. Table 2 shows the research prototypes and commercial products we surveyed. Commercial products include IBM DB2 Everyplace, Oracle 10g Lite, Oracle Berkeley DB, and Microsoft SQL Server CE. Oracle Berkeley DB has been developed by University of California, Berkeley, but its license has moved to Oracle corp. Table 2. Research prototypes and commercial products of the UDBMS. Research Prototypes TinyDB, PicoDBMS, Odysseus/Mobile Commercial Products IBM DB2 Everyplace, Oracle 10g Lite, Oracle Berkeley DB, MS SQL Server CE Research prototypes include TinyDB, PicoDBMS, and Odysseus/Mobile. TinyDB has been developed at University of California, Berkeley. PicoDBMS has been developed at University of Versailles and INRIA. Odysseus/Mobile is the ubiquitous version of the Odysseus DBMS [WLK+09, WLL+05, WPHL02] that has been continually evolving for the last 19 years at KAIST. Odysseus DBMS is tightly coupled with information retrieval (IR) and spatial database functionalities. Odysseus/Mobile supports all the functionalities of the Odysseus DBMS and additionally supports selective convergence, data synchronization, and the flashoptimized storage system (ongoing) for ubiquitous devices. Odysseus/Mobile supports selective convergence through the architecture that allows users to choose necessary modules at compile time. SIGMOD Record, December 2009 (Vol. 38, No. 4) Existing UDBMSs can be categorized by target devices in which the DBMS is deployed. Table 3 shows the summary. In Table 3, it seems that sensors, smartcards, and high performance devices are different enough to justify different DBMSs. However, we expect that the difference will become less obvious as device technology evolves, and UDBMSs that support the requirements in Section 2.1 will be needed for all those devices. For example, even in sensors, complex operations such as data mining will be needed to detect and filter out outliers in sensed data. Table 3. Existing UDBMSs categorized by target devices. Target Devices Extremely Small Sensors Devices with Low Computing Power Smartcards Small Devices with High Computing Power Cell Phones, PDAs, Car Navigators, and UMPCs UDBMSs TinyDB PicoDBMS IBM DB2 Everyplace, Oracle 10g Lite, Oracle Berkeley DB, MS SQL Server CE, Odysseus/Mobile 3.2 Functional Analysis Table 4 shows the functionalities of existing UDBMSs. General functionalities of server DBMSs include SQL query processing, views, integrity constraints, transaction management, concurrency control, recovery, indexing, access control, encryption, and compression2. Existing UDBMSs support only essential functionalities among those of server DBMSs. TinyDB supports only essential functionalities for sensor applications. Since most of the sensor applications are used to filter out some data, they just need the functionality that selects data satisfying given conditions. Thus, TinyDB supports only SELECT statements of TinySQL3, and its footprint is extremely small―only 3 KBytes. For more information on TinyDB, refer to Madden et al. [FHM07]. PicoDBMS supports sufficient functionalities for smartcard applications. Smartcard applications are used for data management such as insert, delete, update and search. Thus, PicoDBMS supports a part of SQL such as INSERT, UPDATE, DELETE, SELECT (with join and aggregation), and CREATE/DROP TABLE statements. Additionally, it supports CREATE/DROP VIEW and GRANT/REVOKE statements. PicoDBMS 2 Memory consumption is also important, but we excluded since it is not published by commercial vendors or research groups. 3 TinySQL supports a very limited part of SQL99 such as INSERT, UPDATE, SELECT, and CREATE/DROP TABLE statements. 17 also supports functionalities for indexing, transaction management, recovery, access control, and compression. The footprint size of PicoDBMS is about 30 KBytes, larger than TinyDB. For more information on PicoDBMS, refer to Bobineau et al. [ABP07, ABPV08]. Oracle Berkeley DB, Oracle 10g Lite, IBM DB2 Everyplace, Microsoft SQL Server CE, and Odysseus/Mobile support most of the functionalities of server DBMSs since their target devices, such as cellular phones, PDAs, car navigators, and UMPCs, have a lot more computing power than sensors and smartcards. These DBMSs commonly support views, transaction management, concurrency control, recovery, and indexing. All the above-mentioned DBMSs, except Oracle Berkeley DB, support a part of the SQL99 standard, which is broader than that of PicoDBMS. Oracle Berkeley DB, however, uses proprietary APIs instead of SQL. The footprint sizes of these DBMSs range from 350 KBytes to 2.5 MBytes. There is no existing UDBMS that supports all the requirements of the UDBMS. Table 5 shows the supportability of the requirements for each product we reviewed. The UDBMSs that support selective convergence are Oracle Berkeley DB and Odysseus/Mobile. In these UDBMSs, users can choose functionalities such as concurrency control, recovery, and indexing at the compile time. None of the existing UDBMSs support the flash-optimized storage system and complex database operations for advanced applications. The UDBMSs that support selfmanagement are TinyDB, PicoDBMS, and Oracle BerkeleyDB. For Oracle 10g Lite and MS SQL Server CE, support of self-management is not clearly known. All the existing UDBMSs except TinyDB and Oracle BerkeleyDB support security. The UDBMSs that support the data synchronization functionality are Oracle Berkeley DB, Oracle 10g Lite, IBM DB2 manages XML data, and Odysseus/Mobile manages XML, text, and spatial data. In these DBMSs, management of unstructured/semi-structured data can also be selectively converged to the DBMS. 4. RESEARCH ISSUES In this section, we present five research areas that are important for satisfying the requirements of the UDBMS. We present the current status of each research issue and propose future work. lightweight DBMS techniques is PicoDBMS [ABP07, ABPV08]. The paper proposes a new storage system and a new query processor for smartcards, which have a very small storage and memory. The storage system uses a pointer-based storage model where tuples reference their attribute values by means of pointers to preclude any duplicate value. In addition, considering small memory of smartcards, the paper presents techniques for processing queries with a limited memory capacity. As the ubiquitous environment evolves, many advanced applications that have been used in servers will also be required of ubiquitous devices. However, even high performance devices such as PDAs and UMPCs still lack computing power to run a fullyfledged DBMS that supports as many functionalities as server DBMSs do. Thus, selective convergence will become a very important technique since it enables lightweight DBMSs by selectively composing the modules of a fully-fledged DBMS. We expect research on designing and implementing a new DBMS architecture that supports selective convergence will soon become active. 4.2 Storage Systems for New Storage Devices Research on flash memory has been actively conducted in the field of operating systems (OS) [Alep02, Ban99, Wood01], and recently, in the field of databases [LM07, LMP+08]. The main goal of the research is to optimize the data update cost considering the cost of the erase operation of flash memory. In flash memory, the unit of read/write operations is a page, but the unit of the erase operation is a block, which consists of multiple pages. In the early days of flash memory, update of an existing page in a block is performed by the method called in-place update [GT05]. In the in-place update method, the updated page is overwritten into the original location of the page. The method consists of the following four steps: (1) read all the pages of the block into memory, (2) update the page, (3) erase the block in the storage, and (4) write all the pages in memory to the erased block. This method has an overhead of reading and writing the entire block and needs an expensive erase operation. To solve these problems, the out-place update method [GT05] has been proposed. This method writes the updated page into an empty page and 4.1 Lightweight DBMSs Commercial UDBMSs have shrunken the footprint size and memory usage by simplifying the functionalities of server DBMSs, but commercial vendors have not reported the techniques they adopted. The representative research work that deals with 18 SIGMOD Record, December 2009 (Vol. 38, No. 4) Table 4. Functionalities of the existing UDBMSs. TinyDB Minimum Code Footprint 3 KBytes Size SQL Views Integrity Constraints API Transaction Management4 Concurrency Control Indexing Access Control Encryption Compression PicoDBMS Oracle Oracle 10g Lite Berkeley DB IBM DB2 Everyplace 30 KBytes 500 KBytes (embedded Linux, storage system only) 970 KBytes (Windows) 350 KBytes (embedded Linux) N a part of SQL99 Y a part of SQL99 Y Y Y MS SQL Server CE Odysseus/ Mobile 2.5 MBytes (embedded Linux) 2 MBytes 410 KBytes (Windows) (embedded Linux, storage system only) a part of a part of SQL99 SQL99 Y Y SELECT only N a part of SQL99 Y N N/A N TinyDB API JDBC Berkeley DB API N Y Y Y Y Y Y N N Y Y Y Y Y N N N N Y Y N/A Y Y N Y N/A Y Y Y Y Y Y Y Y Y Y Y Y Y Y N text only N Y N JDBC, ODBC, DB2 CLI, OOSQL CLI, JDBC, ADO.NET ADO.NET, JDBC, ODBC, ODBC, PHP, API SODA API ADO.NET API Python API Table 5. Supportability of the requirements of the UDBMS. TinyDB PicoDBMS Lightweight DBMS Selective Convergence Flash-optimized Storage System Complex Operations Unstructured/Semi-structured Data Data Synchronization Self-Management Security Y N N N N N Y N Y N N N N N Y Y Oracle Oracle IBM DB2 MS SQL Odysseus/ Berkeley DB 10g Lite Everyplace Server CE Mobile Y Y Y Y Y Y N N N Y N N N N under development N N N N N XML only N N N text, spatial, XML Y Y Y Y Y Y N/A Y N/A N N Y Y Y Y invalidates the original page. The invalidated pages are erased at once in a batch fashion. There are two active research topics on flash-memory managementthe flash translation layer (FTL) and the flash-optimized storage system. FTL is a layer that emulates a disk using flash memory. Using the FTL, most of commercial OS file systems and UDBMSs with a disk-based storage system are able to run on flash memory [Ban99]. The emulation approach, however, has a disadvantage that it is hard to achieve the best performance since the storage system indirectly manages flash memory. The flash-optimized storage system directly manages flash memory without the FTL and is able to achieve the best performance. It has been developed by adapting the data placement 4 method of the log-structured file system to flash memory [GT05]. Representative flash-optimized OS file systems are JFFS [Wood01] and YAFFS [Alep02]. For the flash-based storage system of DBMSs, a prototype called LGeDBMS [KBL+06] and data update methods [KWS10, LM07] have been proposed. The specificity of considering flash memory in small devices such as smartcards is that they could have extremely small main memory. Recently, there has been research on flash (or EEPROM) storage system for those devices. Yin et al. [YPM09] and Bolchini et al. [BSST03] have addressed the problem of adapting data structures and algorithms to extremely small main memory considering the hardware constraints of flash (or EEPROM) devices. In general, transaction management includes concurrency control. However, in a single user environment like PicoDBMS, concurrency control is not needed for transaction management. SIGMOD Record, December 2009 (Vol. 38, No. 4) 19 Research on the MEMS-based storage device is still at an initial stage. Data placement methods considering the movement of headers have been proposed. Similar to flash memory, there are methods proposed to emulate the disk using the MEMS-based storage device [DM03, GSGN00] and those to develop the MEMSoptimized storage system by directly controlling the device [KWKS09, YAA07]. Research on utilizing flash memory and MEMS-based storage devices for DBMSs will become more active. Especially, as the capacity of flash memory per unit cost increases, flash memory is expected to be widely used as storage devices not only for ubiquitous devices but also for PCs and servers. There are many challengeable optimization problems considering the characteristics of flash memoryincluding optimization of index structures, buffer management, recovery, query processing, and sorting methods. Adaptation of data structures and algorithms to an extremely small main memory environment is also an important issue. 4.3 Data Synchronization In a mobile environment, data synchronization is a very important issue. However, research on data synchronization between the UDBMS and the server has been rare. Representative synchronization modules are the sync server of IBM DB2 Everyplace [IBM06], the mobile server of Oracle 10g Lite [Ora06], and the active sync of Microsoft SQL Server CE [DS07]. Commercial synchronization solutions consist of client databases on ubiquitous devices, a synchronization server, and a server database. The synchronization server controls the consistency of replicated data in the client and server databases. Main research issues on data synchronization are (1) efficiently maintaining data synchronization between a huge number of ubiquitous devices and the server, (2) resolving conflicts when there are different versions of the same data among ubiquitous devices and the server, (3) recovering from crash and restarting data synchronization when system failure occurs during data synchronization. unstructured/semi-structured data. For XML data, vendors have released extended versions of their DBMSs that support XML data. Research groups have also published on prototypes such as MonetDB/XQuery (CWI) [BGK+06], dbXML (dbXML Group) [dbXML08], and Odysseus/XML (KAIST) [HLL03, LKWL06]. For stream data, many prototypes have been developed. Representative prototypes are TelegraphCQ (University of California, Berkeley) [CCD+03], NiagaraCQ (University of Wisconsin) [CDTW00], and STREAM (Stanford University) [ABB+03]. For text data and spatial data, commercial vendors and research groups have released their products or prototypes. The Odysseus DBMS supports managing text and spatial data in a tightlycoupled fashion [WLK+09, WLL+05, WPHL02]. An early version of the Odysseus DBMS has been used (1997-2000) for the Naver search engine of NHN Co., which is currently the best portal in Korea. There are two approaches to support unstructured/semistructured data. One is the loose coupling approach, and the other is the tight coupling approach. Commercial vendors use the loose coupling approach. In the loosely-coupled architecture, the functionality of managing the data is implemented using the DBMS API on top of the DBMS engine. Thus, the looselycoupled architecture incurs overhead caused by the high-level (typically, SQL-level) API calls between the unstructured/semi-structured data management module and the DBMS engine. In contrast to commercial vendors, the Odysseus DBMS uses the tight coupling approach. In the tightly coupled architecture, the functionality of managing unstructured/semi-structured data is integrated into the DBMS engine [WLK+09, WLL+05, WPHL02]. The tight coupling architecture eliminates the overhead caused by the high-level API calls—obtaining high performance. For server DBMSs, commercial vendors and research groups have developed database systems for managing Since ubiquitous devices (including PDAs and UMPCs) lack computing power to run a fully-fledged DBMS that supports unstructured/semi-structured data, research on developing a lightweight version of the unstructured/semi-structured data management module considering the specification and performance of the ubiquitous devices needs to be conducted. For example, in a fully-fledged DBMS, one could implement many existing query processing methods and combine them under a cost-based optimization framework so as to select the best query evaluation plan. However, since ubiquitous devices have small memory and storage, it may not be feasible to include many query processing methods and the optimization module in the UDBMS. Thus, we need to study query processing methods that show robust and predictable performance in a lightweight environment where cost-based optimization is not available [MVT05]. 20 SIGMOD Record, December 2009 (Vol. 38, No. 4) 4.4 Unstructured/Semi-structured Data Research on managing unstructured/semi-structured data has been active in the context of server DBMSs and will be also important in the context of UDBMSs. Among various types of unstructured/semi-structured data, text, XML, stream, and spatial data have been actively studied. Recently, DB-IR integration [ACR+05, WPHL02] has become a subject of active research. 4.5 Data Mining for Complex Database Operations Advanced applications perform complex operations such as finding relationships, trends, and meaningful patterns of data. Moreover, target data of the operations are not only relational but also unstructured/semistructured. Those operations are hard to be implemented with SQL only, but require more advanced techniques such as data mining, which have been a useful tool for supporting complex operations on relational data as well as unstructured/semistructured data. In the context of server DBMSs, there has been active research on data mining for various types of unstructured/semi-structured data [HK05]. Examples are text data mining, web page mining, spatial/temporal data mining, stream data mining, multimedia data mining, and bioinformatics data mining. Currently, active research is in progress on adapting traditional mining techniques for relational data to unstructured/semi-structured data [HK05]. systems and complex database operations are not supported by any UDBMS. Finally, we have presented research issues related to the UDBMS for each category of the requirements identified. 6. ACKNOWLEDGEMENTS This work was supported by the National Research Lab orogram (No. 2009-0083120) through National Research Foundation (NRF) of Korea funded by Ministry of Education, Science, and Technology [Whan07]. We deeply appreciate anonymous reviewers’ incisive comments on the earlier version that made this paper more complete and readable. 7. REFERENCES In this paper, we have introduced the concept of the UDBMS and related research issues. We have defined the UDBMS as a customizable database system for small computing devices. We have identified important requirements of the UDBMS such as lightweight DBMSs, selective convergence, flash-optimized storage systems, data synchronization, support of unstructured/semi-structured data, complex database operations, self-management, and security. We then have reviewed the functionalities of existing UDBMSs and research prototypes. We have also discussed how well those existing UDBMSs and research prototypes support the requirements identified. We have found that, as of now, there is no UDBMS that supports all the requirements. Especially, flash-optimized storage [ABB+03] Arasu, A. et al., “STREAM: The Stanford Stream Data Manager,” IEEE Data Eng. Bull., 26(1), pp. 19-26, 2003. [ABP07] Anciaux, N., Bouganim, L., and Pucheral, P., “Future Trends in Secure Chip Data Management,” IEEE Data Eng. Bull., 30(3), pp. 49-57, 2007. [ABPV08] Anciaux, N., Bouganim, L., Pucheral, P., and Valduriez, P., “DiSC: Benchmarking Secure Chip DBMS,” IEEE TKDE, 20(10), pp. 13631377, 2008. [ACR+05] Amer-Yahia, S., Case, P., Rolleke, T., Shanmugasundaram, J., and Weikum, G., “Report on the DB/IR Panel at SIGMOD 2005,” SIGMOD Record, 34(4), pp. 71-74, 2005. [Alep02] Aleph One Ltd., “YAFFS: Yet Another Flash Filing System,” http://www.yaffs.net, 2002. [Ban99] Ban, A., Flash File System Optimized for PageMode Flash Technologies, US patent 5,937,425, 1999. [BBB+04] Bernard, G. et al., “Mobile Databases: a Selection of Open Issues and Research Directions,” SIGMOD Record, 33(2), pp. 78-83, 2004. [BGK+06] Boncz, P. et al., “MonetDB/XQuery: a Fast XQuery Processor Powered by a Relational Engine,” In SIGMOD, pp. 479-490, 2006. [BSST03] Bolchini, C. et al., “Logical and Physical Design Issues for Smart Card Databases,” TOIS, 21(3), pp. 254-285, 2003. [CCD+03] Chandrasekaran, S. et al., “TelegraphCQ: Continuous Dataflow Processing for an Uncertain World,” In CIDR, pp. 269-280, 2003. [CDTW00] Chen, J. et al. “NiagaraCQ: A Scalable Continuous Query System for Internet Databases,” In SIGMOD, pp. 379-390, 2000. [dbXML08] dbXML 2.0, http://www.dbxml.com, 2008. [DM03] Dramaliev, I. and Madhyastha, T., “Optimizing Probe-Based Storage,” In FAST, pp. 379-390, 2003. [DS07] Dhingra, P. and Swanson, T., Microsoft SQL Server 2005 Compact Edition, Sams, 2007. [FHM07] Franklin, M. J., Hellerstein, J. M., and Madden S., “Thinking Big About Tiny Databases,” IEEE SIGMOD Record, December 2009 (Vol. 38, No. 4) 21 Research on data mining will be expanded to the context of the UDBMS. For advanced applications such as advanced search and u-health care mentioned in Section 2, data mining techniques are very useful in implementing complex operations needed for them. For example, in simple filtering applications for the sensor devices, the sensed data are filtered out by checking whether the data are compatible with given arithmetic conditions such as larger-than, less-than, or equal-to; in advanced filtering applications, however, more complex filtering operations such as detecting outliers can be executed by discovering overall trends of the sensed data [SLMJ07]. Considering the specification and performance of ubiquitous devices, research on developing a lightweight version of mining techniques needs to be conducted. 5. SUMMARY Data Eng. Bull., 30(3), pp. 37-48, 2007. [GSGN00] Griffin, J. L., Schlosser, S. W., Ganger, G. R., and Nagle, D. F., “Operating Systems Management of MEMS-Based Storage Device,” In OSDI, pp. 227-242, 2000. [GT05] Gal, E. and Toledo, S., “Algorithms and Data Structures for Flash Memories,” Computing Surveys, 37(2), pp. 138-163, 2005. [HK05] Han, J. and Kimber, M., “Data Mining—On What Kind of Data?,” In Book Data Mining: Concepts and Techniques, 2nd ed., Morgan Kaufmann, 2005. [HLL03] Han, W., Lee, K., and Lee, B., “An XML Storage System for Object-Oriented/Object-Relational DBMSs,” JOT, 2(3), pp. 113-126, 2003. [IBM06] IBM, DB2 Everyplace Enterprise Edition Release Notes for Version 9.1, 2006. [IBM08] IBM Information Center for DB2 Everyplace v9.1, http://publib.boulder.ibm.com/infocenter/ db2e/v9r1/index.jsp, 2008. [IBM09] IBM Ubiquitous Solution, http://www903.ibm.com/kr/ubiquitous/ucity/health.html, 2009 (in Korean). [KBL+06] Kim, G., Baek, S., Lee, H., Lee, H., and Joe, M., "LGeDBMS: a Small DBMS for Embedded System with Flash Memory," In VLDB, pp. 12551258, 2006. [KV08] Koltsidas, I. and Viglas, S. D., “Flashing up the Storage Layer,” In VLDB, pp. 514-525, 2008. [KWKS09] Kim, Y., Whang, K., Kim, M., and Song, I., “A Logical Model and Data Placement Strategies for MEMS Storage Devices,” IEICE Trans. on Information and Systems, E92-D(11), pp. 22182234, 2009. [KWS10] Kim, Y., Whang, K., and Song, I., “PageDifferential Logging: An Efficient and DBMSindependent Approach for Storing Data into Flash Memory,” In SIGMOD, 2010 (to appear). [LKWL06] Lee, K., Kim, S., Whang, E., and Lee, J., "A Practitioner's Approach to Normalizing XQuery Expressions," In DASFAA, pp. 437-453, 2006. [LM07] Lee, S. and Moon, B., “Design of Flash-Based DBMS: An In-Page Logging Approach,” In SIGMOD, pp. 55-66, 2007. [LMP+08] Lee, S. et al., “A Case for Flash Memory SSD in Enterprise Database Applications,” In SIGMOD, pp. 1075-1086, 2008. [MFHH05] Madden, S. R., Franklin, M. J., Hellerstein, J. M., and Hong, W., “TinyDB: an Acquisitional Query Processing System for Sensor Networks”, TODS, 30(1), pp. 122-173, 2005. [MS05] Microsoft, “SQL Server Compact 3.5,” http://www.microsoft.com/sqlserver/2005/en/us/ compact.aspx, 2005. [MVT05] Moro, M. M., Vagena, Z., and Tsotras, V. J., “Tree-Pattern Queries on a Lightweight XML Processor,” In VLDB, pp. 205-216, 2005. [NG08] Nath, S. and Gibbons, P. B., “Online Maintenance of Very Large Random Samples on Flash Storage,” In VLDB, pp. 970-983, 2008. [Nori07] Nori, A. K., “Mobile and Embedded Databases,” IEEE Data Eng. Bull., 30(3), pp. 3-12, Sept. 22 [Orac06] [Orac08] [SAH87] [SG04] [SO07] [SLMJ07] [WH04] [Whan07] [WLK+09] [WLL+05] [Wood01] [WPHL02] [YAA07] [YPM09] 2007 (also in 2007 SIGMOD as a tutorial abstract, June 2007). Oracle, Oracle Database Lite 10g Technical White Paper, 2006. Oracle Berkeley DB, http://www.oracle.com/ technology/products/berkeley-db/index.html, 2008. Stonebraker, M., Anton, J., and Hirohama, M., “Extendability in POSTGRES,” IEEE Data Eng. Bull., 10(2), pp. 16-23, 1987. Schlosser, S. W. and Ganger, G. R., “MEMSBased Storage Devices and Standard Disk Interfaces: A Square Peg in a Round Hole?,” In FAST, pp. 87-100, 2004. Seltzer, M. and Oracle Corporation, “BerkeleyDB: A Retrospective,” IEEE Data Eng. Bull., 30(3), pp. 21-28, 2007. Sheng, B., Li, Q., Mao, W., and Jin, W., "Outlier Detection in Sensor Networks," In MobiHoc, pp. 219-228, 2007. Wu, J. and Hisa, T., "Analysis of E-commerce Innovation and Impact: a Hypercube Model," Electronic Commerce Research and Applications, 3(4), pp. 389-404, 2004. Whang, K., “Development of Customizable/Lightweight DB Engine Technologies for Ubiquitous Small Devices,” National Research Lab Program, National Research Foundation (NRF) of Korea, Proposal Apr. 2007, Project July 2007-June 2012. Whang, K. et al., “Tightly-Coupled Spatial Database Features in the Odysseus/OpenGIS DBMS for High-Performance,” GeoInformatica, to appear, 2009 (on-line version at http://www.springerlink.com/content/m68512467 06v6n65). Whang, K. et al., “Odysseus: a HighPerformance ORDBMS Tightly-Coupled with IR Features,” In ICDE, pp. 1104-1105, 2005. This paper received the Best Demonstration Award. Woodhouse, D., “JFFS: The Journaling Flash File System,” http://sources.redhat.com/jffs2/ jffs2.pdf, 2001. Whang, K., Park, B., Han, W., and Lee, Y., Inverted Index Storage Structure Using Subindexes and Large Objects for Tight Coupling of Information Retrieval with Database Management Systems, US Patent 6349308, Feb. 2002. (Appl. No. 09/250,487, Feb. 15, 1999) Yu, H., Agrawal, D., and Abbadi, A. E., “MEMS-Based Storage Architecture for Relational Databases,” The VLDB Journal, 16(2), pp. 251–268, 2007. Yin S., Pucheral, P., and Meng, X., “A Sequential Indexing Scheme for Flash-Based Embedded Systems,” In EDBT, pp. 588-599, 2009. SIGMOD Record, December 2009 (Vol. 38, No. 4)