Open Database Connectivity (ODBC) is an open standard Application Programming Interface (API) for accessing a database. In 1992, Microsoft contracted Simba to build the world’s first ODBC driver; SIMBA.DLL, and standards-based data access was born. The ODBC standard enables maximum interoperability thereby enabling application developers to write a single application to access data sources from different vendors. In addition to the ODBC software, a separate module or driver is needed for each database to be accessed.
ODBC has become the de-facto standard for standards-based data access in both relational and non-relational database management systems (DBMS). ODBC is based on the Call-Level Interface (CLI) specifications from Open Group and ISO/IEC for database APIs and uses Structured Query Language (SQL) as its database access language.
Java Database Connectivity (JDBC) is an API to enable a standards-based method to access data using the Java language. As is the case with ODBC, JDBC enables a single JDBC application to access a number of data sources and can run on any machine with a Java Virtual Machine (JVM). The JDBC data standard defines a set of Java interfaces to enable application developers abstract data access functionality including:
- Establish Connection with a data source
- Execute SQL queries
- Process result sets
JDBC Driver Types
1. JDBC-ODBC Bridge:
Allows access JDBC drivers via the JDBC API and translates JDBC calls into ODBC calls and then sends the calls to the ODBC driver.
2. Native API/Partly Java Driver
A partial Java driver that converts JDBC calls into database specific calls and communicates directly with the database server.
3. Pure Java Driver
Works in a three tiered architecture. The JDBC calls are passed via the network to the middle tier server which translates the calls to the database specific native interface to further request the server. JDBC drivers available from Simba are Type 3 and Type 4 drivers.
4. Native Protocol Java Driver
Converts JDBC calls into the database specific calls so that client applications can communicate directly with the server.
ActiveX Data Objects (ADO) is the data access model provided for Visual Basic users to write applications for the Microsoft Windows platform. ADO is also used by VBScript, which is a specialized language that is used primarily to program functionality for web pages. ADO provides a relational view of data through the Connection, Command and Recordset objects.
What is ADO.NET?
An ADO.NET (ActiveX Data Objects for .NET) data provider enables an ADO.NET application to connect to one or more data sources to access data, providing a clean data access model for .NET. It is both familiar to the users of ADO and addresses the .NET world with new objects like the ADO.NET DataSet. ADO.NET has been designed to be the single data access model used by all server processes and applications running on the Microsoft platform.
What is ADOMD?
ActiveX Data Objects Multi-dimensional (ADOMD) provides easy access to multi-dimensional data from Visual Basic. New objects like the CubeDef, Dimension, Cellset, Axis, Level and Member allow Visual Basic programmers to browse schemas, query a cube and retrieve the results.
What is ADOMD.NET?
While ADOMD can be used with .NET through compatibility mechanisms, ADO.NET needs to be extended to incorporate multi-dimensional data concepts.
Online Linking and Embedding Database (OLE DB) is Microsoft’s strategic low-level application program interface (API) for accessing different data sources in a uniform manner. OLE DB includes not only the Structured Query Language (SQL) capabilities of ODBC, but it also includes access to data other than SQL-based. Although it was originally designed as a replacement for ODBC, ODBC and JDBC still continue to be the most widely used standards for data access.
Online Analytical Processing (OLAP) is a method of retrieving answers to complex analytical queries from multi-dimensional data cubes enabling users to conduct analytical reports with quick execution time attributing to business intelligence. In an OLAP data model, information is viewed conceptually as cubes, which consist of quantitative values (measures) and descriptive categories (dimensions) and also deliver information more quickly to end users by preparing some computed values in advance, rather than at execution time.
Advanced visualization is useful for comprehending complex data by displaying it from several dimensions at once using color, shapes, maps, charts, perspective and animation. Visual queries make it easier and faster to navigate and select complex multi-dimensional data in a purely visual way.
OLE DB for OLAP (ODBO)
OLE DB for OLAP (ODBO) is a Microsoft published specification and an industry standard which allows Microsoft Excel speak with multi-dimensional data sources. ODBO extends the ability of OLE DB to access multi-dimensional (OLAP) data stores, allowing users to perform sophisticated data analysis through fast, consistent, interactive access to a variety of data, both relational and multi-dimensional. Standard toolkits such as Simba Technologies’ SimbaProvider SDK allow companies to quickly add ODBO functionality to their products without having to learn the intricate details of COM, ODBO and MDX.[/expand]
[expand title="XML for Analysis (XMLA)"]What is XML for Analysis?
XML for Analysis (XMLA) is a specification for a set of XML message interfaces that use the industry standard Simple Object Access Protocol (SOAP) to define data access interaction between a client application and an analytical data provider working over the Internet. Using a standard API, XMLA provides open access to multi-dimensional data from varied data sources – any client platform to any server platform – through web services that are supported by multiple vendors.
XMLA is designed for thin client/zero footprint architecture requiring fewer round trips between a client and a server, moving analytical applications away from traditional client/server roots towards flexible web-based architecture. The result is faster response times and less intensive demand on resources.
Structured Query Language (SQL) is a standard database computer language used for querying, modifying and managing data in Relational Database Management Systems (RDBMS). SQL is considered to be the foundation of conventional data management, business intelligence and analytics.
Leading Independent Software Vendors (ISVs), such as Microsoft, Oracle and Teradata have invested heavily to bring SQL-based products to market that are deployed throughout the world.
Users require data connectivity drivers to access SQL data and provide actionable insight and business intelligence based on data. Simba Technologies provides the industry’s leading solution to add SQL functionality to proprietary or non-relational data sources and build industry standard data drivers, based on ODBC, JDBC, OLE DB and ADO.NET.
MDX / mdXML
Multi-dimensional Expressions (MDX) is the most widely supported query language to date for reporting from multi-dimensional data stores. It is defined within the OLE DB for OLAP (ODBO) standard by Microsoft. In today’s Business Intelligence (BI) marketplace, most OLAP servers and almost all BI clients talk MDX.
mdXML is based on the MDX language. Whereas MDX is language specific to the ODBO specification, mdXML is language independent and takes better advantage of XML for Analysis (XMLA). mdXML is the linguistic interface that will be specified in version 2.0 of the XMLA specification.
With MDX / mdXML, a robust set of functions makes accessing multi-dimensional data easier, more intuitive and using nearly any number of dimensions using MDX / mdXML. It has the power to help answer complex real world business questions and because of its flexibility is used for practical, results-based business intelligence.