Как вы отделяете хранилище и вычисляете ресурсы, не теряя преимуществ локально подключенного хранилища?
Такие сервисы, как DynamoDB (не конкретно, но это было первое, что пришло на ум), обеспечивают динамическое масштабирование как для записи / чтения (то есть для вычисления), так и для емкости хранения.
Это означает, что вы можете иметь размер таблицы DynamoDB в терабайтах с нулевой емкостью при чтении или записи. Важно отметить, что вы также платите только за хранение, так как никаких операций чтения / записи не производится.
Если узлы DynamoDB используют локально подключенное хранилище (предположительно, из-за задержек), что они делают с незанятыми ЦП этих узлов?
Мотивация для этого вопроса заключается в том, что в настоящее время я работаю с хранилищем данных на экземплярах AWS EC2, уже на типах экземпляров с наибольшей емкостью SSD (класс i3), где потребности в емкости значительно превышают потребности в вычислениях / памяти / сети, что приводит к большей части узлы, имеющие свободные процессоры, т. е. потраченные впустую деньги.
Как эффективно обеспечить хранение и вычислить ресурсы, не теряя при этом преимущества локально подключенного хранилища? Как это делают установленные системы, такие как AWS DynamoDB?