QlikView Architecture

(4.0)

| 2662 Ratings

QlikView is a popular business discovery platform which allows all the organizational users to do self-services BI. By using QlikView, you can analyze and visualize the data, their relationships, and use those analyses to make decisions. It can retrieve data from various sources along with files and relational databases. If any data source is too large for QlikView memory, then it can directly connect with that data source. QlikView compresses the data and keeps in memory so that multiple users can use it instantly for analysis purpose.

Though datasets are large, QlikView can analyze and grasp the overall picture, find connections between data, and provide insights of data. QlikView works the same way as human brain works. Just like human brain, QlikView also provides associative connections between data getting processed.

Below are some features of QlikView which enables advance reports from multiple data sources rapidly.

As QlikView saves the data in memory, aggregation can be done very rapidly as we don’t need to store pre-computed aggregate values.

QlikView compresses data to its 10% of original size.

QlikView automatically finds relationship between data as soon as data is fed to it. No need to configure relationship between datasets.

Using QlikView, direct and indirect search, both will work consistently due to its data association feature.

Relationships between data items are displayed as colors instead of arrows or lines.

QlikView Architecture

QlikView is a Windows based application. QlikView architecture is separated between different roles. Its front end enable us to visualize the processed data whereas its back end provides security for QlikView documents. It is composed of 3 main components:

QlikView Server

QlikView Publisher

QlikView Desktop

Moreover, it also contains few more components like QlikView Management Console and QlikView User Access. All these components contribute and help QlikView to design and develop applications.

Before digging into its architecture, let us first explore all its components to know how and why they are used

QlikView Desktop

QlikView Desktop is a windows-based and wizard-driven tool through which users can develop QlikView applications GUI and data model. It also facilitates users to manipulate datasets using SQL-like scripting language. Data can be transformed, read, shared between different QlikView applications using QlikView Desktop.

Users can choose their own data representation modes in QlikView Desktop. Files having UI details are saved with .qvw extension. However, if files are not having any UI details then extension of files are changed to .qvd.

QlikView Server

So, to host all the developed QlikView applications, you need a server, which is QlikView Server. Once applications are hosted, then only they are available to end users. QlikView Server communicates between server and client like desktop, web browser or mobile. QlikView Server is responsible for providing datasets from backend to end users.

QlikView Server has many features like data management, security, data distribution, scaling, etc.

QlikView Publisher

QlikView Publisher is utilized as a distribution service, which can retrieve data from various data sources like data files, Informatica, Salesforce etc., and load them into QlikView files (.qvd or .qvw). It distributes .qvw files between different QlikView users and servers. Moreover, it also manages access privileges and authorization.

QlikView Management Console

QlikView Management Console is a web-based interface, managed by an IT professional. It is a central management console which handles all QlikView components.

QlikView User Access

QlikView User Access lies on the front end from where users can access QlikView and manipulate data files. Users can access this front end from any medium like web, mobile, desktop, laptop, etc.

QlikView Directory Service Connector

QlikView Directory Service Connector can retrieve various user details for end users from various sources such as Active Directory, ODBS, LDAP, and Custom Users. Web services use Directory Service Connector for resolution of any group and DSC will search for their email addresses.

How QlikView Works?

Now, let us see how all these components relate to each other and how they communicate with each other. Below diagram depicts how all components are interconnected.

The whole architecture is divided into 2 sets based on their roles:

Front End:

The front end is the place where users communicate and manipulate with data and documents which they have authorization to access using QlikView Server. Moreover, front end contains those documents which are created through QlikView Publisher in back end. Front end is responsible for all the interactions happening between client and server. QlikView Server handles client authorization for the same.

Back End:

The back end is the place where QlikView stores documents which are created by QlikView Developer. The source files have scripts to retrieve data from different data sources such as Excel, Salesforce, Data warehouses, SAP, etc. Distribution service is responsible for loading and distribution in back end. Back end uses infrastructure resources like directory catalogs or SMTP servers for clustering.

Three-Tier Architecture of QlikView

Three-Tier architecture of QlikView contains 3 layers for extracting data from various sources, storing them into QlikView data files, applying business logic and developing data models using QlikView data files (QVD files) and creating the dashboards so that end users can analyze and process the data.

Below are 3 tiers in QlikView architecture.

Load (Extract and QVD Layer)

Transform (QlikMart Layer)

Presentation

Let us explore each layer in detail to understand the importance of that layer in QlikView architecture.

Load Layer

This tier connects with different data sources to retrieve data and store it in QlikView Data files (QVD files). It can connect to database using ODBC or OLEDB connection or any 3rd party tool like Salesforce for data retrieval.

QVD file contains data extracted from QlikView. Reading QVD files is 10-100 times faster than reading from any other data sources. Hence, it increases data loading speed and decreases load on database servers. Incremental load is also possible for QVD files and you can also consolidate data from different QlikView applications into a single QVD file.

Transform layer

Transform layer, as the name implies, transforms QVD files into business logic. Data model is created based on this with either star or snowflake schema.

Snowflake schema is the schema where large dimensional tables are normalized and converted into multiple tables. Star schema is the schema where a fact table is connected with various dimensions table which in turn creates a star pattern. A star schema has one fact table and is associated with numerous dimensions table and depicts a star.

Presentation Layer

This tier has binary file from second tier. This binary file is used to load data and access parts of a QlikView document. Layout information is not loaded in this. Using this, dashboards are being prepared.

Dashboard is a data visualization tool displaying metrics, status, KPIs for an organization. It also has various widgets, filters for business end users to analyze and process data easily to identify business achievements and failures.

Significance of three tier architecture of QlikView

Let us have a look at few advantages of three tier architecture of QlikView:

Performance Improvement:

Due to QVD file, loading can become 100 times faster than loading data from databases.

Flexibility:

It provides more flexibility as QlikView uses binary load for presentation layer. This transform can be utilized by multiple dashboards.

Easy to maintain:

Maintaining QVD files is very easy as QlikView has separate QVD generator files for every data source. If there is any failure, it is very easy to find out the faulty one instead of taking down all the data sources to fix one.

Reusability:

Many applications can use QVD and transform files.

Conclusion

For any tool or technology, architecture plays a very important role. Here, understanding QlikView Architecture tells you a lot about how QlikView operates practically. As it is a self-serving software, it is very important to know its architecture before actually working on it.

Subscribe For Free Demo

Phone *

E-mail Address *

Free Demo for Corporate & Online Trainings.

About The Author

Vinod Kasipuri writes about various IT platforms such as QlikView, Qlik Sense, and Perl Scripting, at Mindmajix. He loves to explain the concepts he write in simple terms. He is also engaged in researching trends in AngularJS and LabView. Reach out to him via LinkedIn and Twitter.

Mindmajix - Online global training platform connecting individuals with the best trainers around the globe. With the diverse range of courses, Training Materials, Resume formats and On Job Support, we have it all covered to get into IT Career. Instructor Led Training - Made easy.