SlideShare a Scribd company logo
Architecting for change:
LinkedIn's new data ecosystem
Sept 28, 2016
Shirshanka Das, Principal Staff Engineer, LinkedIn
Yael Garten, Director of Data Science, LinkedIn
@shirshanka, @yaelgarten
Design for change. Expect it. Embrace it.
Product Change Technology Culture
&
Process
Learnings
The Product Change: 

Launch a completely rewritten LinkedIn mobile app
What does this impact?
Data driven
product
Tracking data records user activity
InvitationClickEvent()
Tracking data records user activity
InvitationClickEvent()
Scale fact:

~ 1000 tracking event types, 

~ Double-digit TB per day, 

hundreds of metrics & data
products
user
engagement
tracking data
metric scripts
production code
Tracking Data Lifecycle
TransportProduce Consume
Member facing
data products
Business facing
decision making
Tracking Data Lifecycle & Teams
TransportProduce Consume
Product or App teams:
PMs, Developers, TestEng
Infra teams:
Hadoop, Kafka, DWH, ...
Data teams: 

Analytics, Relevance Engineers,...
user
engagement
tracking data
metric scripts
production code
Member facing
data products
Business facing
decision making
How do we calculate a metric: ProfileViews
PageViewEvent
	Record	1:	
{	
		"header"	:	{	
				"memberId"	:	12345,	
				"time"	:	1454745292951,	
				"appName"	:	{	
						"string"	:	"LinkedIn"	
				"pageKey"	:	"profile_page"	
				},	
		},	
		"trackingInfo"	:	{	
				["vieweeID"	:	"23456"],	
	 ...	
		}	
}	
Metric: 

ProfileViews = sum(PageViewEvent)

where pageKey = profile_page

PageViewEvent
	Record	1:	
{	
		"header"	:	{	
				"memberId"	:	12345,	
				"time"	:	1454745292951,	
				"appName"	:	{	
						"string"	:	"LinkedIn"	
				"pageKey"	:	"new_profile_page"	
				},	
		},	
		"trackingInfo"	:	{	
				["vieweeID"	:	"23456"],	
	 ...	
		}	
}	
or new_profile_page
PageViewEvent
	Record	1:	
{	
		"header"	:	{	
				"memberId"	:	12345,	
				"time"	:	1454745292951,	
				"appName"	:	{	
						"string"	:	"LinkedIn"	
				"pageKey"	:	"profile_page"	
				},	
		},	
		"trackingInfo"	:	{	
				["vieweeID"	:	"23456"],	
	 ...	
		}	
}	
CASE	
		WHEN	trackingInfo["profileIds"]	...	
		WHEN	trackingInfo["profileid"]	...	
		WHEN	trackingInfo["profileId"]	...	
		WHEN	trackingInfo["url$profileIds"]	...	
		WHEN	trackingInfo["11"]	LIKE	'%profileIds=%'	THEN	SUBSTRING(trackingInfo["11"],9,60)	
		WHEN	trackingInfo["12"]	LIKE	'%priceIds=%'	THEN	SUBSTRING(trackingInfo["12"],9,60)	
		ELSE	NULL	
END	AS	profile_id
Evolution as we mature and grow...
Metric: ProfileViews = sum(PageViewEvent

where 

pagekey = profile_page and
memberID != trackinginfo[vieweeID] )
Eventually… unmaintainable
get_tracking_codes	=	foreach	get_domain_rolled_up	generate	
		..entry_domain_rollup,	
	 (		(tracking_code	matches	'eml-ced.*'	or	tracking_code	matches	'eml-b2_content_ecosystem
_digest.*'	
				or	(referer	is	not	null	and	(referer	matches	'.*touch.linkedin.com.*trk=eml-ced.*'		
				or	referer	matches	'.*touch.linkedin.com.*trk=eml-b2_content_ecosystem_digest.*'))	?	'Email	-	CED'	:						
(tracking_code	matches	'eml-.*'	or	(referer	is	not	null	and	referer	matches	'.*touch.linkedin.com.*trk=eml-.*')	
or	entry_domain_rollup	==	'Email'	?	'Email	-	Other'	:	
								(tracking_code	==	'hp-feed-article-title-hpm'	and	entry_domain_rollup	==	'Linkedin'	?	'Homepage	Pulse	
Module'	:	((tracking_code	matches	'hp-feed-.*'	and	entry_domain_rollup	==	'Linkedin')	or	(std_user_interface	
matches	'(phone	app|tablet	app|phone	browser|tablet	browser)'	and	tracking_code	==	'v-feed')			or	
(tracking_code	==	'Organic	Traffic'	and	entry_domain_rollup	==	'Linkedin'	and	(referer	==	'https://
www.linkedin.com/nhome'	or	referer	==	'http://www.linkedin.com/nhome'))	?	'Feed'	:	
												(tracking_code	matches	'hb_ntf_MEGAPHONE_.*'	and	entry_domain_rollup	==	'Linkedin'	?	'Desktop	
Notifications'	:			(tracking_code	==	'm_sim2_native_reader_swipe_right'	?	'Push	Notification'	:		(tracking_code	==	
'pulse_dexter_stream_scroll'		and	entry_domain_rollup	==	'Linkedin'	?	'Pulse	-	Infinite	Scroll	on	Dexter'	:	--infinite	
scroll	on	dexter	
			((tracking_code	==	'pulse_dexter_nav_click'	or	tracking_code	==	'pulse-det-nav_art')	and	entry_domain_rollup	==	
'Linkedin'	?	'Pulse	-	Left	Rail	Click	on	Dexter'	:	--left	rail	click	on	dexter	
																				(tracking_code	==	'Organic	Traffic'	and	referer	is	not	null	and	referer	matches	'.*linkedin.com/pulse
/article.*'	?	'Publishing	Platform'	:	
																						'None	Found	Yet'))))))))))	as	entry_point;	
Homepage
team
Push Notification
team
Email team
Long form post
team
PageViewEvent
	Record	1:	
{	
		"header"	:	{	
				"memberId"	:	12345,	
				"time"	:	1454745292951,	
				"appName"	:	{	
						"string"	:	"LinkedIn"	
				"pageKey"	:	"profile_page"	
				},	
		},	
		"trackingInfo"	:	{	
				["vieweeID"	:	"23456"],	
	 ...	
		}	
}	
We wanted to move to better data models
LI_ProfileViewEvent
	Record	1:	
{	
		"header"	:	{	
				"memberId"	:	12345,	
				"time"	:	4745292951145,	
				"appName"	:	{	
						"string"	:	"LinkedIn"	
				"pageKey"	:	"profile_page"	
				},	
		},	
"entityView"	:	{	
					"viewType"	:	"profile-view",	
					"viewerId"	:	“12345”,		
"vieweeId"	:	“23456”,		
		},	
}
Two options:

1. Keep the old tracking:
a. Cost: producers (try to) replicate it (write bad old code
from scratch),
b. Save: consumers avoid migrating.



2. Evolve.
a. Cost: time on data modeling, and on consumer
migration,
b. Save: pays down data modeling tech debt
How much work would it be?
How much work would it be?
Two options:
1. Keep the old tracking:
a. Cost: producers (try to) replicate it (write bad old code
from scratch),
b. Save: consumers avoid migrating.



2. Evolve.
a. Cost: time on data modeling, and on consumer
migration,
b. Save: pays down data modeling tech debt
2000 daysEstimated cost to update consumers to new tracking with clean, committee-approved data models
Estimated cost for producers to attempt to replicate old tracking
5000 days
#AnalyticsHappiness
The Task and Opportunity
Must do: So we will do the data modeling, and rewrite all the metrics to
account for the changes happening upstream… but…



Extra credit points: How do we make sure that the cost is not this high the
next time?




How do we handle evolution in a principled way?
Product Change Technology Culture
&
Process
Learnings
Metrics ecosystem at LinkedIn: 3 yrs ago
Operational Challenges
Diminished Trust due to multiple sources of truth
Data Stages
Ingest Process Serve VisualizeCreate
Ingest Process Serve VisualizeCreate
Tracking
Kafka
Espresso
…
Tracking Architecture
SDKs in different frameworks
(server, client)
Tracking front-end
Monitoring Tools
Components
KafkaClient-side
Tracking
Tracking
Frontend
Services
Tools
Create
Data Stages
Ingest Process Serve VisualizeCreate
Unified Ingestion with
Hundreds of TB / day
Thousands of datasets
80+% of data ingest
Ingest
In production @ LinkedIn, Intel, Swisscom, NerdWallet, PayPal
Ingest
Ingest Process Serve VisualizeCreate
Hadoop
Processing engines @ LinkedInProcess
Ingest Process Serve VisualizeCreate
Pinot
Pinot
Kafka Hadoop
Samza Jobs
Pinot
minutes
hour +
Distributed Multi-dimensional OLAP
Columnar + indexes
No joins
Latency: low ms to sub-second
Serve
Site-facing	Apps Reporting	dashboards Monitoring
In production @
LinkedIn, Uber
Serve
Ingest Process VisualizeCreate
Hadoop Pinot Raptor
Serve
Ingest Process VisualizeCreate
Unified Metrics Platform (UMP)
Hadoop Pinot Raptor
Serve
Unified Metrics Platform
Metrics Logic
Raw
Data
Pinot
UMP Harness
Incremental
Aggregate
Backfill
Auto-join
Raptor
dashboards
HDFS
Aggregated
Data
Experiment
Analysis
Relevance
...
HDFS
Ad-hoc
Ingest Process Serve VisualizeCreate
RaptorKafka

Espresso

…
Hadoop Pinot
Tracking Unified Metrics Platform (UMP)
Strata 2016 - Architecting for Change: LinkedIn's new data ecosystem
How do we handle old and new?
PageViewEvent
ProfileViewEvent
Producers Consumers
old
new
Relevance
Analytics
The Big Challenge
load “/data/tracking/PageViewEvent” using AvroStorage()
(Pig scripts)
My Raw Data
Our scripts were doing ….
My Raw Data
My Data API
We need “microservices" for Data
The Database community solved this
decades ago...
Views!
We had been working on something that could help...
A Data Access Layer for Linkedin
Abstract away underlying physical details to allow users to
focus solely on the logical concerns
Logical Tables + Views
Logical FileSystem
Solving
With
Views
Producers
LinkedInProfileView
PageViewEvent
ProfileViewEvent
new
old
Consumers
pagekey==
profile
1:1
Relevance
Analytics
Views
ecosystem
41
Producers Consumers
LinkedInProfileView
JSAProfileView
Job Seeker App
(JSA)
LinkedIn App
UnifiedProfileView
Data Catalog +
Discovery
(DALI)
DaliFileSystem Client
Data Source
(HDFS)
Data Sink
(HDFS)
Processing Engine
(MapReduce, Spark)
DALI Datasets (Tables + Views)
Query Layers
(Hive, Pig, Spark)
View Defs +
UDFs
(Artifactory, Git)
Dataflow APIs
(MR, Spark,
Scalding)
DALI CLI
Dali: Implementation Details in Context
From
load ‘/data/tracking/PageViewEvent’
using AvroStorage();
To
load ‘tracking.UnifiedProfileView’ using
DaliStorage();
One small step for a script
A Few Hard Problems
Versioning
Views and UDFs
Mapping to Hive metastore entities
Development lifecycle
Git as source of truth
Gradle for build
LinkedIn tooling integration for deployment
Early experiences with Dali views
How we executed
Lots of work to get the infra ready
Closed beta model
Tons of training and education (hand holding) for all
Governance body
Feedback from analysts is overwhelmingly positive:
+ Much simpler to share and standardize data cleansing code with peers
+ Provides effective insulation to scripts from upstream changes
- Harder to debug where problems are due to additional layer
State of the world today
~100 producer views
~200 consumer views
~30% of UMP metrics use Dali data
sources
~80 unique tracking event data sources
ProfileViews
MessagesSent
Searches
InvitationsSent
ArticlesRead
JobApplications
...
What’s next for Dali?
Real-time Views on streaming data
Selective materialization
Hive is an implementation detail, not a long term bet
Open source
Data Quality Framework
Product Change Technology Culture
&
Process
Learnings
Infrastructure enables, but culture really preserves
get_tracking_codes	=	foreach	get_domain_rolled_up	generate	
		..entry_domain_rollup,	
	 (		(tracking_code	matches	'eml-ced.*'	or	tracking_code	matches	'eml-b2_content
_ecosystem_digest.*'	
				or	(referer	is	not	null	and	(referer	matches	'.*touch.linkedin.com.*trk=eml-ced.*'		
				or	referer	matches	'.*touch.linkedin.com.*trk=eml-b2_content_ecosystem_digest.*'))	?	'Email	
-	CED'	:						(tracking_code	matches	'eml-.*'	or	(referer	is	not	null	and	referer	matches	'.*touch.linkedin
.com.*trk=eml-.*')	or	entry_domain_rollup	==	'Email'	?	'Email	-	Other'	:	
								(tracking_code	==	'hp-feed-article-title-hpm'	and	entry_domain_rollup	==	'Linkedin'	?	'Homepage	
Pulse	Module'	:	((tracking_code	matches	'hp-feed-.*'	and	entry_domain_rollup	==	'Linkedin')	or	
(std_user_interface	matches	'(phone	app|tablet	app|phone	browser|tablet	browser)'	and	tracking_code	
==	'v-feed')			or	(tracking_code	==	'Organic	Traffic'	and	entry_domain_rollup	==	'Linkedin'	and	(referer	==	
'https://www.linkedin.com/nhome'	or	referer	==	'http://www.linkedin.com/nhome'))	?	'Feed'	:	
												(tracking_code	matches	'hb_ntf_MEGAPHONE_.*'	and	entry_domain_rollup	==	'Linkedin'	?	
'Desktop	Notifications'	:			(tracking_code	==	'm_sim2_native_reader_swipe_right'	?	'Push	Notification'	:		
(tracking_code	==	'pulse_dexter_stream_scroll'		and	entry_domain_rollup	==	'Linkedin'	?	'Pulse	-
For a great data ecosystem that can handle change:
1. Standardize core data entities

2. Create clear maintainable contracts between data producers
& consumers

3. Ensure dialogue between data producers & consumers

1. Standardize core data entities
• Event types and names: Page, Action, Impression
• Framework level client side tracking: views, clicks, flows
• For all else (custom) - guide when to create a new Event or Dali view

Navigation
Page View
Control Interaction
2. Create clear maintainable contracts
1
1. Tracking specification with monitoring: clear, visual, consistent contract
Need tooling to support culture shift

Tracking specification Tool
2
2. Dali dataset specification with data quality rules
3. Ensure dialogue between Producers & Consumers
• Awareness: Train about end-to-end data pipeline, data modeling
• Instill communication & collaborative ownership process between all: a step-by-step
playbook for who & how to develop and own tracking

PM → Analyst → Engineer → All3 → TestEng → Analyst
user engagement
tracking data
metric 

scripts
production

code
Member facing

data products
Business facing
decision making
Product Change Technology Culture
&
Process
Learnings
Our Learnings
Culture and Process
● Spend time to identify what needs culture & process, and 

what needs tools & tech
● Big changes can mean big opportunities
● Very hard to massively change things like data culture or data tech debt; never
a good time to invest in “invisible” behind-the-scenes change

→ Make it non-invisible -- try to clarify or size out the cost of NOT doing it

→ needed strong leaders, and a village

Tech
● Must build tooling to support that culture change otherwise culture will revert
● Work hard to make any new layer as frictionless as possible
● Virtual views on Hadoop data can work at scale! (Dali views)
For a great data ecosystem that can handle change:
1. Standardize core data entities

2. Create clear maintainable contracts between data producers & consumers

3. Ensure dialogue between data producers & consumers

Design for change. Expect it. Embrace it.
Did we succeed? We just handled another huge change!
#AnalyticsHappiness
Thank you.
@shirshanka, @yaelgarten

More Related Content

What's hot (20)

PDF
Apache Calcite (a tutorial given at BOSS '21)
Julian Hyde
 
PDF
A Day in the Life of a ClickHouse Query Webinar Slides
Altinity Ltd
 
PDF
Protect your Private Data in your Hadoop Clusters with ORC Column Encryption
DataWorks Summit
 
PDF
HBaseCon 2012 | HBase Schema Design - Ian Varley, Salesforce
Cloudera, Inc.
 
PPTX
Local Secondary Indexes in Apache Phoenix
Rajeshbabu Chintaguntla
 
PPTX
Overview SQL Server 2019
Juan Fabian
 
PDF
Presto: Fast SQL-on-Anything (including Delta Lake, Snowflake, Elasticsearch ...
Databricks
 
PDF
SQL on everything, in memory
Julian Hyde
 
PDF
Altinity Quickstart for ClickHouse
Altinity Ltd
 
PPTX
Apache Kudu: Technical Deep Dive


Cloudera, Inc.
 
PDF
Apache Gobblin: Bridging Batch and Streaming Data Integration. Big Data Meetu...
Shirshanka Das
 
PPT
7. Key-Value Databases: In Depth
Fabio Fumarola
 
PDF
Kappa vs Lambda Architectures and Technology Comparison
Kai Wähner
 
PDF
Building Robust ETL Pipelines with Apache Spark
Databricks
 
PDF
How Graph Databases efficiently store, manage and query connected data at s...
jexp
 
PDF
Future of Data Engineering
C4Media
 
PDF
Parquet performance tuning: the missing guide
Ryan Blue
 
PDF
Building an open data platform with apache iceberg
Alluxio, Inc.
 
PDF
CDC Stream Processing With Apache Flink With Timo Walther | Current 2022
HostedbyConfluent
 
PDF
Scaling Apache Spark at Facebook
Databricks
 
Apache Calcite (a tutorial given at BOSS '21)
Julian Hyde
 
A Day in the Life of a ClickHouse Query Webinar Slides
Altinity Ltd
 
Protect your Private Data in your Hadoop Clusters with ORC Column Encryption
DataWorks Summit
 
HBaseCon 2012 | HBase Schema Design - Ian Varley, Salesforce
Cloudera, Inc.
 
Local Secondary Indexes in Apache Phoenix
Rajeshbabu Chintaguntla
 
Overview SQL Server 2019
Juan Fabian
 
Presto: Fast SQL-on-Anything (including Delta Lake, Snowflake, Elasticsearch ...
Databricks
 
SQL on everything, in memory
Julian Hyde
 
Altinity Quickstart for ClickHouse
Altinity Ltd
 
Apache Kudu: Technical Deep Dive


Cloudera, Inc.
 
Apache Gobblin: Bridging Batch and Streaming Data Integration. Big Data Meetu...
Shirshanka Das
 
7. Key-Value Databases: In Depth
Fabio Fumarola
 
Kappa vs Lambda Architectures and Technology Comparison
Kai Wähner
 
Building Robust ETL Pipelines with Apache Spark
Databricks
 
How Graph Databases efficiently store, manage and query connected data at s...
jexp
 
Future of Data Engineering
C4Media
 
Parquet performance tuning: the missing guide
Ryan Blue
 
Building an open data platform with apache iceberg
Alluxio, Inc.
 
CDC Stream Processing With Apache Flink With Timo Walther | Current 2022
HostedbyConfluent
 
Scaling Apache Spark at Facebook
Databricks
 

Viewers also liked (6)

PPTX
Databus: LinkedIn's Change Data Capture Pipeline SOCC 2012
Shirshanka Das
 
PDF
Aksyon radyo
OnlinRadioTune
 
PDF
Strata 2017 (San Jose): Building a healthy data ecosystem around Kafka and Ha...
Shirshanka Das
 
PDF
Strata SG 2015: LinkedIn Self Serve Reporting Platform on Hadoop
Shirshanka Das
 
PDF
Taming the ever-evolving Compliance Beast : Lessons learnt at LinkedIn [Strat...
Shirshanka Das
 
PDF
SlideShare 101
Amit Ranjan
 
Databus: LinkedIn's Change Data Capture Pipeline SOCC 2012
Shirshanka Das
 
Aksyon radyo
OnlinRadioTune
 
Strata 2017 (San Jose): Building a healthy data ecosystem around Kafka and Ha...
Shirshanka Das
 
Strata SG 2015: LinkedIn Self Serve Reporting Platform on Hadoop
Shirshanka Das
 
Taming the ever-evolving Compliance Beast : Lessons learnt at LinkedIn [Strat...
Shirshanka Das
 
SlideShare 101
Amit Ranjan
 
Ad

Similar to Strata 2016 - Architecting for Change: LinkedIn's new data ecosystem (20)

PDF
Building a healthy data ecosystem around Kafka and Hadoop: Lessons learned at...
Yael Garten
 
PDF
Path to 400M Members: LinkedIn’s Data Powered Journey
DataWorks Summit/Hadoop Summit
 
PDF
Big Data at a Gaming Company: Spil Games
Rob Winters
 
PPTX
UCLA MSBA LinkedIn Industry Seminar 2019-02-27
Jimmy Wong
 
PDF
Big Data Ecosystem @ LinkedIn
Minh-Hoang Nguyen
 
PDF
PXL Data Engineering Workshop By Selligent
Jonny Daenen
 
PPT
Agile Data Science: Building Hadoop Analytics Applications
Russell Jurney
 
PDF
Transitioning to-lean-at-infochimps
Ash Maurya
 
PPT
Agile Data Science by Russell Jurney_ The Hive_Janruary 29 2014
The Hive
 
PDF
Lyft data Platform - 2019 slides
Karthik Murugesan
 
PDF
The Lyft data platform: Now and in the future
markgrover
 
PPTX
IARE_BDBA_ PPT_0.pptx
AIMLSEMINARS
 
PPTX
Innovation in the Enterprise Rent-A-Car Data Warehouse
DataWorks Summit
 
PPT
Agile Data Science: Hadoop Analytics Applications
Russell Jurney
 
PPTX
apidays New York 2025 - Lessons From Two Technical Transformations by Leah Hu...
apidays
 
PDF
The New Model
David Kaiser
 
PDF
Behavior-Driven Development (BDD) Testing with Apache Spark with Aaron Colcor...
Databricks
 
PDF
Building New Data Ecosystem for Customer Analytics, Strata + Hadoop World, 2016
Caserta
 
PPT
Agile Data: Building Hadoop Analytics Applications
DataWorks Summit
 
PDF
BDW16 London - Deenar Toraskar, Think Reactive - Fast Data Key to Efficient C...
Big Data Week
 
Building a healthy data ecosystem around Kafka and Hadoop: Lessons learned at...
Yael Garten
 
Path to 400M Members: LinkedIn’s Data Powered Journey
DataWorks Summit/Hadoop Summit
 
Big Data at a Gaming Company: Spil Games
Rob Winters
 
UCLA MSBA LinkedIn Industry Seminar 2019-02-27
Jimmy Wong
 
Big Data Ecosystem @ LinkedIn
Minh-Hoang Nguyen
 
PXL Data Engineering Workshop By Selligent
Jonny Daenen
 
Agile Data Science: Building Hadoop Analytics Applications
Russell Jurney
 
Transitioning to-lean-at-infochimps
Ash Maurya
 
Agile Data Science by Russell Jurney_ The Hive_Janruary 29 2014
The Hive
 
Lyft data Platform - 2019 slides
Karthik Murugesan
 
The Lyft data platform: Now and in the future
markgrover
 
IARE_BDBA_ PPT_0.pptx
AIMLSEMINARS
 
Innovation in the Enterprise Rent-A-Car Data Warehouse
DataWorks Summit
 
Agile Data Science: Hadoop Analytics Applications
Russell Jurney
 
apidays New York 2025 - Lessons From Two Technical Transformations by Leah Hu...
apidays
 
The New Model
David Kaiser
 
Behavior-Driven Development (BDD) Testing with Apache Spark with Aaron Colcor...
Databricks
 
Building New Data Ecosystem for Customer Analytics, Strata + Hadoop World, 2016
Caserta
 
Agile Data: Building Hadoop Analytics Applications
DataWorks Summit
 
BDW16 London - Deenar Toraskar, Think Reactive - Fast Data Key to Efficient C...
Big Data Week
 
Ad

Recently uploaded (20)

PDF
apidays Helsinki & North 2025 - Monetizing AI APIs: The New API Economy, Alla...
apidays
 
PPTX
apidays Helsinki & North 2025 - API access control strategies beyond JWT bear...
apidays
 
PPTX
apidays Munich 2025 - Building Telco-Aware Apps with Open Gateway APIs, Subhr...
apidays
 
PPTX
ER_Model_with_Diagrams_Presentation.pptx
dharaadhvaryu1992
 
PDF
How to Connect Your On-Premises Site to AWS Using Site-to-Site VPN.pdf
Tamanna
 
PPTX
apidays Singapore 2025 - The Quest for the Greenest LLM , Jean Philippe Ehre...
apidays
 
PDF
OOPs with Java_unit2.pdf. sarthak bookkk
Sarthak964187
 
PPTX
apidays Helsinki & North 2025 - APIs at Scale: Designing for Alignment, Trust...
apidays
 
PDF
apidays Helsinki & North 2025 - APIs in the healthcare sector: hospitals inte...
apidays
 
PPTX
Advanced_NLP_with_Transformers_PPT_final 50.pptx
Shiwani Gupta
 
PPTX
apidays Singapore 2025 - Designing for Change, Julie Schiller (Google)
apidays
 
PDF
Building Production-Ready AI Agents with LangGraph.pdf
Tamanna
 
PDF
What does good look like - CRAP Brighton 8 July 2025
Jan Kierzyk
 
PPTX
apidays Munich 2025 - Building an AWS Serverless Application with Terraform, ...
apidays
 
PPTX
apidays Singapore 2025 - From Data to Insights: Building AI-Powered Data APIs...
apidays
 
PPTX
Module-5-Measures-of-Central-Tendency-Grouped-Data-1.pptx
lacsonjhoma0407
 
PPTX
b6057ea5-8e8c-4415-90c0-ed8e9666ffcd.pptx
Anees487379
 
PDF
AUDITABILITY & COMPLIANCE OF AI SYSTEMS IN HEALTHCARE
GAHI Youssef
 
PDF
Merits and Demerits of DBMS over File System & 3-Tier Architecture in DBMS
MD RIZWAN MOLLA
 
PPTX
Numbers of a nation: how we estimate population statistics | Accessible slides
Office for National Statistics
 
apidays Helsinki & North 2025 - Monetizing AI APIs: The New API Economy, Alla...
apidays
 
apidays Helsinki & North 2025 - API access control strategies beyond JWT bear...
apidays
 
apidays Munich 2025 - Building Telco-Aware Apps with Open Gateway APIs, Subhr...
apidays
 
ER_Model_with_Diagrams_Presentation.pptx
dharaadhvaryu1992
 
How to Connect Your On-Premises Site to AWS Using Site-to-Site VPN.pdf
Tamanna
 
apidays Singapore 2025 - The Quest for the Greenest LLM , Jean Philippe Ehre...
apidays
 
OOPs with Java_unit2.pdf. sarthak bookkk
Sarthak964187
 
apidays Helsinki & North 2025 - APIs at Scale: Designing for Alignment, Trust...
apidays
 
apidays Helsinki & North 2025 - APIs in the healthcare sector: hospitals inte...
apidays
 
Advanced_NLP_with_Transformers_PPT_final 50.pptx
Shiwani Gupta
 
apidays Singapore 2025 - Designing for Change, Julie Schiller (Google)
apidays
 
Building Production-Ready AI Agents with LangGraph.pdf
Tamanna
 
What does good look like - CRAP Brighton 8 July 2025
Jan Kierzyk
 
apidays Munich 2025 - Building an AWS Serverless Application with Terraform, ...
apidays
 
apidays Singapore 2025 - From Data to Insights: Building AI-Powered Data APIs...
apidays
 
Module-5-Measures-of-Central-Tendency-Grouped-Data-1.pptx
lacsonjhoma0407
 
b6057ea5-8e8c-4415-90c0-ed8e9666ffcd.pptx
Anees487379
 
AUDITABILITY & COMPLIANCE OF AI SYSTEMS IN HEALTHCARE
GAHI Youssef
 
Merits and Demerits of DBMS over File System & 3-Tier Architecture in DBMS
MD RIZWAN MOLLA
 
Numbers of a nation: how we estimate population statistics | Accessible slides
Office for National Statistics
 

Strata 2016 - Architecting for Change: LinkedIn's new data ecosystem