The OLEDB provider for Apache Cassandra features a rich set of interfaces and metadata along with fast and asynchronous operations. It uses CQL3 and v1.2 binary protocol for most underlying operations, and for some operations like the bulk data loading – it uses thrift. Here is a short description of the main features:
The OLEDB provider offers one of the most versatile and powerful metadata. The following OLEDB schemas are available: TABLES, VIEWS, COLUMNS, INDEXES, PROVIDER_TYPES, SCHEMATA, PRIMARY_KEYS, FOREIGN_KEYS, TABLE_PRIVILEGES, COLUMN_PRIVILEGES, etc.
The OLEDB provider supports connect timeout, pooling, SSL, and multiple connections to the Cassandra ring.
Bulk insert and FastLoad
It supports both the “regular” and the “fast” bulk loading of data into Cassandra. The “regular” method is based on using prepared statements, and it is relativeliy easy to use. The other method uses thrift streams to upload data to the ring with maximum performance. The method requires additional configuration parameters to work.
Since Cassandra does not support transactions, the provider uses BEGIN BATCH when StartTransaction is called, and APPLY BATCH when Commit is called. Aborting a transaction results in cancelling all commands between StartTransaction and Abort.
The OLEDB provider supports command-prepare, command-cancel, and parameters conversion. The parameters conversion allows an application to pass parameters of types that are different from what CQL expects, and the provider will automatically convert the parameters to what Cassandra expects. Multiple parameter sets and named parameters are not supported,
Multiple result sets
The OLEDB provider supports execution of multiple semicolon separated statements.
Collection types support
The list, map and set columns can be queryed, altered and deleted via the provider. Detailed examples are available for C# and C++.
CQLSH commands support
The OLEDB provider recognizes and handles CQLSH commands such as DESCRIBE and COPY.
The OLEDB provider supports asynchronous connect and records querying by exposing IDBAsynchStatus and ISSAsynchStatus interfaces.
Integration with Microsoft BI tools and other popular applications
The provider integrates well with BI Tools(SSIS, SSAS, SSRS), Office(Excel, Visio), and other popular applications and platforms (Crystal Reports, QlikView, etc.)
Tracing and profiling
The tracing and profiling application allows collecting and storing information about all statements executed via the OLEDB provider.
Example of connection string
The following string can be used to connect to the local instance of Cassandra:
Provider=CASO.1;Data Source=localhost;Initial Catalog=OpsCenter;User ID=;Password=;Extended Properties=”PORT=9042;COMMAND_TIMEOUT=900;SSL=OFF;”