Apache Kafka JDBC Driver

Read, Write, and Update Kafka through JDBC

Easily connect live Apache Kafka data with Java-based BI, ETL, Reporting, & Custom Apps.


  download   buy now

Other Technologies


Kafka Logo

The Kafka JDBC Driver enables users to connect with live Kafka data, directly from any applications that support JDBC connectivity. Rapidly create and deploy powerful Java applications that integrate with Apache Kafka.

Features

  • SQL access to Apache Kafka platforms
  • Enables SQL-92 capabilities on Apache Kafka NoSQL data.
  • Flexible NoSQL flattening - automatic schema generation, flexible querying etc.
  • Connect to live Apache Kafka data, for real-time data access
  • Full support for data aggregation and complex JOINs in SQL queries
  • Secure connectivity through modern cryptography, including TLS 1.2, SHA-256, ECC, etc.
  • Seamless integration with leading BI, reporting, and ETL tools and with custom applications

Specifications

  • JDBC Driver for Kafka with bi-directional access.
  • Write SQL, get Apache Kafka data. Access Kafka through standard Java Database Connectivity.
  • Codeless integration with popular BI, Reporting, & ETL Tools.
  • Integrate Java Apps with Kafka Topics, and more!
  • Full Unicode support for data, parameter, & metadata.
  • Support for 32-bit and 64-bit operating systems.


AVAILABLE IN:
JDBC DESKTOP SUBSCRIPTIONS
200+ JDBC Drivers For Real-Time BI & Reporting.
LEARN MORE

Where can I use the Apache Kafka JDBC Driver?

JDBC Access to Apache Kafka

Full-featured and consistent SQL access to any supported data source through JDBC


  • Certified Compatibility*

    Our drivers undergo extensive testing and are certified to be compatible with leading analytics and reporting applications like SAP Crystal Reports, Pentaho, Business Objects, Crystal Reports and many more.

  • Metadata Discovery

    Full support for JDBC DatabaseMetaData provides extensive schema discovery capabilities. Explore tables, columns, keys, and other data constructs based on user identity.

  • Developer Friendly

    Design-time support for all major Java IDEs, including Eclipse, IntelliJ, and NetBeans.

  • JDBC Remoting

    Our exclusive remoting feature allows hosting the JDBC connection on a server to enable connections from various clients on any platform (Java, .NET, C++, PHP, Python), using any standards-based technology (ODBC, JDBC, etc.). JDBC Remoting is enabled using the popular MySQL wire protocol server.

  • Replication and Caching

    Our replication and caching commands make it easy to copy data to local and cloud data stores such as Oracle, SQL Server, Google Cloud SQL, etc. The replication commands include many features that allow for intelligent incremental updates to cached data.

  • String, Date, Numeric SQL Functions

    The driver includes a library of over 50 functions that can manipulate column values into the desired result. Popular examples include Regex, JSON, and XML processing functions.

  • Collaborative Query Processing

    Our drivers enhance the data source's capabilities by additional client-side processing, when needed, to enable analytic summaries of data such as SUM, AVG, MAX, MIN, etc.

  • Easily Customizable and Configurable

    The data model exposed by our JDBC Drivers can easily be customized to add or remove tables/columns, change data types, etc. without requiring a new build. These customizations are supported at runtime using human-readable schema files that are easy to edit.

  • Secure Connectivity

    Includes standard Enterprise-class security features such as TLS/ SSL data encryption for all client-server communications.

JDBC Driver Performance

With traditional approaches to remote access, performance bottlenecks can spell disaster for applications. Regardless if an application is created for internal use, a commercial project, web, or mobile application, slow performance can rapidly lead to project failure. Accessing data from any remote source has the potential to create these problems. Common issues include:

  1. Network Connections - Slow network connections and latency issues are common in mobile applications.
  2. Service Delays - Delays due to service interruptions, resulting in server hardware or software updates.
  3. Large Data - Intentional or unintentional requests for large amounts of data.
  4. Disconnects - Complete loss of network connectivity.

The CData JDBC Driver for Apache Kafka solves these issues by supporting powerful smart caching technology that can greatly improve the performance and dramatically reduce application bottlenecks.

Smart Caching

Smart caching is a configurable option that works by storing queried data into a local database. Enabling smart caching creates a persistent local cache database that contains a replica of data retrieved from the remote source. The cache database is small, lightweight, blazing-fast, and it can be shared by multiple connections as persistent storage.

Caching with our JDBC Drivers is highly configurable, including options for:

  • Auto Cache - Maintain an automatic local cache of data on all requests. The provider will automatically load data into the cache database each time you execute a SELECT query. Each row returned by the query will be inserted or updated as necessary into the corresponding table in the cache database.
  • Explicit Cache - Cache only on demand. Developers decide exactly what data gets stored in the cache and when it is updated. Explicit caching provides full control over the cache contents by using explicit execution of CACHE statements.
  • No Cache - All requests access only live data and no local cache file is created.

This powerful caching functionality increases application performance and allows applications to disconnect and continue limited functioning without writing code for additional local storage and/or data serialization/deserialization.

More information about JDBC Driver caching and best caching practices is available in the included help files.

Enterprise-Class Remoting

MySQL/SQL Database entry points for Apache Kafka Data

The CData JDBC drivers include powerful fully-integrated remoting capabilities that makes Apache Kafka data accessible from virtually anywhere. The drivers include the optional ability to accept incoming SQL and MySQL client connections and service standard database requests.

With the CData JDBC drivers, users can interact with Apache Kafka data from any client that supports SQL Server or MySQL: from web & mobile applications, to CRM and CMS systems, BI tools like SQL Server Analysis Services, and even through popular management applications like MySQL Workbench.

  • Access Apache Kafka data from virtually any application that can access external data. Applications that can access SQL Server or MySQL data can now connect to Apache Kafka with this driver.
  • Connect Apache Kafka data with popular BI tools like SQL Server Analysis Services.
  • Enable enterprise Apache Kafka data integration through SQL Linked Server connectivity
  • Includes support for the MySQL and SQL (TDS) remote access protocols - industry standards for remote database connectivity.
  • Offers advanced wire-protocol SSL security for remote connectivity


Enterprise-class JDBC Connectivity

The Apache Kafka JDBC Driver offers the most natural way to access Kafka data from any Java/J2EE application. Simply use the Apache Kafka Driver to connect and access data just as you would access any traditional database. The driver is completely self-contained - no additional software installation is required!

Kafka Integration

The Apache Kafka Driver has the same JDBC architecture as the JDBC drivers for MySQL and OLEDB, including Connection, Statement and ResultSet objects. Because of this you can now access Kafka data in an easy, familiar way. You can use the Apache Kafka Driver through popular IDEs (Eclipse, IntelliJ, NetBeans, etc.), in code through familiar classes, and in data controls available through Swing, Eclipse SWT Widgets, etc.

For example:

Connection conn =
	DriverManager.getConnection("jdbc:kafka:user=myuseraccount;password=mypassword;");

boolean ret = stat.execute("SELECT * FROM Topics");
ResultSet rs=stat.getResultSet();
while(rs.next()){
  for(int i=1;i<=rs.getMetaData().getColumnCount();i++)
  {
    System.out.println(rs.getMetaData().getColumnName(i) +"="+rs.getString(i));
  }
}


More Than Read-Only: Full Update/CRUD Support

Apache Kafka Driver goes beyond read-only functionality to deliver full support for Create, Read Update, and Delete operations (CRUD). Your end-users can interact with the data presented by the Apache Kafka Driver as easily as interacting with a database table.

Connection conn =
	DriverManager.getConnection("jdbc:kafka:user=myuseraccount;password=mypassword;");

String query = "UPDATE Topics SET Where= ...";

PreparedStatement pstmt = conn.prepareStatement(query);
pstmt.setString(1, "Location");
pstmt.setString(2, "UID");
pstmt.execute();
int count=pstmt.getUpdateCount();

Frequently Asked Kafka JDBC Driver Questions

Learn more about Kafka JDBC drivers for data and analytics integration


Yes, Kafka can be used with Java . CData provides a JDBC type 4/5 driver for Kafka that allows Java applications to connect to Kafka using standard JDBC APIs. This driver enables you to execute SQL queries, manage connections, and process data stored in Kafka from Java, or any Java-based application that supports JDBC.

Not natively. However, CData offers a JDBC driver for Kafka that allows you to connect to Kafka data from any Java-based application that supports JDBC, just like you would access a traditional database. This can be useful for tasks like:

  • Accessing Kafka from applications: Connect to Kafka data in popular tools and applications including Informatica, Talend, Apache Spark, Apache NiFi, and many others.
  • Real-time data: You can work with live Kafka data within these applications, enabling tasks like reporting and analysis.
  • Connecting systems: Build data integrations between Kafka and other systems.

The Kafka JDBC driver is a pure Java type 4/5 driver with comprehensive ANSI SQL-92 support. This means that virtually any application that can connect to data via JDBC, can use the CData JDBC driver for real-time integration. Download a fully functional free trial of the Kafka JDBC driver today to get started.

Yes, the CData JDBC driver for Kafka provides universal JDBC data connectivity for Kafka. The Kafka JDBC driver offers a simple SQL-based layer of abstraction that simplifies real-time data access for users and applications, enabling them to communicate with Kafka using a standardized set of functions. Virtually any application on any platform can use the CData JDBC driver for real-time integration.

Connectivity to Kafka via JDBC is easy. First, download and install the Kafka JDBC driver.

Once the installation is complete, navigate to the JDBC driver documentation page. Here, you'll find a wealth of information about the installed driver. The step-by-step instructions for creating a DSN and using it to connect to Kafka via JDBC are just the beginning. The documentation also provides extensive configuration details for using the Kafka JDBC driver with all your favorite applications and development tools, ensuring you have all the support you need.

All of the CData JDBC drivers, including the Kafka JDBC driver are available for download online. To get started, download a fully functional free trial of the Kafka JDBC driver today.

To install the Kafka driver, simply download one of the Kafka JDBC driver installers available online. The installers are comprehensive setup utilities that will install all the components required to use the Kafka JDBC driver on your system.