Чтобы ответить на ваш первый вопрос, да, хранилище ключей / значений - это просто, вы сохраняете ключ и значение, связанное с этим ключом.И вы делаете запрос на основе ключа.
Большие преимущества, которые вы получаете от этого,
- Масштабируемость.Теперь вы можете легко распределять свои данные по многим (тысячам) машинам.Это то, что традиционная СУБД не очень хороша, объединения и гарантии на многих машинах либо невозможны, либо очень медленны.
Facebook также имеет много данных, которые не соответствуют модели отношенийобычные СУБД использует, а именно графы.Это означает, что они сами запрашивают / хранят / обрабатывают графическую природу данных вместо того, чтобы обрабатывать их с помощью SQL.
Стоимость такого способа сложна, и часто приходится тратить несколько пунктов * 1011.* ACID свойства.
Остальные из нас, это не facebook / google / linkedin / etc.которые могут обрабатывать сайты с количеством пользователей до нескольких миллионов, обычно могут просто использовать традиционную базу данных.