Stack Overflow מריצה את כל ה-data שלה - כל שאלה, כל תשובה, כל vote של 100 מיליון developers - על PostgreSQL אחד. לא microservices, לא sharding מורכב. server אחד, schema נכון, ו-team של פחות מ-15 engineers. ב-2016 ה-CTO שלהם פרסם פוסט עם המספרים: 1.3 מיליון page views ביום, p99 latency של ms. כשמישהו אומר לכם "SQL לא יסקייל" - הזכרו ב-Stack Overflow.
PostgreSQL Schema
users
idPK
BIGSERIALemailUNIQUE
VARCHAR(255)name
VARCHAR(100)created_at
TIMESTAMPTZorders
idPK
BIGSERIALuser_idFK
BIGINTstatus
VARCHAR(20)total_agorot
INTEGERorder_items
idPK
BIGSERIALorder_idFK
BIGINTproduct_idFK
BIGINTquantity
INTEGERproducts
idPK
BIGSERIALskuUNIQUE
VARCHAR(50)name
VARCHAR(200)price_agorot
INTEGERRELATIONS
users.id → orders.user_id (1:N)
orders.id → order_items.order_id (1:N)
products.id → order_items.product_id (1:N)
ה-schema הזה נראה פשוט, אבל הוא מחביא את כל מה שעושה SQL עוצמתי: Primary Keys שמזהים כל row באופן ייחודי, Foreign Keys שאוכפים integrity ברמת ה-database, ו-relationships ברורים שכל developer חדש ב-team יכול להבין תוך דקות מ-\d users. זה ה-documentation החי של ה-data - schema שאי-אפשר לעקוף, גם אם בקוד יש bug.