enterprise reporting: couchbase n1ql, odbc and jdbc
Post on 16-Jan-2017
63 Views
Preview:
TRANSCRIPT
Enterprise ReportingVisualization, BI and ETL with
Couchbase N1QL, ODBC and JDBCOctober, 2014
• 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
• 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
Simba Technologies at a glance
Simba Technologies at a glance
• 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
• 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
• Full support for ODBC 3.80• Cross-platform:
• Full 32- and 64-bit support• Comprehensive Unicode support• Full SQL and N1QL support
ODBC Driver
• 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
What is an ODBC / JDBC Driver?
• 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
• 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
• 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
• SQL• Catalog, Schema, Table
• Couchbase• Pool, Bucket
Catalog => PoolTable => Bucket
Relational Model
Sample JSON Document:{“Id” : 1, “Name”: “Tom”, “Values” : [V1,V2]}
Simple Flattening
Id Name Values[0] Values[1]
1 Tom V1 V2
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
• 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
Demo
Q & A
simba.com
top related