Почему в хранилище данных Google нет ИЛИ? - PullRequest
2 голосов
/ 13 сентября 2010

По справочнику GQL ,

В GQL нет оператора ИЛИ. Тем не менее, он имеет оператор IN, который обеспечивает ограниченную форму ИЛИ.

Я знаю, что это не было реализовано по какой-то веской причине, но мне интересно, что может быть этой причиной.

1 Ответ

2 голосов
/ 13 сентября 2010

В Bigtable, как и в любой другой базе данных, запрос «ИЛИ» более или менее соответствует выполнению нескольких запросов и объединению результатов. Поскольку хранилище данных стремится не скрывать работу (например, делать дорогие вещи взаимозаменяемо с дешевыми вещами), вам остается сделать это, по крайней мере, на данный момент.

Две вещи могут изменить это в ближайшем будущем: поддержка асинхронных запросов будет означать, что можно будет реализовать эту поддержку в SDK (путем выполнения и объединения нескольких запросов в фоновом режиме), аналогично тому, как выполняются запросы IN. и работа Альфреда Фуллера и команды хранилища данных по запросам следующего поколения обеспечит первоклассную поддержку более сложных запросов.

...