BigBear.ai
  • Home
  • Industries
    • Academia
    • Government
    • Healthcare
    • Manufacturing
  • Solutions
    • Cyber
    • Data Analytics
    • Enterprise Planning and Logistics
    • Intelligent Automation
    • Modeling Solutions
    • Professional Services
  • Company
    • About
    • Investor Relations
    • Partners
    • Team
  • Careers
    • Benefits
    • Culture
    • Explore Jobs
    • Military and Veterans
    • Applicant Login
    • Employee Login
  • Resources
    • Blog
    • Events
    • Newsroom
    • Resource Library
    • Online Store
  • Contact
Search

Home Qlik Qlik Core: The Next Generation of Self-Serve Analytics

Blog

Qlik Core: The Next Generation of Self-Serve Analytics

Samantha Hamilton
November 13, 2019
  • Share
  • Share

Since its inception, we have all watched Qlik Sense grow. From desktop to cloud, from custom extensions to embedded visualizations to mashups using Enigma.js. Qlik Core is the next phase of this growth, and it is exactly what developers ordered.

There’s no debating that Qlik Sense Desktop is an incredibly powerful tool, giving business analysts and decision makers everything they could want: easy ETL, data governance, security, self-service analytics, and more. Over the most recent years, Qlik Sense has upped the ante with new features, unlocking powerful new capabilities while maintaining the ease-of-use that makes Qlik so appealing.

But. We’ve all had that one client who wants the power of Qlik with their branding, their look-and-feel, in their custom web application. Of course, there are mashups, and embedded visualizations, but you still have to work within the parameters of the Qlik Sense Enterprise Edition. While you get the power of Qlik, you also get the heavy architecture in the background, even if you don’t want it.

It can also be hard to get the client to bite on a heavyweight data visualization application given the fact that the existing project or application could already be functional and in production (not to mention, the price and time to stand up a fully loaded enterprise software package).

Enter Qlik Core. In its simplest form, Qlik Core is a container that includes the QIX Engine, its APIs, and nothing more. It is lightweight, accessible, and easily fits into an existing architecture without demanding to be the centerpiece. Qlik stripped away the data governance, access control, UI, and data visualization pieces of the application; these are the pieces you don’t necessarily need if you are integrating high powered data analytics into an existing application or data warehouse.

So, how does it work? Qlik Core is containerized, so it scales up and down easily. This also makes it simple to create session applications, where data is loaded on the fly. It is designed without much infrastructure, so you simply spin up Qlik Core behind your existing security layer, plug in your data, and then begin hitting the endpoints from your application layer.

I recently attended the Qlik Data Revolution Tour’s Qlik Core breakout session to get hands-on with the new technology. The presenters admitted that with the power of Qlik Core, you could create a competitor to Qlik Sense itself.

There are multiple use cases that Qlik highlighted with this new ‘spin-off’ of Qlik. Some clients use Qlik Core to add self-service analytics to a pre-existing application, adding real-time filtering and querying to enhance an existing user interface. Others use it as a data pipeline. Feed data from the database through the QIX engine to transform and organize the data schema, and then feed that data into another system for long term storage.

A recent project I was on had the perfect use case for Qlik Core. We had an existing workflow application that managed documents through an editing, publication and dissemination process. The bulk of the data within the application included product metadata (author, coauthor, country, topic) and action metadata (when the product moved from draft to editor to publication, etc). The clients were interested in allowing each author to create their own data tables, enabling them to add any data columns and rows, and also permitting them to group by or aggregate on any column they would like. Want to see how many products are in your office, aggregated by author and grouped by type? Sure thing. Want to see the average time it took your products to get through the editing stage, grouped by topic? Go ahead.

In less words, the client wanted the click-and-drag capability of Qlik Sense Desktop built within our existing application. A strict requirement was that it needed to have the same look and feel as our existing application and be embedded in the existing UI. This is what made it complex. Our data was stored in an extremely de-normalized schema in a database that was run under suboptimal conditions. Solely leveraging our database was out of the question for multiple reasons.

We explored Tableau as a solution for some time, but realized that the Tableau Server API does not let you query the underlying data without first constructing and publishing a visualization for that data. I found this extremely frustrating. The real power of an analytical tool such as Tableau or Qlik (for us full stack developers, anyway) is that it associates the data for you. Need a bar chart between column 1 in table A and column 4 in table B? No problem, as long as you informed the tool of the schema when you loaded the data. Unfortunately, with Tableau Server, you need to publish a view of the data in order to query it via the API. In the terms of our use case, this would have required us to completely flatten our schema into one normalized table, and then publish that table. Given our schema, this was not a realistic solution.

As I was sitting in the Qlik Core breakout session, I realized this new technology would be the perfect tool for the job. Load the data schema via the API (or re-use your existing data load scripts, those work too) and then begin querying. The QIX Engine takes care of the behind the scenes joins, associations, and aggregations, just as it does when you’re using Qlik Sense. In fact, every API endpoint is available to you via Qlik Core, which encompasses every endpoint Qlik Sense uses to process, store, manage, and query your data sources.

Another great benefit of Qlik Core is the fact that it plays very nicely with lightweight Javascript libraries. One of the Qlik Core developers shared his enthusiasm for pairing Qlik Core with React. Qlik Core manages all of the data’s state for you, and knows to re-query the engine when necessary based on filter selections. Simple demo code (that was shared with us at the conference) can be found here: https://github.com/rjriel/qlik-core-workshop/tree/final

Another cool thing introduced to us during the session was the Catwalk tool: https://catwalk.core.qlik.com/. This is an open source project that provides users a way to navigate the data structure and dig into the data fields without actually having to access the data in its raw form. Once the data is loaded into the QIX engine, you plug the websocket information into Catwalk and begin exploring. We won’t get into how cool this is here, but checkout the code and give it a run! We thought it was pretty neat.

In a world where everyone wants their data shown in their application in their way (and don’t want to spend copious amounts of money on the heavy overhead of an entire enterprise solution to do it), Qlik Core is the answer to our prayers. The power of the QIX associative engine that powers Qlik Sense itself, unlocked for use.

Posted in Qlik.
BigBear.ai
  • Home
  • Industries
  • Solutions
  • Company
  • Careers
  • Blog
  • Investor Relations
  • Contact
  • Twitter
  • Facebook
  • Linkedin
  • Google My business for BigBear.ai
1-410-312-0885
[email protected]
  • Privacy Policy
  • Terms of Use
  • Accessibility
  • Site Map
© BigBear.ai 2023
We value your privacy
We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept”, you consent to the use of ALL the cookies.
Privacy Policy | Do not sell my personal information
AcceptCookie Settings
Manage Consent

Cookies Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Always Enabled
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
CookieDurationDescription
cookielawinfo-checkbox-analytics11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-functional11 monthsThe cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-necessary11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-others11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-performance11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
JSESSIONIDsessionThe JSESSIONID cookie is used by New Relic to store a session identifier so that New Relic can monitor session counts for an application.
viewed_cookie_policy11 monthsThe cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
CookieDurationDescription
__atuvc1 year 1 monthAddThis sets this cookie to ensure that the updated count is seen when one shares a page and returns to it, before the share count cache is updated.
__atuvs30 minutesAddThis sets this cookie to ensure that the updated count is seen when one shares a page and returns to it, before the share count cache is updated.
Analytics
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
CookieDurationDescription
_ga2 yearsThe _ga cookie, installed by Google Analytics, calculates visitor, session and campaign data and also keeps track of site usage for the site's analytics report. The cookie stores information anonymously and assigns a randomly generated number to recognize unique visitors.
_ga_NK4L4Q320Q2 yearsThis cookie is installed by Google Analytics.
_gat_gtag_UA_163894009_21 minuteSet by Google to distinguish users.
_gid1 dayInstalled by Google Analytics, _gid cookie stores information on how visitors use a website, while also creating an analytics report of the website's performance. Some of the data that are collected include the number of visitors, their source, and the pages they visit anonymously.
at-randneverAddThis sets this cookie to track page visits, sources of traffic and share counts.
CONSENT2 yearsYouTube sets this cookie via embedded youtube-videos and registers anonymous statistical data.
uvc1 year 1 monthSet by addthis.com to determine the usage of addthis.com service.
Advertisement
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.
CookieDurationDescription
f5avraaaaaaaaaaaaaaaa_session_sessionbusinesswire.com cookie
loc1 year 1 monthAddThis sets this geolocation cookie to help understand the location of users who share the information.
VISITOR_INFO1_LIVE5 months 27 daysA cookie set by YouTube to measure bandwidth that determines whether the user gets the new or old player interface.
YSCsessionYSC cookie is set by Youtube and is used to track the views of embedded videos on Youtube pages.
yt-remote-connected-devicesneverYouTube sets this cookie to store the video preferences of the user using embedded YouTube video.
yt-remote-device-idneverYouTube sets this cookie to store the video preferences of the user using embedded YouTube video.
Save & Accept