Vy jste se tu teda sešli.
Sice tu "odborně" plkáte o MS SQL a MS Access a vydáváte se za programátory, ale zapomínáte, že Facebook řeší obrovská kvanta dat, navzájem spletitě provázaná. Tam neplatí běžné poučky o normalizaci dat, stejně jako se nehraje na transakce a konzistenci dat.
V praxi je jeden příspěvek v databázi mnohokrát v různých kontextech, ještě redundantně rozlezlý po HA clusteru a po různých keších. Mazání dat a zajištění konzistence přes celý cluster je "drahé". Při návrhu takových aplikací vývojáři řeší, jestli je nějaká situace kritická. Pokud dojdou k závěru, že situace nastane jen v pár případech a za tuto cenu se ušetří spousta výkonu, tak se jednoduše rozhodnou těch pár případů vědomě ignorovat.
Problém je, že v měřítku stovek milionů uživatelů může být "pár případů" klidně pár tisíc výskytů denně. Někdo mávne rukou, někoho to naštve.
Zvládá-li Facebook spravovat ono obrovské množství dat a navíc složitě provázaná, pak zvládne tato data i mazat. Neříkám, že se takové záznamy smažou do 5 vteřin. Může to trvat i delší dobu, třeba dny nebo týdny, ale dojde-li ke skutečnému odstranění, je to nevratné a není možné, že se po 1/2 roce smazaná data zase někde objeví. Objeví znamená, že byla "smazána" a najedou zase existují, to znamená, že s daty se pracovalo a tedy byl na práci s nimi vynaložen nějaký čas a výkon. To, že se objevila znamená, že na jejich objevení byl opět vynaložen nějaký čas a výkon. Mě z toho plyne, že FB mrhá časem a výkonem... Mimo jiné, celý problém nemá se složitostí a objemem nic společného. Je jasné, proč se "smazaná" data znovu objevují. Nejsou smazaná. No a cena? Pokud by FB měl aplikaci naprogramovanou správně nestálo by jej "smazání" víc než stojí jiné běžně prováděné databázové operace... Vím, že FB má hodně programátorů, ale systém mění tak často a už je tak překombinovaný, že v tom musí mít minimálně počínající chaos. Moc dobře vím, jak to s takovými, za běhu měněnými databázemi a aplikacemi chodí. Moc dobře vím, že např. jenom udržet předem stanovenou normu při pojmenovávání objektů, procedur, funkcí a proměnných nakonec sklouzává k chaosu a není snadné ji udržet a dělat refaktoring nad db jako má FB musí být noční můra i s případnými nástroji...