LinkedIn database schema

How a professional network models its data: profiles with a date-ranged career history, symmetric connections created from invitations, canonical skills with endorsements, company pages, job postings and applications, and a feed.

Linkedin ER diagram

LinkedIn database schema n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 members idBIGINT public_idVARCHAR vanity_urlVARCHAR emailVARCHAR first_nameVARCHAR last_nameVARCHAR headlineVARCHAR aboutTEXT location_nameVARCHAR country_codeCHAR industryVARCHAR profile_photo_urlVARCHAR open_to_workBOOLEAN created_atTIMESTAMP updated_atTIMESTAMP companies idBIGINT nameVARCHAR slugVARCHAR websiteVARCHAR industryVARCHAR size_bucketVARCHAR founded_yearSMALLINT is_verifiedBOOLEAN created_atTIMESTAMP schools idBIGINT nameVARCHAR slugVARCHAR country_codeCHAR created_atTIMESTAMP positions idBIGINT member_idBIGINT company_idBIGINT company_nameVARCHAR titleVARCHAR employment_typeVARCHAR location_nameVARCHAR is_currentBOOLEAN start_dateDATE end_dateDATE descriptionTEXT created_atTIMESTAMP educations idBIGINT member_idBIGINT school_idBIGINT school_nameVARCHAR degreeVARCHAR field_of_studyVARCHAR gradeVARCHAR start_dateDATE end_dateDATE skills idBIGINT nameVARCHAR slugVARCHAR created_atTIMESTAMP member_skills idBIGINT member_idBIGINT skill_idBIGINT position_indexSMALLINT endorsement_countINTEGER created_atTIMESTAMP endorsements idBIGINT member_skill_idBIGINT endorser_idBIGINT created_atTIMESTAMP invitations idBIGINT sender_idBIGINT recipient_idBIGINT statusVARCHAR messageVARCHAR sent_atTIMESTAMP responded_atTIMESTAMP connections idBIGINT member_a_idBIGINT member_b_idBIGINT invitation_idBIGINT connected_atTIMESTAMP job_postings idBIGINT company_idBIGINT posted_by_member_…BIGINT titleVARCHAR descriptionTEXT location_nameVARCHAR workplace_typeVARCHAR employment_typeVARCHAR salary_min_minorINTEGER salary_max_minorINTEGER currency_codeCHAR statusVARCHAR posted_atTIMESTAMP closes_atTIMESTAMP job_applications idBIGINT job_posting_idBIGINT applicant_idBIGINT statusVARCHAR cover_noteTEXT resume_urlVARCHAR headline_snapshotVARCHAR applied_atTIMESTAMP status_changed_atTIMESTAMP posts idBIGINT author_idBIGINT shared_post_idBIGINT bodyTEXT media_urlVARCHAR visibilityVARCHAR reaction_countINTEGER comment_countINTEGER published_atTIMESTAMP deleted_atTIMESTAMP

Related database schemas