LinkedIn Professional Network  ·  View 13 of 30  ·  4 · Data

Core Data Model

The thirteen entities every service shares, and the keys that make ordering and idempotency properties of the data.

Editable source SVG draw.io All views
position position_id PK member_urn FK company_urn FK title, start, end profile member_urn PK, FK headline vanity_url UNIQUE visibility settings member member_urn PK status home_colo created_at connection pair_key PK (min, max) state requested_by idempotency_key company company_urn PK name page_admins follow follower_urn PK followee_urn PK followee_type post post_urn PK author_urn FK visibility media_urns[] lifecycle reaction post_urn PK, FK actor_urn PK type job job_urn PK company_urn FK state location, skills[] application application_id PK job_urn FK member_urn FK idempotency_key UQ state comment comment_urn PK post_urn FK parent_urn FK author_urn FK conversation conversation_urn PK participant_urns[] last_seq message conversation_urn PK seq PK sender_urn client_msg_id UQ 1 : 1 1 : N 1 : N 1 : N 1 : N 1 : N 1 : N 1 : N 1 : N 1 : N 1 : N LinkedIn — Core Data Model Every key is a URN. Member foreign keys on follow, reaction, comment and application are not drawn. v 1.0 · owner Data Architecture · date 2026-09

Decisions

  • Identity is a URN (urn:li:member:123), assigned once and never reused. Vanity URL, name and email are mutable attributes, never keys
  • A connection is one row per member pair, smaller URN first, so there is never an A-to-B versus B-to-A disagreement to repair
  • Messages are keyed by conversation and sequence number, which makes their order a property of the key

Partition keys

  • Member data by member_urn · posts by author_urn · messages by conversation_urn
  • Jobs by company_urn · connections by pair_key, with an adjacency index per member
  • Applications by member for the seeker's view, with a second index by job for the recruiter's view

Deliberately omitted

  • Education, skills, certifications, groups and schools: each is shaped like position
  • Hashtags and mentions, which are URN arrays on the post