DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Please enter at least three characters to search
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

Because the DevOps movement has redefined engineering responsibilities, SREs now have to become stewards of observability strategy.

Apache Cassandra combines the benefits of major NoSQL databases to support data management needs not covered by traditional RDBMS vendors.

The software you build is only as secure as the code that powers it. Learn how malicious code creeps into your software supply chain.

Generative AI has transformed nearly every industry. How can you leverage GenAI to improve your productivity and efficiency?

Related

  • Split the Monolith: What, When, How
  • JDBC Tutorial Part 1: Connecting to a Database
  • Monitoring Postgres on Heroku
  • Apache Spark for the Impatient

Trending

  • AI Agents: A New Era for Integration Professionals
  • Securing the Future: Best Practices for Privacy and Data Governance in LLMOps
  • Useful System Table Queries in Relational Databases
  • System Coexistence: Bridging Legacy and Modern Architecture
  1. DZone
  2. Data Engineering
  3. Data
  4. Database Drivers: Chauffeuring Your Data to Where it Needs to Go

Database Drivers: Chauffeuring Your Data to Where it Needs to Go

Drivers and standard interfaces enable users to connect to their favorite BI and analytics tools. Find out more!

By 
Margo McCabe user avatar
Margo McCabe
·
Nov. 17, 20 · Analysis
Likes (4)
Comment
Save
Tweet
Share
9.1K Views

Join the DZone community and get the full member experience.

Join For Free

Most, if not all, companies deal with complications and integration headaches somewhere in their data pipeline due to an inability or difficulty of connecting certain systems. Sometimes you have to add yet another technology to the lineup just to connect different systems and get your data to where it needs to go. However, in this modern-day, less is more. Most technologies that emerge are all about being more efficient and providing more functionality in a smaller package. If you can meet your data management needs with fewer tools, then it’s a win-win for cost-effectiveness, efficiency, and ease of use. Enter database drivers.

The Magical Adaptors

To put it plainly, each computer system needs some sort of adaptor or tool to be able to connect to other computer systems that are not the same. You can think about this in the physical or interior (computer system) sense. For a physical example, we all know the major frustration that comes along with upgrading your phone, when your chargers and headphones no longer fit in the ever-shrinking port on the bottom of the phone. However, you can buy an adapter to serve as a “middle man” to enable the connection. With computer systems, it’s the same but different. A database driver works like that physical phone adaptor, but instead of having to invest in an additional product to add to the tech stack, you can develop an adaptor/connector to extend the database functionality. Like an extension to a software package.

Usually, the database vendor themselves will provide drivers, which is a smart business move considering it provides ease of use and increased accessibility to their product. Companies might develop these drivers in-house or employ an outside resource to do the development work. The good news is, once the drivers are built, they are simple to work with and can be used in many different integrations. Drivers and standard interfaces enable the user to connect to their favorite BI (business intelligence) and analytics tools, so you won’t have to learn a new system just to work with a new database.

Consider this explanation of database drivers provided by jdatalab:
“Similar to connecting a printer to a computer by using a printer driver, a DBMS (database management system) needs a database driver that enables a database connection in other systems. The driver works like an adaptor which connects a generic interface to a specific database vendor implementation. [For example] To make a database connection in a Java application, we need a JDBC (Java Database Connectivity API), driver. To connect with individual databases, JDBC requires drivers for each specific database type.”

So, the specific driver needs to match the language of the destination system so that the database can speak with and understand the information being transmitted. You can choose from drivers such as JDBC and ODBC based on the language protocol and specs of the application you need to connect to. A driver provides a standardized protocol on one side (such as JDBC or ODBC) for applications to connect with, and a specialized protocol on the other side to speak the appropriate database language. Effectively serving as a translator between the two applications. Under the cover, the database driver converts the language it receives to a language that the application will understand in real-time. Standardized drivers and add-ins make it easy to integrate your databases and applications, such as BI tools, ETL tools, and front end applications. Ultimately drivers make everything a lot easier, so you’re not doing custom development work each time you need to complete a new integration.

Types of Database Drivers and Use Cases

As an example, say you’d like to integrate your Excel docs with your database. Whichever vendor you choose will probably (hopefully) have the correct driver for that. You can download the Excel driver (which they technically call an Add-In) or utilize a generic ODBC connection, and once the connection is complete, you can update the data in your database by editing the Excel spreadsheet, and vice versa! The tables and columns in the database are essentially updating in real-time with the updates in the spreadsheet.

This example can be extended across different types of languages, systems, and applications. An ODBC (Open Database Connectivity) driver, originally developed by Microsoft (and Simba), enables applications to access the DBMS with standard SQL: “Applications call the functions in these drivers to access data in a DBMS-independent manner. A Driver Manager manages communication between applications and drivers.” Even though Microsoft has provided many ODBC drivers for Windows computers, most ODBC drivers today were written by someone else. Anyone can write a driver, and today ODBC drivers and apps exist on Mac and many other UNIX platforms.

Similarly, JDBC drivers can send SQL statements that allow Java applications to interact with the database. There are actually four to five different types of JDBC drivers in use today, depending on the client/server, use case, and integration needs. For example, Tutorials Point explains a 100% Pure Java driver: “A pure Java-based driver communicates directly with the vendor's database through socket connection. This is the highest performance driver available for the database and is usually provided by the vendor itself. This kind of driver is extremely flexible, you don't need to install special software on the client or server. Further, these drivers can be downloaded dynamically.”

type 4 pure javaImage Source

While JDBC and ODBC may be the most popular, there are many types of database drivers out there. Drivers for connecting to .NET and SSIS, and adaptors for applications like Tableau, OSIsoft PI, and BizTalk. There are many options, and your database vendor should make it simple to choose the correct driver/adaptor for your use case with clear explanations and examples. If you don’t see the driver you need, you might be able to request a custom driver from your vendor or a third party. These drivers really are a wonderful way that database and application companies work together to provide the most seamless user experience possible, so never hesitate to inquire about what you might need for your specific project!

One small side note; another type of tool that database vendors usually provide to create a more developer-friendly experience is SDK’s (software development kits). While drivers enable the connection to other applications, SDK’s provide a guide for writing those applications. An SDK is a “collection of software development tools in one installable package. They facilitate the creation of applications by having a compiler, debugger and perhaps a software framework.” The different types are also based on specific programming languages and the use cases they serve. At first glance, I’m already able to find much more info online about SDK’s than I was about database drivers, but maybe that will have to be the topic of my next article…

Database connection Driver (software) application Data (computing)

Opinions expressed by DZone contributors are their own.

Related

  • Split the Monolith: What, When, How
  • JDBC Tutorial Part 1: Connecting to a Database
  • Monitoring Postgres on Heroku
  • Apache Spark for the Impatient

Partner Resources

×

Comments
Oops! Something Went Wrong

The likes didn't load as expected. Please refresh the page and try again.

ABOUT US

  • About DZone
  • Support and feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends:

Likes
There are no likes...yet! 👀
Be the first to like this post!
It looks like you're not logged in.
Sign in to see who liked this post!