The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Google переименовал ZetaSQL в GoogleSQL "
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Google переименовал ZetaSQL в GoogleSQL "  +/
Сообщение от opennews (??), 04-Фев-26, 10:25 
Компания Google объявила о переименовании  SQL-анализатора ZetaSQL в GoogleSQL. Проект развивает инструментарий для разбора и анализа грамматики, семантики, типов, модели данных и функций для языка SQL и диалекта  GoogleSQL. Диалект GoogleSQL примечателен возможностью объединения запросов при помощи неименованных каналов (pipe) и  применяется в различных продуктах и сервисах Google, среди которых BigQuery, Spanner, F1, BigTable, Dremel и Procella. Код проекта написан на языке С++ и распространяется под лицензией  Apache 2.0...

Подробнее: https://www.opennet.dev/opennews/art.shtml?num=64735

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. Сообщение от Аноним (1), 04-Фев-26, 10:25   –3 +/
А как же NoSQL?! Потравили хипстеров, а сами продолжают писать SQL.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #5, #38

5. Сообщение от Аноним (5), 04-Фев-26, 10:53   +/
А это совершеено другая сфера применения. Иногда хочется много места чтобы хранить сотни галстуков, а иногда нужно подобрать правильный.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

6. Сообщение от Аноним (6), 04-Фев-26, 11:02   +/
Пробежался бегло по описанию пайпов, создалось впечатление, что они переизобретают CTE.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #10

9. Сообщение от Аноним (9), 04-Фев-26, 11:32   +1 +/
зато честно...
сразу по названию, разные целевые аудитории пойдут в разные стороны:
адепты и неофиты ГуГоЛя не перепутают дверь
другие сразу будут держаться по-дальше
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #18

10. Сообщение от Аноним (10), 04-Фев-26, 11:36   +2 +/
Фатальный недостаток, мсье!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6

12. Сообщение от Аноним (12), 04-Фев-26, 12:35   +2 +/
Минутка теории заговоров: можно переименовывать свои продукты каждый год, чтобы натренированные LLM конкурентов путались в ответах и ничего не знали про новое имя.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #14

13. Сообщение от Аноним (13), 04-Фев-26, 12:35   +3 +/
А YouTube когда в GoogleTube переименуют? Унификация под единым брендом уменьшит путаницу и упростит поиск материалов!
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #16, #24

14. Сообщение от пох. (?), 04-Фев-26, 12:52   –4 +/
Аллах с тобой, это как раз то немногое что ллмки отлично умеют.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12

15. Сообщение от Витюшка (?), 04-Фев-26, 12:54   –2 +/
А теперь берём... берём... лёгким движением руки видим что потрясающий nushell (и его язык программирования nu) - это не только "более удобная оболочка для админов".

И там идеи которые на поколения опережают эти вариации SQL.
ls | first 10 | where name = "Donny"

Ой, что это тут у нас? Язык запросов SQL с pipe и не только

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #17, #19, #20, #29, #30, #31, #44

16. Сообщение от Аноним (16), 04-Фев-26, 13:05   +2 +/
Когда рейтинги начнут падать.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13

17. Сообщение от Аноним (16), 04-Фев-26, 13:06   +/
Для для тех кто не умеет в анализ пояснить это хорошо или плохо?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15 Ответы: #22

18. Сообщение от Аноним (18), 04-Фев-26, 13:09   +/
>SQL-анализатора ZetaSQL в GoogleSQL

Да это вообще прям самое лучшее).

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9

19. Сообщение от Аноним (19), 04-Фев-26, 13:21   +2 +/
> И там идеи которые на поколения опережают эти вариации SQL.

SQL появился в 1973, если ты не в курсе. "Нп поколения", ага.

> ls | first 10 | where name = "Donny"

Гениально! Делаем листинг всей директории, чтобы откусить от него первые десять имен и найти среди них Donny.

> Ой, что это тут у нас? Язык запросов SQL с pipe

Нет, это костыльная портянка юникствых комманд для ФС, не имеющая никакого отношения к, собственно, структурированным запросам.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15 Ответы: #21, #25

20. Сообщение от Мемоним (?), 04-Фев-26, 13:37   +/
> ls | first 10 | where name = "Donny"

Пауэрщельно!

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15

21. Сообщение от Витюшка (?), 04-Фев-26, 13:38   +/
Мы же про язык сейчас говорим, синтаксис.
Конкретно в применении в движку реляционных баз данных - движок может делать всё что угодно пока сохраняется корректность результата. И ничего "последовательно" он делать не должен.

А этот запрос он логический. Он не говорит "как". Поколения - это технологически.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19

22. Сообщение от Витюшка (?), 04-Фев-26, 13:45   –1 +/
Ну если прикрутить это к движку баз данных - получится новый передовой язык запросов. Крайне удобный, строго типизированный.

То есть между ls | where... передаются данные которые тмпизированы (в отличие от bash где "всё есть строка".

А почему круто для баз данных? Потому что он работает (хоть и в памяти) с таблицами. Это и есть его основная структура.

Если в применении к обычному админству. Считай что ты пишешь те же самые SQL к базе данных в памяти. И данные одной команды полностью известны второй после оператора pipe. Это не просто "какая-то строка".

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #17

24. Сообщение от kusb (?), 04-Фев-26, 13:58   +/
Переименуют в Google - единое приложение и единый интегрированный сайт для всего, включая поиск, просмотр видео, платёжную систему, общение с ИИ...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13

25. Сообщение от анон (?), 04-Фев-26, 14:36   +/
>> ls | first 10 | where name = "Donny"
> Гениально! Делаем листинг всей директории, чтобы откусить от него первые десять имен
> и найти среди них Donny.

Генераторы? Не, не слышали! Даже "нормальный", древний ls не будет сначала читать всю директорию и лишь затем выводить содержимое.

Т.е. вполне сработает и в классическом варианте типа
ls | head -n10|фильтр
с той разницей, что фильтр из-за "весь выхлоп - лишь строка" придется долго и вдумчиво велосипедить.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19 Ответы: #32, #35

26. Сообщение от Джон Титор (ok), 04-Фев-26, 14:45   +/
Впервые слышу об этом инструментарии. Может кто дать больше информации зачем он нужен?
Ответить | Правка | Наверх | Cообщить модератору

29. Сообщение от Аноним (29), 04-Фев-26, 16:02   –1 +/
> потрясающий nushell
> ls | first 10 | where name = "Donny"

Через head и grep это делалось когда тебя ещё в проекте не было, безо всяких sql, васянских шеллов и тем более маргинальных яп.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15 Ответы: #39

30. Сообщение от Аноним (32), 04-Фев-26, 17:05   +/
>лёгким движением руки видим что потрясающий nushell

У вас есть реальный опыт использования? Как там с интеграцией сторонних команд?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15 Ответы: #42

31. Сообщение от Аноним (32), 04-Фев-26, 17:13   +/
>Ой, что это тут у нас? Язык запросов SQL с pipe и не только

Здесь и близко никакого sql нет. pipe к sql не имеет абсолютно никакого отношения.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15

32. Сообщение от Аноним (32), 04-Фев-26, 17:29   +/
>с той разницей, что фильтр из-за "весь выхлоп - лишь строка" придется долго и вдумчиво велосипедить.

Революция отменяется, расходимся.
https://www.nushell.sh/commands/docs/ls.html
>input    output
>nothing    table

Единственное, что у них нормально расписано, так это ключи, но и то, поскольку они простые. Зачем-то приведены примеры, раскрытия glob выражений, хотя к ls glob выражения не имеют никакого отношения. Возвращаемый тип не описан.

Язык для написания факториалов^W листнга файлов.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25 Ответы: #34

34. Сообщение от анон (?), 04-Фев-26, 18:19   +1 +/
> Возвращаемый тип не описан.

Дык, иногда таки все же желательно читать доки "с нуля", а не додумывать, как оно там на самом деле может/дóлжно быть:


ls | describe
table<name: string, type: string, size: filesize, modified: datetime> (stream)
ls -l |describe

table<name: string, type: string, target: nothing, readonly: bool, mode: string, num_links: int, inode: int, user: string, group: string, size: filesize, created: datetime, accessed: datetime, modified: datetime> (stream)

ls /usr/local/bin | where size < 100B and modified > ('2 months ago'|date from-human)|take 1
╭───┬─────────────────────────────────┬─────────┬──────┬─────────────╮
│ # │              name               │  type   │ size │  modified   │
├───┼─────────────────────────────────┼─────────┼──────┼─────────────┤
│ 0 │ /usr/local/bin/androiddeployqt6 │ symlink │ 30 B │ 2 weeks ago │
╰───┴─────────────────────────────────┴─────────┴──────┴─────────────╯


Не, оно конечно не без шероховатостей и так и хочется заявить, что "н.и.н.y.жна! Диды и без этого прекрасно костыляли!", но что-то в этом есть. Особенно в привязке к типам/полям.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #32

35. Сообщение от Аноним (35), 04-Фев-26, 18:20   +/
> Даже "нормальный", древний ls не будет сначала читать всю директорию и лишь затем выводить содержимое.

Вообще-то будет, ибо там сортировка.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25 Ответы: #36

36. Сообщение от анон (?), 04-Фев-26, 19:31   +/
>> Даже "нормальный", древний ls не будет сначала читать всю директорию и лишь затем выводить содержимое.
> Вообще-то будет, ибо там сортировка.

Кхе, опции -f / -U спецом для этого:


/* In this narrow case, print out each name right away, so
                 ls uses constant memory while processing the entries of
                 this directory.  Useful when there are many (millions)
                 of entries in a directory.  */
              if (format == one_per_line && sort_type == sort_none
                      && !print_block_size && !recursive)

Да и

ls -R /usr/src | head -n10
Добавит изначальные диры(первого уровня) в queue и будет вызывать для каждого элемента этой очереди print_dir, в котором опять таки, найденые субдиры будут добавляться в очередь вывода. Constant memory конечно не будет, но не все 100500 поддиректорий вместе с содержимым "одним куском". Т.е. после вывода первых 10 строк - усе, кино кончилось.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #35 Ответы: #37

37. Сообщение от Аноним (37), 04-Фев-26, 19:47   +/
>>> Даже "нормальный", древний ls не будет сначала читать всю директорию и лишь затем выводить содержимое.
>> Вообще-то будет, ибо там сортировка.
> Кхе, опции -f / -U спецом для этого

Каеф. Расскажи еще, какие там еще флажки нужно добавить, чтобы ваши башпортянки работали, как положено?

Ты, видимо, пропустил, что изначальная кривость его "ls | first 10 | where name = "Donny"" в том, что фильтрация идет после отсечения первых 10 элементов. А если делать, как он задумал, то нужно наоборот. Это во-первых. А во-вторых, при таком раскладе с твоим -f/-U у тебя будет каждый раз рандомный выхлоп (сортировки-то нет).

Вобщем, сношайтесь сами со своими кривыми велосапедами и трогайте SQL.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #36 Ответы: #43

38. Сообщение от Аноним (38), 04-Фев-26, 19:50   –1 +/
NoSQL старше SQL, но очередной специалист из комментариев втавит свое важное мнение...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #40

39. Сообщение от анон (?), 04-Фев-26, 19:55   +/
> Через head и grep это делалось когда тебя ещё в проекте не

А теперь грепни по дате, о великий защитник скреп 🤦

> было, безо всяких sql, васянских шеллов и тем более маргинальных яп.

Во-во, деды и прадеды без теплых ватерклосетов жили и мы как нибудь перебьемся. И вообще, забеги по граблям "весь выхлоп - лишь длинная строка" укрепляют лоб 🙄 ...


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #29 Ответы: #41

40. Сообщение от Аноним (40), 04-Фев-26, 20:11   +/
nosql это все что не sql, даже простой текстовый файл в редакторе с поиском по тексту, чаще под nosql понимают документные или столбцовые базы или др, по сути просто денормализованные данные
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #38

41. Сообщение от Витюшка (?), 04-Фев-26, 20:14   +/
В принципе нас к этому активно готовят. А тут люди уже сами подготовленные)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #39

42. Сообщение от Витюшка (?), 04-Фев-26, 20:22   +/
Там есть стандарт (протокол) - команды можно писать самому любые на Rust, можно и на Python - это вроде как оффициально. А так на любом языке.

Даже сами "системные" (поставляемые с nushell) команды так написаны, как сторонние, а не прибиты.
Смотря что иметь ввиду под этом. Я в нем постоянно работаю, это мой основной shell. Пишу на нем все скрипты, автоматизацию. Но, все таки прямо до полноценного языка не дотягивает (из-за системы типов) - в том смысле что ручки так и тянутся (иногда) к Rust.

Но именно как замена bash, sh, для скриптов (а не целые программы на нем писать) это идеальный вариант. А для серьезного всегда можно это написать в виде сторонней команды.

Сторонние команды должны реализовывать протокол взаимодействия. И он сразу и полностью встраивается в экосистему команды. Все базовые команды можно будет применять.

Ну например ты лезешь на какой-то сервер погоды, получаешь погоду столиц и возвращаешь в виде таблички. Все. Все сортировки, фильтры, манипуляции ("верни первые 10 строк") будут работать.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #30

43. Сообщение от анон (?), 04-Фев-26, 20:27   +/
> Ты, видимо, пропустил, что изначальная кривость его "ls | first 10 |

Я окончательно понял, что ты прискипался к семантике примера, потому что больше не к чему. И что сама идея за этим тебе не интересна, лишь унылый сра* ради непонятно чего ...  

>> Кхе, опции -f / -U спецом для этого
> Каеф. Расскажи еще, какие там еще флажки нужно добавить, чтобы ваши башпортянки
> работали, как положено?

Каеф. WSLщики совсем не палятся. Флажки, как и кусок кода, из "нормальной", гну/бзд реализации ls.
А так все хорошо, прекрасная маркиза 😀

> А во-вторых, при таком раскладе с твоим -f/-U у тебя будет каждый раз рандомный выхлоп (сортировки-то нет).

Ох уж эти опеннетные теоретики:


# берем ченибудь с кучей файлов и дир
% /bin/ls -fR /usr/src|wc -l
  138936
% repeat 10 {/bin/ls -fR /usr/src|md5}
68274692f10674eccb1080046607376c
68274692f10674eccb1080046607376c
68274692f10674eccb1080046607376c
68274692f10674eccb1080046607376c
68274692f10674eccb1080046607376c
68274692f10674eccb1080046607376c
68274692f10674eccb1080046607376c
68274692f10674eccb1080046607376c
68274692f10674eccb1080046607376c
68274692f10674eccb1080046607376c

Как ты видишь, я могу тоже прискипаться к чему-нибудь. Просто это не интересно: какой-то унылый сра* ради сра*а получается.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #37 Ответы: #45

44. Сообщение от _ (??), 04-Фев-26, 22:17   +/
> И там идеи которые на поколения опережают эти вариации SQL.
> ls | first 10 | where name = "Donny"
> Ой, что это тут у нас? Язык запросов SQL с pipe и не только

Nope! This is freaking M$ PowerShell 8-)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15

45. Сообщение от Аноним (37), 04-Фев-26, 22:54   +/
> Я окончательно понял, что ты прискипался к семантике примера, потому что больше не к чему. И что сама идея за этим тебе не интересна

Какая еще идея? Лепить упоротые дедовские имена из 2-3 букв вместо читаемого SQL? Или что вы там пытаетесь изобрести?

>> Расскажи еще, какие там еще флажки нужно добавить, чтобы ваши башпортянки работали, как положено?
> Флажки, как и кусок кода, из "нормальной", гну/бзд реализации ls.

Ты вообще не понял, о чем речь шла. А она было о том, что ты сперва пел о "ls не читает весь каталог", а потом оказалось, что таки читает и нужно какие-то флажки добавлять. Если даже на тривиальном примере нужно костылять с флажками, то для более серьезных, вероятно, нужно будет еще больше флажков.

>> А во-вторых, при таком раскладе с твоим -f/-U у тебя будет каждый раз рандомный выхлоп (сортировки-то нет).
> Ох уж эти опеннетные теоретики:
> repeat 10 {/bin/ls -fR /usr/src|md5}

Аплодирую стоя! Чел, ты не в курсе, что порядок, в котором система выдает тебе файлы, зависит от ФС и ее текущего состояния? Да, ты подергал ls несколько раз подряд и получил тот же листинг, но когда кучка файлов добавится/удалиться, порядок может быть другим. Это и есть рандом: сейчас порядок один, а через N часов - уже другой.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #43


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2026 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру