Leif Gram: Mr. Fix

Хочу все знать

А вот когда один пользователь гмейла отправляет е-мейл нескольким другим, то в Гугле образуется ровно одна мастер-репрезентация данного письма, а в инбоксе получателей и sent items отправителя - указатели на нее, или же у каждого хранится своя собственная глубокая копия всего письма?
Дык вам, наверное, есть у кого спросить, а мы тут вдалеке от таких вещей.
Я несколько лет назад задал подобный вопрос своему коллеге, проработавшему лет пять в Гугле. Его ответ был "весьма вероятно" :). Более того, последние реинкарнации Оффис365 делают то же самое и не только с сообщениям, но и с файлами. Но это тоже все по слухам, какая на самом деле неонка внутри по-видимому, не знает никто.
Я как-то давно беседовал с гуру из недр SAP. Он скзал что у них там уже десятки тысяч таблиц в системе (сколько точно не помню) и никто не знает как оно всё взаимодействует. Каждый разрабатывает свой кусок. Подозреваю что в системах SAP уже давно самозародилась виртуальная жизнь.
Не только в них (хотя это, скорее всего, кандидат номер 1). Сэйлсфорс дот ком тоже дает жару. Да взять тот же ЖЖ - неужели вы думаете, что там кто-то знает, как это все взаимодействует?
Тут уместна цитата про любую нетривиальную систему, неотличимую от магии. :)
У каждого копия глубокого письма. Вы шутите - вот это всё по ерунде оптимизировать? :)

Дисклеймер: "весьма вероятно" :)

Edited at 2016-11-19 11:29 pm (UTC)
Отмечу ещё одно практическое соображение, по которому даже правильнее будет не пытаться вычленять общее в отдельный storage. Емейлы очень хорошо шардятся по юзерам. Если у каждого хранить полную копию, то нет bottleneck'а по scalability, всё линейно от количества юзверей.
Ну а как же если терабитные линки дешевле и надежнее, чем дисководы?
Может, у вас там в финансовой сфере не так, но в области storage bottleneck это CPU, на втором месте RAM, потом идёт network, а потом persistent storage (которого хоть жопой ешь).
У нас все решает воздушный линк и FPGA, хранить только если логи для комплаянса.
про нескольких адресатов это не такая распространенная проблема, имхо (разве что в корпоративном секторе).
важнее копировать отправленное и полученное одно и то же письмо и аттачи.
Если у вас есть указатель на некоторую структуру данных (например, на е-мейл), его можно скопировать двумя разными способами: (1) создать еще один указатель на ту же самую структуру, или (2) создать новую структуру, по содержанию равную исходной, и использовать указатель на нее.
Второй способ называется глубокой копией.
См. https://en.wikipedia.org/wiki/Object_copying
Понятно, спасибо.

Я бы, честно говоря, на всякий случай задался вопросом, а действительно ли при рассылке писем внутри гмэйла происходит копирование. Может, всё честно идёт по всем этим почтовым протоколам, разве что не выходя за пределы дата-центров компании.