9

From this answer to "What database does Google use?":

Bigtable is not a relational database. It does not support joins nor does it support rich SQL-like queries.

Is this obvious? I do not understand why.

Misha Brukman
  • 208
  • 2
  • 12
Lazer
  • 3,361
  • 15
  • 43
  • 53

1 Answers1

12

Bigtable doesn't use SQL (a query language) so SQL can't be used directly to query the database. And Bigtable doesn't have "relations" in the same way as relational databases, it's more like bare tables.

If you want to get data from two tables, you have to do two lookups, and combine the result set in the application code. In other words the "join" operation is not built-in in the database, so you have to do that kind of operations in the application, if needed.

The fact that Bigtable doesn't support SQL and JOIN operations has nothing to do with that it is a distributed database system. There are distributed databases that has support for SQL. E.g. VoltDB and MySQL Cluster. There are also many databases that aren't distributed and doesn't use SQL e.g. Kyoto Cabinet.

Misha Brukman
  • 208
  • 2
  • 12
Jonas
  • 33,945
  • 27
  • 62
  • 64