Обложка канала

Ivan Begtin

3903 @begtin

I am focused on Open Data, Procurement, e-Government, Open Government and other tech stuff

Ivan Begtin

5 лет назад
Открыть в
Языку SQL уже много, очень много лет, но он продолжает быть чуть-ли не основным для аналитиков данных, инженеров и иных специалистов по работе с данными. Разве что дата сайентисты в некоторых задачах могут избежать счастья работать с SQL и используют Python/Java/R и др. У SQL много достоинств и не меньше недостатков, главным из которых я бы назвал отсутствие удобных способов работы с не-плоскими данными, такими как JSON и тд. Время от времени появляются альтернативы, которые редко выходят за пределы конкретного продукта, но могут быть очень интересными. Итак: - SpyQL [1] гибрид SQL и Python, утилита командной строки позволяет выполнять SQL-похожие запросы с выражениями на Python внутри. Умеет работать с CSV, JSON и текстовыми файлами - LINQ [2] объектный родной для .NET язык запросов придуманный Microsoft. Не используется за пределами экосистемы .NET - SPARQL [3] язык запросов родом из Sematic Web. Сложен для непосвящённых, так и не получил массового распространения как и сами СУБД которые его поддерживает, но имеет немало, в первую очередь научных внедрений и использования. - GraphQL [4] изначально язык API, но есть немало СУБД для которых он уже стал нативным. Малопопулярен в среде обработки данных, но популярен для веб-продуктов, стыковки бэкэнда и фронтэнда. - Pony [5] специальный маппер выражений из своего синтаксиса в синтаксис SQL. Изначально написан для Python для работы с объектами для задач ORM. - LookML [6] язык запросов сервиса по визуализации Looker, свой формат, свой синтаксис. Пока мало где используемый за пределами Looker'а - Malloy [7] ещё один язык от Looker, относительно свежий - Prql [8] язык запросов ориентированный на преобразование данных. И многие другие. Защитники SQL возразят что современные SQL базы давно уже поддерживают JSON объекты и функции по работе с ними, а для гибкости пользовательские функции (UDF) можно реализовывать хоть на Python, хоть через .NET, хоть на других языках в зависимости от движка СУБД. Появится ли у SQL стандарта достойная признанная замена? Пока непонятно, но можно экспериментировать. Ссылки: [1] https://github.com/dcmoura/spyql [2] en.wikipedia.org/wiki/La…ed_Query [3] https://www.w3.org/TR/rdf-sparql-query/ [4] https://graphql.org/ [5] https://github.com/ponyorm/pony/ [6] docs.looker.com/data-mo…s-lookml [7] https://github.com/looker-open-source/malloy [8] https://github.com/max-sixty/prql #sql #nosql #queries #datatools
GitHub - dcmoura/spyql: Query data on the command line with SQL-like SELECTs powered by Python expressions

Query data on the command line with SQL-like SELECTs powered by Python expressions - GitHub - dcmoura/spyql: Query data on the command line with SQL-like SELECTs powered by Python expressions

GitHub