Enterprise Reporting: Couchbase N1QL, ODBC and JDBC

20
Enterprise Reporting Visualization, BI and ETL with Couchbase N1QL, ODBC and JDBC October, 2014

Transcript of Enterprise Reporting: Couchbase N1QL, ODBC and JDBC

Page 1: Enterprise Reporting: Couchbase N1QL, ODBC and JDBC

Enterprise ReportingVisualization, BI and ETL with

Couchbase N1QL, ODBC and JDBCOctober, 2014

Page 2: Enterprise Reporting: Couchbase N1QL, ODBC and JDBC

• Worked in data access space for seven years• ODBC, JDBC, ADO.NET, ODBO, XMLA

• Core developer for the current generation of Simba’s data access technologies

• Collaborated at an Engineering Level with Simba ISV Customers to design and implement data drivers that are today being shipped world wide

Kyle at a glance

Page 3: Enterprise Reporting: Couchbase N1QL, ODBC and JDBC

• Simba connects people to data.• HQ’ed in Vancouver, BC.• 100ish employees.• Founded in 1991.• In 1992, Simba co-authored the original ODBC standard with Microsoft.• Simba produces the SimbaEngine® SDK and drivers for the leading

data sources on multiple platforms.

Simba Technologies at a glance

Page 4: Enterprise Reporting: Couchbase N1QL, ODBC and JDBC

Simba Technologies at a glance

Page 5: Enterprise Reporting: Couchbase N1QL, ODBC and JDBC

Simba Technologies at a glance

Page 6: Enterprise Reporting: Couchbase N1QL, ODBC and JDBC

• Partnership to create ODBC and JDBC drivers• ODBC 3.80• JDBC 3.0 and 4.0

• Allow easy access to data within Couchbase from your favourite BI and ETL tools

Simba & Couchbase

Page 7: Enterprise Reporting: Couchbase N1QL, ODBC and JDBC

• Couchbase and Simba Technologies have partnered: Simba is building high-performance ODBC and JDBC Drivers for Couchbase.

• After completion, Simba and Couchbase will maintain and support the drivers and Simba will license the Drivers to Couchbase Customers.

• Why do you need ODBC and JDBC Drivers for Couchbase?

Simba & Couchbase

Page 8: Enterprise Reporting: Couchbase N1QL, ODBC and JDBC

• Full support for ODBC 3.80• Cross-platform:

• Full 32- and 64-bit support• Comprehensive Unicode support• Full SQL and N1QL support

ODBC Driver

Page 9: Enterprise Reporting: Couchbase N1QL, ODBC and JDBC

• JDBC 3.0 and 4.0• Type 4 JDBC driver• Full SQL and N1QL support• Extensive API support• Not limited to small subset

JDBC Driver

Page 10: Enterprise Reporting: Couchbase N1QL, ODBC and JDBC

What is an ODBC / JDBC Driver?

Page 11: Enterprise Reporting: Couchbase N1QL, ODBC and JDBC

• Simba ODBC or JDBC layer• Handle standard API calls and translate to Data Store Interface

• Simba SQL Parser• Translates SQL into equivalent N1QL

• Data Store Interface• Custom to communicate with Couchbase

Architecture

Page 12: Enterprise Reporting: Couchbase N1QL, ODBC and JDBC

• Communicates with Couchbase using REST• Interprets schema to create relational metadata for JSON• Does actual conversion of JSON data to relational data

Data Store Interface

Page 13: Enterprise Reporting: Couchbase N1QL, ODBC and JDBC

• Couchbase is NoSQL• No schema

• ODBC and JDBC are SQL• Expect a fixed schema

• Must map from schema-less data to a fixed schema

Relational Model

Page 14: Enterprise Reporting: Couchbase N1QL, ODBC and JDBC

• SQL• Catalog, Schema, Table

• Couchbase• Pool, Bucket

Catalog => PoolTable => Bucket

Relational Model

Page 15: Enterprise Reporting: Couchbase N1QL, ODBC and JDBC

Sample JSON Document:{“Id” : 1, “Name”: “Tom”, “Values” : [V1,V2]}

Simple Flattening

Id Name Values[0] Values[1]

1 Tom V1 V2

Page 16: Enterprise Reporting: Couchbase N1QL, ODBC and JDBC

Sample JSON Document:{“Id” : 1, “Name”: “Tom”, “Values” : [V1,V2]}

Parent

Child

Normalization

Id Name1 Tom

Id ArrayIndex Value

1 1 V1

1 2 V2

Page 17: Enterprise Reporting: Couchbase N1QL, ODBC and JDBC

• Provide full SQL-92 support• Aggregations, joins, scalar functions, sub-queries, limits• DDL and DML

• N1QL pass-through• For expert users or N1QL aware applications

THE RESULT ----

SQL and N1QL Support

Page 18: Enterprise Reporting: Couchbase N1QL, ODBC and JDBC

Demo

Page 19: Enterprise Reporting: Couchbase N1QL, ODBC and JDBC

Q & A

Page 20: Enterprise Reporting: Couchbase N1QL, ODBC and JDBC

simba.com