

Uber перенесла базу данных c 1 трлн записей из DynamoDB в LedgerStore
Uber перенесла все свои данные о платёжных транзакциях из DynamoDB и хранилища BLOB-объектов в новое долгосрочное решение — LedgerStore. Компания стремится сократить расходы на $6 млн ежегодно.
Ранее Uber уже сократила использование DynamoDB для хранения «горячих» данных 12-недельной давности. Этот шаг привёл к значительной экономии и упрощению архитектуры хранения.
Uber создала свою платёжную платформу Gulfstream в 2017 году и использовала DynamoDB для хранения данных. Из-за роста затрат на хранение более старые записи переносили в TerraBlob, сервис, похожий на S3, который создали в Uber.
Тем временем компания начала работу над специализированным решением для хранения финансовых транзакций с гарантиями целостности данных. Каушик Девараджайя, технический руководитель Uber, объясняет: «LedgerStore — это неизменяемое решение для хранения, которое обеспечивает поддающуюся проверке полноту данных и гарантии правильности для обеспечения их целостности для транзакций. LedgerStore поддерживает надёжные и согласованные индексы. Для строго согласованных индексов хранилище данных использует двухфазную фиксацию. Сначала оно сохраняет отступ в индексе, а затем — запись. Наконец, если запись успешна, намерение асинхронно фиксируется или откатывается в случае сбоя. Во время чтения любые записи с незафиксированными намерениями либо фиксируются (если чтение завершается успешно), либо удаляются (если чтение записи завершается неудачно) асинхронно. LedgerStore реализует в конечном итоге согласованные индексы, используя материализованные представления из собственной базы данных Docstore, распределённой БД, построенной на основе MySQL».
Чтобы выгрузить старые данные реестра в холодное хранилище, LedgerStore использует индексы временного
Читать на habr.com