Analysts' views: Database development

While there are common threads among relational databases, there are also important differences. In addition, the things people want a database to do vary widely as well. Analysts still find this area active and slightly unsettled.

The latest Database Development Survey from Evans Data Corp., for instance, found that the most important criteria for selecting a database are reliability, total cost of ownership and the ability to integrate the database into the existing environment.

Joe McKendrick, an analyst at Evans Data Corp., said many companies have multiple database environments ranging from DB2 and Oracle to emerging products like Open Source MySQL.

Although most of the products are fairly mature, McKendrick advised that it takes "a bit of training and education" to become adept at making use of all their features. "Most of the vendors have education and certification programs to help the process along and to help employees show that they have achieved proficiency," he said.

More particularly, McKendrick said, the vendors have "very good toolsets," which is generally an element in whatever training and skills development they provide.

Among the major vendors, McKendrick said Oracle is probably the most challenging database to learn -- matching its advanced capabilities. And, he added, even a developer who is adept at Oracle will still need help getting up to speed on IBM's DB2. "It takes a lot to move to a different vendor's product line," he said. That is why vendor-specific skills are at a premium in the marketplace.

But McKendrick noted that it is not all technical skills. Developers must also have business skills and the ability to work with other IT areas. "The ability to translate applications for a Web environment and deploy Web services is part of that," he noted. Database security is another area where companies are putting extra effort, he said.

Over the next few years, suggested McKendrick, Web services may come to have a much greater role in database deployments. "The ability to package components as Web services and expose them to internal and external environments is key," he said. Fortunately, he added, vendors are increasingly building this capability into their offerings.

Carl Olofson, program director for information management and data integration software at Framingham, Mass.-based analyst firm IDC, agreed with McKendrick that knowing how the database will be used is the first order of business.

One response to that has been that many larger organizations are breaking the task of development down further, with one team responsible for data design and the other doing the actual coding. "They may be drawn from the DBA group, a separate data analysis group or they may be part of a development organization," he added. Olofson said practice varies widely: Small organizations often require individuals to wear multiple hats, while larger organizations sometimes distinguish between development and maintenance DBAs. In practice, Olofson said, the development team often comes up with the SQL code and then the DBAs take responsibility for improving it. "The DBAs often end up knowing more about these apps than the development people," he said.

"The main thing for those developing database applications is to understand the data model so that they know what the relevant tables are and how to access them efficiently and process the information," said Olofson. That implies a grasp of all aspects of the infrastructure, he said. For instance, he noted, "You aren't really aware of disk issues at the SQL level, but you can and should infer things." Olofson said the picture on the tool front is similar to that in any area of software. Often the smaller upstarts -- in this case the third-party tool vendors -- are the first to identify problems and provide solutions. However, he explained, "In recent years database vendors have become more active in providing tools of their own, which are often quite capable.

"They are driven by a desire to increase customer happiness and thereby increase the use of their database product. If they can make it easier to write more applications, that's what they'll do," he said.

Olofson said some issues, such as security (which is getting more attention everywhere in IT) and the ability to master heterogeneity, are important but still do not get enough attention from either vendors or developers. For instance, he said, there is growing demand for the ability to access databases across multivendor infrastructures. "Most vendors will let you access across multiple databases -- if they are the vendor for all the databases," he said. Accessing data between differing databases, though, is still in its infancy, he noted.

On the security side, Olofson recommended having a uniform scheme such as single sign-on. "Particularly with database apps, you want a means of ensuring that a user's ID can be used for all the levels of access at or below their particular level of authority to launch the application and perform necessary operations," he said.

Taking a slightly different tack, Betsy Burton, an analyst at Gartner Inc., Stamford, Conn., contended that the dividing lines between general application development and database development are fading because "there is very little application development anymore that doesn't include databases."

Given what she sees as the increasing ubiquity of databases, Burton gave some pointed recommendations. "It is a mistake of upper management and a mistake from an organizational point of view to look at DBAs and developers as completely different disciplines," she said. Indeed, "the development of applications and the development of databases is so intermingled that today I would suggest most developers already know a lot about databases. Developers know this, but management doesn't," she added.

Burton said the good news is that a vast range of development tools can help developers, no matter their level of experience. Some are focused on databases, while others are of a more generic nature. However, the bad news is that they are not necessarily integrated with the database out of the box. Other tools can help with the challenge of optimization. But to master optimization, it is critical for developers to understand relational theory, she added.

Related article: "DB design and app development: Why can't we be friends?" by Alan R. Earls

About the Author

Alan R. Earls is a technology and business writer based near Boston.