cfxdx is a comprehensive data exchange and analytics framework which allows to integrate with many datasources. It is also a foundation for CloudFabrix's data integration architecture.
cfxdx supports integrating with many datasources and allows you to exchange the data between them in bi-directional way. That means, it can ingest the data from a datasource, tranform it and can also write the same or transformed data to another datasource.
The above figure shows some of the many datasources cfxdx can integrate with and not limited to. There are three main components for cfxdx:
cfxql - CloudFabrix's query language is a data query language similar to SQL (Structured Query Language).
cfxdm - CloudFabrix's data management, which provides no-code mechanism which allows the user to analyse and transform the data into a format that is acceptable for consumption.
cfxdc* - CloudFabrix's data caching (currently under beta)
The cfxdx framework is extensible which allows users to develop additional datasource integrations. More on how to do this will be covered as part of developer documentation.
Extension: A Python package that delivers one or more plugins and registers with cfxdx. Extension packages have the name prefix 'cfxdx_ext_'. It is also referred as datasource.
Plugin: A Python code that can provide list of tags and provide data for each.
Tag: A tag is a named dataset or data sink, that is offered by a source plugin. Each tag has one of the following special characters as a prefix:
# : Tag is source filtered. It means, the data queries and filters are applied while querying the data from datasource.
* : Tag is destination filtered. It means, the data queries and filters are applied after retriving the complete data from datasource. It is not an efficient approach, however it can be used if the datasource do not support filetring capability at source while querying the data.
@: API End point. This dataset is a wrapper for an API offered by datasource.