MS SQL Serverを分析ストレージとして使用する場合、特定のパフォーマンス面では特に注意が必要です。

CData Virtuality Server は、 Distributed Joins の実行とORDER BYを使用するために、接続されているすべてのシステムに互換性のあるソート順が必要です。そのため、CData Virtuality Server はデフォルトで、STRINGVARCHARタイプの文字列ソート操作を MS SQL Server にプッシュダウンしないように設定されています。このため、ディスクとメモリーの使用量が増加し、メモリーが十分でない場合はパフォーマンスが低下します。このような場合、CData Virtuality Server はパフォーマンスの低下を避けるためにより多くのローカルリソース(つまり RAM)を必要とします。

MS SQL Server のデフォルト値は以下のとおりです:

Parameter

Default value

supportsOrderByString

FALSE

  • If only sort operations on the first 255 ASCII characters are needed, supportsOrderByString can be set to TRUE;

  • If sort operations on full Unicode are needed, supportsOrderByString needs to be FALSE for correct work of the CData Virtuality Server

OrderByStringConversion

(cast(cast(%s as varchar) as varbinary)

comparisonStringConversion

(%s COLLATE Latin1_General_CS_AS)

Examples

CALL SYSADMIN.createConnection(name => 'dwh', jbossCliTemplateName => 'mssql', connectionOrResourceAdapterProperties => 'host=<host>,port=<port>,user-name=<user-name>,password=<password>');;
 
CALL SYSADMIN.createDatasource(name => 'dwh', translator => 'sqlserver', modelProperties => 'importer.TableTypes="TABLE,VIEW",importer.useFullSchemaName=false,importer.importIndexes=false,importer.schemaPattern=dbo,importer.catalog="DWH_DB,TEST%",importer.defaultCatalog=DWH_DB', translatorProperties => 'supportsNativeQueries=true', encryptedModelProperties => '', encryptedTranslatorProperties => '');;
 
CALL SYSADMIN.setCurrentDWH('dwh', 'dbo') ;;

この分析ストレージでは、"DWH_DB" やパターン"TEST%" に一致するものなど、複数のカタログからデータがロードされます。ただし、テーブルの作成と削除はデフォルトのカタログ"DWH_DB" で行われます。