Optimizing Straddled Joins in Readyset: From Hash Joins to Index Condition Pushdown Introduction Readyset is designed to serve queries from cached views with sub-millisecond latency. This post focuses on the cold path—cases where a cache miss forces execution against the base tables. In these scenarios, Readyset must evaluate the query from scratch, including materializing intermediate results. Th
生成AIモデルと他のツールをつなぐためのプロトコル「モデル・コンテキスト・プロトコル(MCP)」に脆弱(ぜいじゃく)性があり、アクセストークンなど機密性の高い情報が漏れてしまう可能性があることがわかりました。これは、モデルが悪意のある指示とそうでない指示を見分けられないために起こります。 Supabase MCP can leak your entire SQL database | General Analysis https://www.generalanalysis.com/blog/supabase-mcp-blog AIモデルとツールをつないでユーザーの指示を遂行する場合、MCPというプロトコルで情報の橋渡しが行われることがあります。この際、モデルからモデルへ渡されるシステムプロンプト、ユーザー指示、データコンテキストは、すべてテキストとしてLLMに提供されます。ここで問題になる
メルカリのデータアナリストの@__hiza__です。メルカリではデータアナリストとして日々SQLを使ったデータ分析をしつつ、業務外ではPythonを使ったアプリケーション開発を行っており、どちらの作業にもLLMを活用しています。 この記事ではデータアナリストに向けて、LLMにSQLを作成させて効率的にデータ分析を行うテクニック と、その背景にある応用可能な考え方を説明します。 関連記事メルカリでは、LLMをデータ分析の現場に活かすさまざまな取り組みが生まれています。 例えば、対話形式で誰でも手軽にデータ分析ができる社内ツール「Socrates」があります。これはデータアナリストに限らず、より多くのメンバーがデータを活用できるようになる強力なツールです。 一方で、私たちデータアナリストが日々向き合う、より複雑で専門的な分析を効率化する取り組みも行っています。 先日、私と同じデータアナリストの
Getting AI to write good SQL: Text-to-SQL techniques explained Organizations depend on fast and accurate data-driven insights to make decisions, and SQL is at the core of how they access that data. With Gemini, Google can generate SQL directly from natural language — a.k.a. text-to-SQL. This capability increases developer and analysts’ productivity and empowers non-technical users to interact dire
はじめに データ活用と生成AI 構造化されたデータと生成AI 事例 Uber LinkedIn Pinterest さいごに はじめに ikki-sanのデータ活用の民主化へのコメントをそうだなと思いながら読んで、最近自分もそんな感じの領域のことをベンダー所属のプロダクトマネージャーとしてやっているので、考えていることをまとめてみる。 この数年間で「データの民主化」はイマイチ進まなかった印象ですが、その原因は「SQLの習得難易度」によるところが大きい。そこに関しては生成AIで相当解決されるはずなので、今後はデータの民主化がスタンダードになると予想しています。— ikki / stable代表 (@ikki_mz) 2025年4月7日 データ活用と生成AI これまで社内に蓄積された構造化されたデータを取得・操作するにはSQLおよびデータベースの理解が必要であり、その理解がない人たちは誰かにデ
はじめに paiza1 の新作プログラミングゲーム「電脳少女プログラミング2088 ─壊レタ君を再構築─」を題材に、Rust と SQL の基本的な用語や使い方を解説します。 このゲーム2は、「プログラミング問題」と「データベース問題」を解きながらストーリーを進めていく形式で、プログラミング初心者でも楽しく学ぶことができます。 新しく言語を学ぶときに最初のハードル になるのが『環境構築』ですが、paiza では環境構築が不要で、ブラウザ上で実行できるため、手軽にプログラミング言語やデータベース言語を学ぶことができます。 対象読者 他のプログラミング言語の経験がある方を対象としています。 SQL は経験がなくても問題ありません。 本記事の構成 本記事は、大きく以下の 2 つのセクションで構成されています。 プログラミング問題 データベース問題 各セクションの冒頭で「前提知識」を解説し、その後
はじめに はじめまして、DMMで電子書籍のデータ分析をしている栃沢と申します。 日々、キャンペーン・クーポンの効果検証、UI改善、ABテスト設計などの仕事をしています。入社当初は「長くて複雑なSQLクエリを書く」ことに苦労しました。(もちろん今もですがw) データ分析の現場では、基本的なSQLの知識だけでは不十分だと感じています。 実務では、複数のテーブルを結合したり、サブクエリやウィンドウ関数を駆使したりと、より高度なSQLのスキルが求められます。しかし、これらを独学で習得するのは容易ではないと思います。 SQLを学べる書籍やオンラインサービスなどあることにはあるのですが、ほとんどがソフトウェアエンジニア向けであり、データアナリストが実際の業務で必要とするSQLを学べる場は少ないと感じています。 こうした背景から、データアナリストやビジネスアナリスト向けに、より実務に直結するSQL学習環
TL;DR これができる機能です。 TypeScript with Prisma ⇩ Rust with SQLx ⇩ SQL ファイルだけでなく、他のファイルの生 SQL クエリ(Raw SQL Query)に対しても SQL の LSP が効きます。 現在は TypeScript 上 の Prisma と Rust の SQLx をデフォルトでサポートしています。Prisma のみ、SQL のシンタックスハイライトが効きます。 なお、タイトル詐欺です。 sqlsurge の設定 名前は sqlsurge[1] です。sqlsurge では SQL の Language Server に Golang 製 の sqls を使っているので、 Golang sqls が必須となります。sqls をインストールしている人は限られていると思うのでインストールガイドを用意しました。 TypeScr
newmo では、地図データや地理情報を扱う場面が多くあります。 たとえば、タクシーやライドシェアでは、営業区域のような営業していいエリアといった地理的な定義があります。 また、乗り入れ禁止区域のようなタクシーが乗り入れてはいけないエリアといった定義も必要になります。 これらの地理に関する定義は GeoJSON のような地理情報を扱うデータ形式で管理されることが多いです。 しかし、GeoJSONなどの定義をテキストとして手書きするのは困難です。 そのため、地図上に区域を作図するエディタやその定義した区域が正しいかをチェックするような管理ツールが必要です。 管理ツールは、ウェブアプリケーションとして作った方が利用できる環境が広がります。 このような地理情報は一度に扱うデータが多かったり、空間的な計算処理が必要になるため、専用の仕組みを使うことが多いです。 このような技術を、地理情報システム(
生SQLを扱う $queryRaw TypeScript向けのORMライブラリとしてPrismaがあります。Prismaは直感的で型安全なAPIを提供し、TypeScript向けのORMとしては第一に名前が上がることが多いライブラリです。 しかしそんな人気なPrismaでも、裏側では少しクセのあるSQLが発行されていたり、欲しいSQLがPrismaのAPIでは実現できない場合があります。 そういった場合のために $queryRaw というメソッドが用意されており、これを使うことで生SQLを書いてその結果を受け取ることができました。他のORMにもよくある機能です。 例えば以下のように実装することができます。 const users = await prisma.$queryRaw` SELECT id, name FROM "Users" WHERE id = ${userID} `; co
こんにちは。SUZURI事業部の@kromiiiと申します。 私のメインの業務はWebアプリケーションの開発ですが、大学院時代のスキルを活かして並行してデータ分析業務も行っています。 データ分析業務ではデータベースのクエリを書くことが多いのですが、私自身SUZURI事業部に配属されたばかりで、テーブルの名前やリレーションを覚えるのが大変でした。そこでクエリの設計を自動化するツールをSlackに導入しました。 その名も tbls-ask bot です。どのようなものか先に見てみましょう。 ユーザーはSlackでメンションする形で、どのようなクエリを実行したいのか自然言語で入力します。 メンションされるとSlack botが起動し、どのDBスキーマを利用するかを尋ねます。 ユーザーがDBスキーマを選択すると、自然言語からSQLクエリを生成し、Slackに返答します。 今回はパブリックに公開する
クラウドベースのデータウェアハウスサービスを展開する企業のSnowflakeが、トップレベルのエンタープライズ向け大規模言語モデル(LLM)として「Snowflake Arctic」をリリースしました。Apacheライセンス バージョン2.0で提供されるオープンなモデルとなっており、無料で商用利用も可能です。 Snowflake Arctic - LLM for Enterprise AI https://www.snowflake.com/blog/arctic-open-efficient-foundation-language-models-snowflake/ Snowflakeの調査では、企業ユーザーはAIを使用して主にデータ支援やコード支援、検索拡張生成(RAG)を行うチャットボットを作成したい場合が多いとのこと。そこで、Snowflakeは「コーディング能力」「SQL生成能力
igaです。 ポケモンsleepを継続していますが、カビゴン評価がマスターになれません。 ChatGPTが見たり、聞いたり、話したりできるようになる、と言われている「GPT-4 with vision (GPT-4V)」が使えるようになったので、早速使ってみたいと思います。 openai.com 今回は、データベースのテーブル関連図を画像ファイルでもらった想定で、画像からテーブルのDDLが生成できるかを確認してみます。 やりたいこと 以下のような、テーブルの関連図とサンプルデータが描かれた画像ファイルをもらいました。 この画像ファイルをChatGPT-4に渡して、SQLのDDLが生成できるか確認します。 画像を解釈できるか確認する いきなりDDLを作らせる前に、まずは画像ファイルに書かれたテーブル構造を、マークダウンで出力してもらいます。 プロンプトの入力欄の左に絵のアイコン(画像の赤で囲
この記事はNuco Advent Calendar 2022の17日目の記事です。 ワンランク上のSQLとは? 1年近く、データ分析に関わる業務に携わっってきた中で、良いSQL、いまいちなSQLをいろいろ見てきました。 自分が書くSQLも、最初の頃は目も当てられないSQLも書いてきました。そんな中で、こんなことを意識していくと、より良いSQLになるのでは?というポイントをまとめていきます。 とりあえずSQLの文法は一通り勉強して、取得したいデータをとってくるSQLをかけるようになったぞ。という人に向けたものなので、本当に基礎的な文法は解説していません。 ワンランク上のSQLを書くためのポイントは、 ・読みやすい ・再利用しやすい ・処理が早い の3つを押さえられているかどうかだと感じています。 可読性が高いメリット 間違いにくくなる/デバックが容易になる エラーが出てくれれば間違っているこ
ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。Yahoo!広告のデータマーケティングソリューション(以下、DMS)を開発しているデータアナリストの薄田です。 みなさんは、中間テーブル同士が複雑に絡み合い変更しようにも影響範囲を推定できず、手がつけられない分析パイプラインの保守で苦労された経験はないでしょうか? 私のチームでは数千行におよぶ分析用SQLをリファクタリングして、保守性と生産性を両立する分析パイプラインに生まれ変わらせることができました。 この記事ではリファクタリングを通して確立した、分析用SQLを構造化するための4原則を紹介します。4原則を意識しながらSQLを書くことで、高凝集・疎結合な分析パイプラインを作ることができます。 この記事では凝集度と結合度
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く