Editor's Note: DMReview.com welcomes Edward Peters as an online columnist who will discuss connectivity in the enterprise. His Data Access as a Business Asset column will appear on the first Friday of every month.
In a time of reduced budgets, it’s tempting to try to cut corners by using free database drivers. They appear to be the ideal solution for data connectivity, provided free of charge by the database vendors themselves.
But is "free" the best approach? Or are you putting your applications and thus, your business at risk?
Before investing development time in any driver, measure its capabilities in these five areas to settle the free vs. buy debate for yourself.
If performance matters, you may have invested in the latest database technology and powerful server hardware. But these won’t do much good if the connectivity between the application and the database is slow, inefficient or error prone.
Have your developers check out drivers for performance features such as tuning options that control the amount of data sent across the network. Is the driver architected for performance, communicating directly with the database server? Or does it rely on database client libraries or networking software, adding an extra layer of communication?
Performance considerations will be especially important for applications that support large numbers of users, are query intensive, move large chunks of data or make extensive use of stored procedures.
The benefits? Using proven drivers, you can connect your applications to virtually any database and get the reliability, scalability and performance that you need. Commercial software vendors see the benefit when their customers get high quality data connectivity right away, without configuration, deployment or support headaches.
Corporate developers can eliminate the time-consuming guesswork of connecting applications to databases, enabling faster project deployments with fewer support challenges.
Standards such as ODBC and JDBC exist so that software developers can write applications to an accepted specification rather than a vendor's proprietary interface. Standards allow programmers to use SQL statements without having to know the proprietary interfaces to each database. This permits maximum interoperability, so that a single application can access multiple database types and versions.
A developer can develop, compile and ship an application without targeting a specific database. Users can then access the database of their choice, without regard for the underlying database commmunicatios protocol.
Be sure to look for database drivers that are compliant with the most recent version of a standard specification, and those that have the ability to upgrade and evolve with the industry standards.
The benefits? Drivers that support the latest database versions and latest evolutions of connectivity standards give developers the most flexibility, and enable the creation of higher performing, more scalable and more feature-rich applications.
Comprehensive Interoperability, Flexibility and Database Support
If your software must support multiple data sources or if you’re averse to getting locked into a particular version of a database, review a driver’s database support carefully.
Drivers provided for free from database vendors lock you into a specific database target and provide only limited support for past versions of that database. This forces additional development effort and increases software maintenance and support costs.
Investigate both the breadth and depth of the database support. Is the driver built on a common architecture that works across all major databases? Does the driver support all the features of the most current database version, such as new data types? Would a database-independent driver provide a greater degree of flexibility?
In addition, consider the driver’s support for operating systems. Full support for multiple operating environments, including Windows, UNIX and Linux, allows greater flexibility for custom and commercial applications
The benefits? Software developers are not tied to one database vendor, ensuring portability across multiple platforms with minimal hand coding or customization. Remember, you are looking for consistent behaviors across platforms, anything less is both costly and troublesome.
Investing in a high-quality driver will protect your organization against unnecessary downtime and increased support and maintenance costs. Tools for testing and debugging should be included in the database driver’s software developer’s kit (SDK).
The drivers themselves should go through rigorous testing for all the databases, connection types and platforms they support. Look for providers that follow extensive testing procedures that include appropriate standardized testing, such as an extensive ODBC Verification Suite or J2EE certification tests.
The benefits? Software developers can eliminate cycles of fixes and quality-control releases to deliver better software the first time.
Deployment and Support
Once your application is complete, will it be deployed to hundreds of users or to multiple locations? You’ll want drivers that don’t require database client software for a smaller footprint and easier deployment.
If your application is a commercial software product, beware of license restrictions that prevent software vendors from redistributing some free database drivers.
No matter how carefully you choose your database drivers, there will be times when you need technical support. If you’re using free database drivers, it is unlikely the provider’s support organization is focused on these products.
Technical support should be provided by data connectivity experts well versed not just in their own products but also in multiple databases and APIs. The best support organizations will provide a variety of support options, including live and online support.
The benefits? You can be assured of 24x7 support for your software projects, helping you to create the best possible product for your business needs.
If your applications are widely deployed or if performance and flexibility are important, third-party data connectivity is a far better value over the long term, providing substantial improvements in performance, scalability, quality and security. By integrating a proven, comprehensive database driver as the lynchpin between data and applications, you can create better software faster.
Third- party database driver vendors focus solely on data connectivity, offering functionality absent from built-in drivers, while fusing more energy into features, performance and product support. They offer increased speed of connectivity; adhere to all compliance standards; provide faster, more personal support; and most importantly, ensure a more fundamentally secure environment.
By measuring database drivers against the five areas outlined above, you will have a better idea whether free drivers will save you money, or if they’ll actually cost more in lost performance, productivity and profitable software development.
Register or login for access to this item and much more
All Information Management content is archived after seven days.
Community members receive:
- All recent and archived articles
- Conference offers and updates
- A full menu of enewsletter options
- Web seminars, white papers, ebooks
Already have an account? Log In
Don't have an account? Register for Free Unlimited Access