Многие IT-специалисты могли видели мем под названием The SQL Iceberg. Подобного плана мемов много, они посвящены различным языкам программирования.
Один из энтузиастов повстречал такой мем про SQL в сети, посмеялся, а потом в какой-то момент осознал, что об огромной его части он не имеет ни малейшего понятия.
На примере PostgreSQL он разобрался в каждом уровне этого мема, получилась отличная шпаргалка по основным терминам.
https://www.avestura.dev/blog/explaining-the-postgres-meme
- Level 0: Sky Zone:
CREATE TABLE
,JOIN
,NULL
, ... - Level 1: Surface Zone: ACID, outer joins, normal forms, ...
- Level 2: Sunlight Zone: Connection pools, LATERAL Join, Stored Procedures, ...
- Level 3: Twilight Zone: Isolation levels, ZigZag Join, Triggers, ...
- Level 4: Midnight Zone: Denormalization,
SELECT FOR UPDATE
, star schemas, ... - Level 5: Abyssal Zone:
MATCH PARTIAL
foreign keys,null::jsonb IS NULL = false
, ... - Level 6: Hadal Zone: volcano model, join ordering is NP Hard, ...
- Level 7: Pitch Black Zone:
NULL
, the halloween problem, fsyncgate, ...
Мы увидели крутой мем в Интернете и попытались его понять. Это было путешествие с вершин айсберга SQL в самые глубокие части океана, где всё было кромешной тьмой. Мы рассмотрели каждую часть этого мема, поглядывая на наш PostgreSQL, чтобы увидеть, как эти темы связаны с реализацией SQL и реляционными базами данных.