Из этого ответа на вопрос "Какую базу данных использует Google?" :
Bigtable не является реляционной базой данных. Он не поддерживает объединения и не поддерживает расширенные SQL-подобные запросы.
Это очевидно? Я не понимаю, почему.
Из этого ответа на вопрос "Какую базу данных использует Google?" :
Bigtable не является реляционной базой данных. Он не поддерживает объединения и не поддерживает расширенные SQL-подобные запросы.
Это очевидно? Я не понимаю, почему.
Ответы:
Bigtable не использует SQL (язык запросов), поэтому SQL нельзя использовать напрямую для запроса к базе данных. И Bigtable не имеет «отношений» так же, как реляционные базы данных, это больше похоже на голые таблицы.
Если вы хотите получить данные из двух таблиц, вам нужно выполнить два поиска и объединить результирующий набор в коде приложения. Другими словами, операция «соединение» не встроена в базу данных, поэтому вы должны выполнять такие операции в приложении, если это необходимо.
Тот факт, что Bigtable не поддерживает операции SQL и JOIN, не имеет ничего общего с тем, что это система распределенных баз данных. Существуют распределенные базы данных, поддерживающие SQL. Например, VoltDB и MySQL Cluster . Есть также много баз данных, которые не распространяются и не используют SQL, например, Kyoto Cabinet .