Three questions to ask when building and distributing custom ODBC drivers

Status
Not open for further replies.
S

Sumit Sarkar

Guest
So you want to build an ODBC driver?

Congratulations


First, I want to say congratulations since this project reflects well on the popularity of your data source. As a Systems Engineer, I have worked with numerous shops on this project in each phase from planning, development, testing all the way to production; and I want to share the things that typically go overlooked.

This applies to all the common approaches including:

  • Build your own from scratch
  • Build your own using the DataDirect ODBC SDK
  • Build a published database protocol such as Hadoop Hive, MySQL or Postgres and defer to open source drivers.

Building an ODBC driver is very much like the Harlem Shake. You build a single prototype and it seems to be doing ok, and then the base drops; and you have total chaos ranging from “our largest prospect cannot use open source driver managers on Linux” to “a request for a 64-bit AIX client the very next day for Informatica PowerCenter”.

If you’ve never seen a Harlem Shake, our friends at Plex Systems produced one, along with great ODBC connectivity:


1. Does the ODBC driver support Unix/Linux?


When you build a Unix/Linux ODBC client, there are a lot of things to consider upon releasing a driver:

  • What applications does your user base need connectivity from today versus future use as adoption grows? Perhaps your users are looking to federate data in real-time using the Oracle Database Gateway for ODBC; and down the road they might need direct access from home grown web applications; business intelligence tools (Business Objects, Cognos, OBIEE, Microstrategy, SAS, SPSS, etc); or data integration tools (Informatica PowerCenter, Ab Initio, IBM DataStage, SAP Data Services, etc).
  • From these tools, what if you need to integrate data from multiple sources, for example, big data vendors might care about Netezza, Vertica, Teradata? Will the Unix/Linux ODBC driver manager be able to support your driver alongside third party ODBC drivers?
  • Does using an open source driver manager such as unixODBC or iODBC violate corporate compliance in parts of your user base?
  • What about 32-bit and 64-bit coverage on AIX, Solaris SPARC, Solaris x86, Linux, HP-UX PA-RISC, HP-UX IA64?
2. Will it work with end user applications?


ODBC has been around for decades and there are thousands of applications out there ranging from Microsoft Office and SQL Server to data visualization tools like Tableau, Qliktech or Spotfire. It’s important to choose a codebase that has been battle tested. Here are some things to look out for:


For shops using a published protocol, you can own the end user experience by distributing commercial drivers such as the DataDirect Connect and Connect64 for ODBC Postgres drivers or the Hadoop Ecosystem.

3. How easy is it to release another standards based clients?


As soon as you release an ODBC driver, I guarantee someone will ask for JDBC, OLEDB or ADO.NET that very same day. I am definitely hearing more about JDBC data integration tools such as Pentaho Data Integrator, Talend, and Oracle Data Integrator; as wells as Java web applications.

Who has the foresight to ask all these questions?


We do. And so do these guys: NetSuite, COINS Global, or Hewlett Packard.

Bounce your ideas off us


Download a trial of the DataDirect OpenAccess SDK to address all the questions above, or call 1-888-876-3101 to speak live with an OpenAccess Systems Engineer to share your plans, and learn how other organizations are making progress with DataDirect OpenAccess when building drivers for a wide variety of data sources:

Databases

  • NoSQL
  • NewSQL
  • Graph
  • Document
  • Unstructured Data Sources
  • As-a-service (i.e. Google App engine)
  • Modeling Multi tenant databases
  • Private DB Clouds

Application/business logic

  • C/C++, Java, or .NET application logic of for RDBMS
  • Data Service Layers (i.e. Common Data Model Example)
  • ABL or 4GL Languages

SaaS or On-premise Applications

  • NetSuite
  • Google Analytics
  • SAP R/3
  • Oracle EBS
  • Siebel
  • Financial Calculation Engines
  • FORTRAN Applications

File-based data stores

  • C-ISAM, COBOL, BTree, CTree, XML
  • Home grown for fast archiving of lots
    of data
  • Financial Transaction Message files
  • Logs

Continue reading...
 
Status
Not open for further replies.
Top