Embedded Dbms
Essay Preview: Embedded Dbms
Report this essay
An Embedded database is a specific database genus that does not run as a separate process, instead, it is directly linked (“embedded”) into the application. Herein, the database is integrated into the application and the end-user has little or no knowledge that the database exists. Embedded databases are sometimes referred to as “fire and forget” or “implement and forget” databases, since they require no or minimal database administration.
So, restating again, the term embedded database refers to a database engine that is packaged with (or even within) an application. For example, if you are writing an address-book utility and want to provide your own database for handling records, rather than repeatedly establishing contact with a large remote database, you could package your utility with an embedded database.
The embedded database, once a backwater of the database market, is starting to become an important player in the industry as leading database vendors are competing to introduce embedded editions of their RDBMSs. The embedded database fray includes enterprise players like Microsoft Corp., who started shipping their SQL Server 2000 with a small footprint of 1MB and Oracle Corp. with their Oracle Database 10g targeted at the embedded market.
Need for Embedded databases:
We live in an era of information explosion, where the world has become a global village, and information and technologies are at the fingertips of technologists the world over. This information society is characterized by the exponential growth of markets like e-commerce, packaged applications, distributed (particularly mobile) computing, Java-based applications and Web-based appliances, devices and set-top boxes.
The packaged applications market is seeing an increasing need for simple and easily manageable tools and applications with complex data management capabilities. Additionally, the increase in distributed, mobile computing has engendered the demand for increasingly functional portable devices that require local data storage for autonomous, disconnected operations. These mobile products have similar, if not more rigorous, requirements than packaged applications and are fueling the demand for embedded databases.
As new functionalities and features are being added to devices like cell phones, sensors, smartcards and PDAs – simultaneously, an increasing number of applications are being developed, many of them dealing with significant amounts of data leading to the need of embedded database support on these devices. The queries go beyond simple Select-Project-Join queries but still have to be locally executed on the device.
As the use of Java continues to expand, particularly towards the low-end, it drives the need for local persistent storage for both Java programs and data. Applications in these areas require high-performance, small-footprint, tunable, self-managing, embedded databases.
Lastly, for Internet appliances, a recent IDC research report predicted that shipments of such devices will outstrip sales of PCs by 2005. These trends are driving the increasing need for embedded databases to support applications that enable e-commerce, workforce mobility, and Internet appliance computing.
Important features of embedded databases:
Small size – Size of an embedded database is very small (usually a few mega bytes), when compared to very large size of enterprise databases.
Affordable prize – most of the enterprise databases are highly priced and it is very difficult for a vendor making applications to obtain such databases. On the other hand, embedded databases are now available for minimum cost.
Performance – Even with a small size, embedded databases are designed to offer greater performance and can even scale up when needed.
Benefits of Embedded databases:
From the perspective of ISVs and VARs:
– Reduced installation and management time
– Reduced installation and management support
– Developers can focus on developing the application/solution rather than working with the databases.
– Affordable
From the perspective of end-user:
– DBA is not required
– Reduced software license costs
– Reduced maintenance cost
– Deliver a complete solution to the customer: Eliminate the need for the customer to evaluate, buy, and implement a separate database.
– Eliminate the time required for development and testing cycles to implement a new database.
– Reduce the total cost of ownership (TCO) for the customer.
Java Embedded Databases:
Java is already a major development language and its future looks even more promising.
With potentially millions of applications being developed with Java, the benefits of using a Java embedded database are numerous.
In an Embedded Java database, the application uses JDBC or PHP to access the application-specific data, but the RDBMS resides on the same JVM (Java Virtual Machine) as the application. It is transparent to the user and is self-administered.
Java embedded databases can utilize the unique features of Java, like:
– Multiple Platform Portability
– Small Size
– Java Stored Procedures
– Transparent to End User
– Zero Administration Efforts
The compelling reasons behind the growth of Java embedded database market are:
– Problems Related to Flat-Files and Proprietary RDBMS Databases
– Lower Total Cost of Ownership
– Shorter Development Cycles
– Easier Deployment