Dlaczego nie możemy wykonywać sprzężeń w rozproszonej bazie danych, takiej jak Bigtable?

Odpowiedzi:

12

Bigtable nie używa SQL (języka zapytań), więc SQL nie może być użyty bezpośrednio do zapytania do bazy danych. A Bigtable nie ma „relacji” w taki sam sposób, jak relacyjnych baz danych, jest bardziej jak puste tabele.

Jeśli chcesz uzyskać dane z dwóch tabel, musisz wykonać dwa wyszukiwania i połączyć zestaw wyników w kodzie aplikacji. Innymi słowy, operacja „dołączenia” nie jest wbudowana w bazie danych, więc w razie potrzeby musisz wykonać tego rodzaju operacje w aplikacji.

Fakt, że Bigtable nie obsługuje operacji SQL i JOIN, nie ma nic wspólnego z tym, że jest to system rozproszonej bazy danych. Istnieją rozproszone bazy danych obsługujące SQL. Np. VoltDB i MySQL Cluster . Istnieje również wiele baz danych, które nie są dystrybuowane i nie używają SQL, np. Kyoto Cabinet .

Jonas
źródło