Graphing Intent: Inside a Consumer Tracking Database
When the CTO for marketing analytics firm Qualia set out to build a new system consumer behavior tracking system, he knew the database selection would be critical. Little did he know that Qualia would end up pushing the limits of the graph database chosen to power the new system.
Qualia is a New York City ad-tech firm that works with advertising agencies and major brands to help identify “intent signals” captured across people’s smart phones, tablets, and PCs. The company collects data on more than 90% of American households, and uses that data to essentially give clients a heads-up when a consumers is likely to be is receptive to a pitch.
Timeliness and accuracy are key to what Qualia does. For example, if a consumer loaded a webpage about cars, that would be considered a “low quality” signal, and that engagement would go into a bucket with 300 million other “auto intenders,” explains Qualia CTO Niels Meersschaert. “It’s not really that meaningful,” he says. “Otherwise we’d sell 300 million cars.”
However, if that search occurs on a smart phone while the consumer is standing in a Ford dealership, that search suddenly has greater meaning. Qualia’s goal is to sift through all that real-time signal information, sort out the low quality signals from the higher quality ones, and decide which consumers are
As Meersschaert explains, it’s critical to differentiate who’s holding which device, where, and when. “By knowing the specific device that that signal occurred on, and knowing that multiple devices are associated with the same consumer or household in a sense, we are able to build a smarter model about what the actual intent is of that consumer at any moment in time,” he says.
The company relies on a steady stream of data collected via cookies and other tracking mechanism used on the Web. The data is largely proprietary, and anonymized to prevent it from being abused. Managing the incoming data stream is one issue that Qualia has to deal with, but doing something useful with the data is much more important.
Qualia’s data naturally forms a tree-like structure, with parent-child relationships. Each household contains one or more people, and each of those people use one or more computer devices, each of which is tracked with its own identification number.
Describing that sort of data structure in a relational database would be possible, Meersschaert says, but it would be far from ideal.
“You’d end up making all these duplicate data entries, and your data would become far larger than it needs to be,” he tells Datanami. “To get access to any piece of data, you’d either have to have a very wide table, which will be very expensive to update and change, or you’re going to have to have a massive number of joins, which is very slow from an operational perspective.”
Meersschaert realized very early on that a graph database would be the right approach. He considered various open source graph databases, including one called Titan. While Titan had its plusses, the CTO found its traits lacking for Qualia’s specific use case.
“The problem we found with doing something with Titan with an HBase back is the way HBase works,” he says. “There’s a single key that’s on each table, and so every single element that you might query against would be a new table. So you basically had to know all the indexes before you created the tables.”
That would have limited Titan’s usefulness, he says. “It didn’t give you the ability to change [the index] after the fact. It ended up having a tremendous amount of duplication of data when you do a columnar store, because you don’t have the concept of oh here’s a node, and all the things that describe that node are held together.”
Qualia eventually settled on Neo4j, a property graph database developed by Neo Technology. Meersschaert says the way data is stored in nodes and edges in Neo4j is a very good match to the tree-like structure of Qualia’s customer intent data.
Today Qualia’s graph database contains 3 billion nodes and 9 billion edges. This data encompasses 1.2TB of data sitting across three nodes in a cluster of X86 servers. The data is sharded manually, since Neo Technology doesn’t support automatic sharding yet.
“We’re actually one of the largest installations of a graph database globally, which is kind of eye opening to use because we were just making this stuff work,” Meersschaert says.
It’s true that some databases are much larger than 1.2TB. But when you consider how storing the equivalent data in a relational structure would balloon the amount of data by a factor of 10, and slow queries down to a crawl, then you realize how a graph database is such a good fit for this particular use case, he says.
“A graph database allows you to be far more efficient in terms of traversing from one point to another,” Meersschaert says. A relational database could do the work at the end of the day, but “it doesn’t allow you to traverse from one point to another point along a path. This is where a graph-based database makes sense.”
It’s all about using the right tool for the job, Meersschaert says, adding that MongoDB, Hadoop, BigQuery, and Spark all play a role at Qualia. “We use the technology that’s appropriate to the task at hand,” he says.
These other systems work with Neo to surface the right data in the right format, according to a case study posted to the Neo website. Qualia relies on a Ruby-developed app called Spirograph to communicate with Neo4j by either inserting data into or pulling data from the graph in Ruby, which is then processed in Hadoop, Spark and BigQuery. The company also relies on Cerebro to convert user coordinates into a commercial location, which is stored in MongoDB.
January 17, 2020
- Clarivate Analytics to Acquire Decision Resources Group
- IRI Collaborates with Oracle to Integrate and Govern Data in the Cloud
- Netradyne Captures, Analyzes 1 Billion Minutes, 500 Million Miles of Video Data
- Germany Joins 1+Million Genome Initiative
January 16, 2020
- Elastic Cloud on Kubernetes 1.0 is Now Generally Available
- Red Hat Announces the General Availability of Red Hat OpenShift Container Storage 4
- American Association for Thoracic Surgery Adopts HUBzero Cloud Platform
- Domo Announces Domopalooza 2020
- VAST’s New Container Storage Interface Brings All-Flash Infrastructure to Containerized Applications
- LSTM Selects Cloudian’s HyperStore Object Storage Solution
- Twist Bioscience Selected as DNA Synthesis Provider for DNA Data Storage Project
January 15, 2020
- AtScale Launches its Adaptive Analytics 2020.1 Platform
- TIBCO’s Spotfire Solution Reveals Who Should be Inducted in the 2020 Pro Football Hall of Fame
- NOAA Releases Extended Version of 20th Century Reanalysis Project
- Wharton Research Data Services Adds S&P Global Transcripts
- NewWave Integrates Looker and Snowflake within Microsoft Azure for Government Healthcare Applications
- Splice Machine Announces 3.0 Version SQL Data Platform
January 14, 2020
- GA4GH Committee Approves 3 Standards Supporting Automation of Data Access Process
- MariaDB Announces the Availability of MariaDB Platform X4
- Ippen Digital Taps TigerGraph to Deliver Personalized, Real-Time Recommendations to Users
Most Read Features
- Big Data Predictions: What 2020 Will Bring
- 20 AI Predictions for 2020
- Big Data File Formats Demystified
- 2019: A Big Data Year in Review – Part Two
- How to Build a Better Machine Learning Pipeline
- Apache Flink Powers Cloudera's New Streaming Analytics Product
- Cloud Looms Large for Big Data in 2020
- AI Was Everywhere at CES
- 2019: A Big Data Year in Review – Part One
- How 5G Will Serve AI and Vice Versa
- More Features…
Most Read News In Brief
- Machine Learning Hits a Scaling Bump
- California's New Data Privacy Law Takes Effect in 2020
- Inside Fortnite's Massive Data Analytics Pipeline
- VMware Widens Its Kubernetes Embrace
- Global DataSphere to Hit 175 Zettabytes by 2025, IDC Says
- Using Big Data to Count Whales from Space
- GoodData Offers Free Embedded Analytics
- War Unfolding for Control of Elasticsearch
- Tibco Eyes ‘Data Science for Ops’ with Spotfire Upgrades
- Machine Learning Market Demonstrates Solid Growth
- More News In Brief…
Most Read This Just In
- H2O.ai Inducted into Credit Suisse Disruptive Technology Recognition Program
- Sisense Announces $100M+ Funding Round at More Than $1B Valuation
- Microsoft and KKBOX Group Launch Global Strategic Partnership
- Informatica Appoints Amit Walia as Chief Executive Officer
- Cloudera Appoints Robert Bearden President and Chief Executive Officer
- Okera Delivers Real-Time Actionable Insights into Data Lakes
- CVPR 2020 Conference Now Open for Registration
- Talend Names 3 New Female Execs From SAP, Issues Preliminary Q4 Estimates
- Jewelers Mutual to Implement H2O.ai's Solutions in the Jewelry Insurance Business
- Dremio CEO Identifies Top Big Data and Analytics Predictions for 2020
- More This Just In…
January 26 - January 28Austin TX United States