AEP stores a huge amount of structured data. Therefore, it makes sense that you can access that data in a way that resembles a database. In this post, I will show you a couple of ways to achieve it.
Before I get into the details, I have to clarify one important concept. Adobe Experience Platform (AEP) is not a database engine. Do not forget that the main purpose of a CDP is to create advanced audiences and send them to activation channels. If you ask about the internals, sure, it uses databases to store data. However, they are not accessible and remain part of the implementation.
If you are familiar with Hadoop, a similar concept applies. While it has nothing to do with an RDBMS, you can use tools like Hive to access the data using SQL.
With that in mind, I can now proceed.
To set the scene, let’s use the Adobe Experience Platform data flow architecture. In the next sections, I will refer back to it:
AEP Data Flow Diagram
Adobe offers a service called Query Service. It is an engine that allows you to access AEP’s datasets in the Data Lake (see architecture above) using SQL.
As I have said earlier, AEP is not structured as a relational database, which means that you cannot just write any SQL query. Besides, your XDM may be complex and not directly mappable to SQL. Before you try any wild query, check the supported SQL syntax, the Adobe-defined functions and the Spark extensions included in the tool.
That being said, having the possibility of accessing the data opens up some advanced use cases. You can use it to explore the data in search of golden nuggets (your data analysts will love it) or to connect it to a BI tool for reporting.