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.
July 28, 2021
- CoreStack Launches FinOps, SecOps and CloudOps Governance Solutions on Google Cloud
- BlueConic Customer Data Platform Offers a Data Clean Room Solution
- Renesas and Syntiant Develop Voice-Controlled AI Solution Combining Vision, Voice
July 27, 2021
- Trifacta Delivers Head Start on Cloud Data Engineering with New Template Gallery
- GraphCDN Acquires FastQL to Cement Position in GraphQL Caching
- TigerGraph Cloud Is Now Available on Google Cloud Marketplace
- Atos Acquires Visual BI to Address Customers’ Increasing Need for Analytics in the Cloud
- Spectro Cloud Announces $20M Completion of Series A Funding
- DataRobot Acquiring Algorithmia, Enhancing MLOps Architecture for the Enterprise
- GoodData Announces $45 Million Credit Facility from J.P. Morgan
- Kili Technology Raises $25M Series A to Speed Up AI Adoption
- Pliops Launches Extreme Data Processor to Multiply Data-Intensive Application Performance
- Apache Cassandra Project Releases Apache Cassandra v4.0
- EZOPS Supports Streamlined Data Control and Optimized Efficiency in Snowflake
- DataRobot Unveils Major Milestones, Including $300M Series G Funding Investment
- Supermicro Debuts New Storage Systems with 3rd Gen Intel Xeon Processors
July 26, 2021
- Penn State Professor Receives ACM Test of Time Award for Paper on Data Privacy
- DeepMind, EMBL Release Most Complete Database of Predicted 3D Structures of Human Proteins
- New Algorithm May Help Autonomous Vehicles Navigate Narrow, Crowded Streets
July 23, 2021
- Big Data File Formats Demystified
- Who’s Winning In the $17B AIOps and Observability Market
- Tuplex Gives Python UDFs a Performance Boost
- What’s the Difference Between AI, ML, Deep Learning, and Active Learning?
- The Data Mesh Emerges In Pursuit of Data Harmony
- Presto the Future of Open Data Analytics, Foundation Says
- Why Data Scientists and ML Engineers Shouldn’t Worry About the Rise of AutoML
- Cost Overruns and Misgovernance: Two Threats to Your Cloud Data Journey
- The Multiple Faces of Digital Twins
- Beyond Dashboards: The Importance of Storytelling with Data
- More Features…
- Hiring, Pay for Data Science and Analytics Pros Picks Up Steam
- Starburst Backs Data Mesh Architecture
- Confluent Raises More Than $800M in IPO
- Data Prep Still Dominates Data Scientists’ Time, Survey Finds
- Off the Couch: Database Maker Seeks $160 Million In IPO
- Let It Go: The Financial Benefits of Data Deletion
- Teradata: We’ve Outsourced Some Hardware Support for Years
- Qumulo Debuts QaaS, a File Lake on the Azure Cloud
- Global DataSphere to Hit 175 Zettabytes by 2025, IDC Says
- Databricks Edges Closer to IPO with $1B Round
- More News In Brief…
- Splunk Launches New Security Cloud
- Red Hat Expands Workload Possibilities Across Hybrid Cloud with Latest Version of OpenShift
- JetBrains Announces Datalore Enterprise, Enabling Data Science Teams to Collaborate On-Prem
- Alluxio v2.6 Release Brings Performance, Ease of Use Improvements to AI/ML Workloads
- Vertica Announces Vertica 11, Delivering on Vision of Unified Analytics
- TigerGraph Expands Partner Ecosystem to Bring the Power of Graph to More Businesses
- MariaDB Collaborates with AWS to Deliver SkySQL on AWS
- Dremio Launches SQL Lakehouse Service to Accelerate BI and Analytics
- DDN Selected by Bytesnet to Provide ‘Pay-Per-Use’ Storage for Data-Intensive Organizations
- Alation Supports Next Generation of Data Enthusiasts, Provides Free Software and Training
- More This Just In…
Sponsored Partner Content
August 25 @ 12:00 pm - 5:00 pm
November 29 - December 3
December 6 - December 10San Diego CA United States