
Empress Offers aaanan Effective Embedded Database Solution By Craig S. Mullins Mullins Consulting, Inc. database management & strategy 15 Coventry Court www.craigsmullins.com Sugar Land, TX 77479 tel 281-494-6153 WWW hen it comes to computerized systems, there are man y different types of applications, each with its own distinct requirements. Some require a bevy of bells and whistles to provide the needed service levels. Enterprise applications char acterized by complexity and high volume typically require high availability and multiple ti ers to meet the business requirements of the enterprise. But others benefit more from simplicity and ease of administration than from layers of functionality and complexity. Developers sometimes struggle when it comes to determining how best to manage the data needs of su ch applications. Frequently, these types of applications can benefit from an "embedded datab ase" solution. But what is an embedded database system? An embedde d database system is one that can be linked with a client application, so that the appli cation and the DBMS run in a single address space. By embedding the database into the applicati on the application can be deployed as a single unified program that is functional, efficien t, and self-contained. This approach differs from that of standard database management systems ( such as DB2, Oracle, and SQL Server) that run as a separate process and require the appl ication to connect to the DBMS using a form of inter process communication. What is the advantage of embedding the database sys tem with the application? Basically, by linking the application to the database, the delive red application system can gain from a reduction in overall complexity and a minimized cos t of administration. An embedded database system is potentially most useful in a con strained system. For example, consider the data needs of a standalon e appliance or piece of equipment. Embedded databases have been used to provide the da ta requirements of applications ranging from intelligent switches and routers to ba nk teller systems to commercial appliances like DVRs (digital video recorders) to complex medi cal instruments and equipment. Chances are that most people rely on technology powered by embedded databases on a weekly, or even a daily basis. As the integration of technology into consumer appl iances becomes more pervasive, you will hear more and more about embedded database technolo gy. You don’t need all the bells & whistles and the accompanying overhead required of an enterprise DBMS running on your toaster! But a little embedded database hooked up t o your TV that captures your viewing habits, reviews the schedule, and recommends progra ms to watch would be helpful. In fact, my TiVo does just that. It isn’t in my TV yet, but it is attached to it. Eventually the technology will be made simple enough, and self-managing enoug h, that it can be embedded in home products without it causing problems. I mean, do yo u really want to have to explain to your Mom how a database problem brought down the TV and now she can’t watch “The Guiding L i g h t ” ? As a more down-to-earth example, think of a web hos ting application. The complexity of an enterprise database server is not necessarily warra nted for such situations. Instead, an embedded database providing quick access to data is more desirable. Keep in mind, though, that the embedded universe is very diverse. One embedded application might need to store a large amount of data, but req uire a small amount of memory. Another might require only a small amount of storage. Flexi bility while minimizing resource consumption and administration requirements is nece ssary in the embedded DBMS market. Enter Empress Clearly, the success factors for an embedded databa se solution differ from classic, enterprise database needs. Projects that require an embedded d atabase need to be able to rely on their vendor’s understanding of their special needs. One successful vendor in the embedded DBMS market i s Empress Software, Inc. Founded in 1979, Empress Software, Inc. is a privately held co mpany that markets the Empress embedded DBMS directly to end-users, as well as through OEMs , VARs, and distributors worldwide. The Empress embedded DBMS offers reliability and po wer within a small footprint as is required for an embedded database. Empress is confi gurable and the footprint of the database depends on the options you need. Deliverin g performance and service within a small amount of memory and disk is the hallmark of the Em press DBMS engine. © 2005, Mullins Consulting, Inc. P a g e 2 Functionality Sometimes technicians unfamiliar with the concept t end to dismiss embeddable solutions as lacking the functionality of a real DBMS, but that is not so with Empress. The Empress DBMS provides the features and functionality that you ha ve come to expect with relational database systems. The full range of data types is available including 3 types of character data, decimal, currency, integer, date, time, and even multimedia data. Indeed, Empress is highly capable of managing the data requirements of demanding applica tions such as weather forecasting, space exploration, flight simulation and geographic al information systems. Empress has also been utilized extensively in more traditional appli cations such as financial and banking systems, ERP systems, and Point of Sale systems. Furthermore, Empress provides data integrity featur es like declarative referential integrity, range check constraints, and triggers that are some times lacking in early or “small” DBMS p r o d u c t s . Empress supports a robust implementation of SQL, as well. Features like outer join, EXCEPT, and INTERSECT, as well as a nice selection of aggre gate and built-in functions make writing SQL in Empress a snap if you are familiar with the SQL implementation of other popular SQL DBMS products. And you can access your Empress data using your fav orite language, too. Empress supports a variety of different APIs in several programming la nguages, providing developers with flexibility and choice. APIs are available for Java , C, C++, HTML, and Fortran. And for C programming, there are multiple APIs from which to choose. Applications developed using these APIs may be run in standalone and/or server m o d e s . To assist with embedding your Empress databases, yo u can choose to use the optional Embedded Real-Time (ERT) Toolkit. The ERT Toolkit i s a C language API that simplifies development by providing a number of abstract data objects in Empress. Resource Requirements Keeping in mind the requirements for an embedded da tabase, low resource consumption is important. Empress is highly modular; its footprint size depends on the host operating system and the options chosen for each Empress implementat ion. Indeed, Empress can work inside as little as 1MB memory. Keep in mind that a non-embed dable DBMS will require many megabytes at startup to store the database kernel, as well as to satisfy its caching and buffering requirements. Of course, additional memory can improve performanc e of certain applications. In keeping with the flexibility required of embedded applicati ons, Empress offers a utility that lets users enhance performance using Shared Memory, an operati ng system feature that allows several processes to share a specified section of main memo ry. By using Shared Memory to reduce file I/O, database performance can be improved. You can even set up your Empress embedded databases to enable dirty reads. This can speed up performance by reading data from the database wi thout any concern for locking. Of course, this can also cause data integrity problems because the “dirty” reader may be reading data that is not committed and stored in the databa se. This is not the place to get into a long discussion of dirty reads (sometimes called “uncomm itted reads”); suffice it to say that supporting such a feature furthers the assertion th at Empress is indeed a full-function DBMS, even if it is embeddable. Administrative Features Empress eschews artificial constraints on the embed ded databases you will need to support. Basically, sizes are limited only by the availabili ty of virtual memory on your system and the constraints of your operating system, file systems, and hardware. To cite an example, a single Empress database can occupy an entire file system – or it can span several file systems if need b e . As we discussed in the introduction to this review, embedded solutions mandate that minimal database administration and system management be re quired. But in keeping with the flexibility theme, Empress offers database administ ration parameters and system variables to exert some control the Empress environment. Using t hese parameters and variables the DBA © 2005, Mullins Consulting, Inc. P a g e 3 can specify things like block size, logging require ments, and instrumentation details using the DBA parameters; and configuration details like dire ctory and file locations, date format, and other aspects of operational behavior using the sys tem variables. But in-depth monitoring and tweaking of the parameters is not required such as in many of the classic enterprise DBMS products. The goal is “set it and forget it” with t h e s e . Empress also offers additional utilities for easing administration, including tasks for controlling database creation, database integrity c hecking, and so on. There are, of course, utilities for moving data, as well as backing data up and recovering it. Empress is, after all, a full function DBMS. Furthermore, if you need to rep licate data from one database to another, the Empress Replication Server provides powerful features for distributing data from a source database to target database(s).
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages4 Page
-
File Size-