Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Yuki Takeichi
PDF, PPTX
2,394 views
Datalogからsqlへの トランスレータを書いた話
2015.10.08に開催された「理論から学ぶデータベース実践入門Night」でLTした際のスライド
Software
◦
Read more
0
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 11
2
/ 11
3
/ 11
4
/ 11
5
/ 11
6
/ 11
7
/ 11
8
/ 11
9
/ 11
10
/ 11
11
/ 11
More Related Content
PDF
AutoEncoderで特徴抽出
by
Kai Sasaki
PPT
Datomic&datalog紹介
by
あしたのオープンソース研究所
PPTX
Apache Spark チュートリアル
by
K Yamaguchi
PDF
20021127 ku-librarians勉強会 #38 : Where can I go? : OpenURLによる状況判断型リンク(SFXを中心として)
by
kulibrarians
PPTX
20080201
by
小野 修司
PDF
20150520 lt-neo4j勉強会-neofj fdw
by
Toshi Harada
PPTX
[db tech showcase Tokyo 2017] A15: レプリケーションを使用したデータ分析基盤構築のキモ(事例)by 株式会社インサイトテ...
by
Insight Technology, Inc.
PDF
Pgunconf neo4j fdw
by
Toshi Harada
AutoEncoderで特徴抽出
by
Kai Sasaki
Datomic&datalog紹介
by
あしたのオープンソース研究所
Apache Spark チュートリアル
by
K Yamaguchi
20021127 ku-librarians勉強会 #38 : Where can I go? : OpenURLによる状況判断型リンク(SFXを中心として)
by
kulibrarians
20080201
by
小野 修司
20150520 lt-neo4j勉強会-neofj fdw
by
Toshi Harada
[db tech showcase Tokyo 2017] A15: レプリケーションを使用したデータ分析基盤構築のキモ(事例)by 株式会社インサイトテ...
by
Insight Technology, Inc.
Pgunconf neo4j fdw
by
Toshi Harada
What's hot
PPTX
データベース入門
by
拓 小林
PDF
GMO プライベート DMP で ビッグデータ解析をするために アプリクラウドで Apache Spark の検証をしてみた
by
Tetsuo Yamabe
PPTX
20071204
by
小野 修司
PDF
Core Data の概要と NSIncrementalStore
by
Tetsuya Kaneuchi
PDF
chapter6
by
ymk0424
PDF
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
by
Treasure Data, Inc.
PPTX
20161127 doradora09 japanr2016_lt
by
Nobuaki Oshiro
PDF
トピックモデルの話
by
kogecoo
PDF
2015-11-17 きちんと知りたいApache Spark ~機械学習とさまざまな機能群
by
Yu Ishikawa
PDF
Learning spaerk chapter03
by
Akimitsu Takagi
PPTX
情報の構造化@Linked Open Data連続講座(2014.6.2)
by
Ikki Ohmukai
PDF
ナレッジグラフ/LOD利用技術の入門(後編)
by
KnowledgeGraph
PDF
LODを始めるにあたって「最初に試すとよい」ツールの紹介
by
Kouji Kozaki
PDF
Object-Functional Analysis and Design : 次世代モデリングパラダイムへの道標
by
Tomoharu ASAMI
PPTX
データサイエンティスト必見!M-1グランプリ
by
Satoshi Kitajima
PDF
20170312 r言語環境構築&dplyr ハンズオン
by
Nobuaki Oshiro
PPTX
巨大なサービスと膨大なデータを支えるプラットフォーム
by
Tetsutaro Watanabe
PPTX
ポータル研修 201208 天野_発表用
by
Eriko Amano
PPTX
LINQ の概要とかもろもろ
by
ShinichiAoyagi
PDF
GeneratingWikipedia_ICLR18_論文紹介
by
Masayoshi Kondo
データベース入門
by
拓 小林
GMO プライベート DMP で ビッグデータ解析をするために アプリクラウドで Apache Spark の検証をしてみた
by
Tetsuo Yamabe
20071204
by
小野 修司
Core Data の概要と NSIncrementalStore
by
Tetsuya Kaneuchi
chapter6
by
ymk0424
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
by
Treasure Data, Inc.
20161127 doradora09 japanr2016_lt
by
Nobuaki Oshiro
トピックモデルの話
by
kogecoo
2015-11-17 きちんと知りたいApache Spark ~機械学習とさまざまな機能群
by
Yu Ishikawa
Learning spaerk chapter03
by
Akimitsu Takagi
情報の構造化@Linked Open Data連続講座(2014.6.2)
by
Ikki Ohmukai
ナレッジグラフ/LOD利用技術の入門(後編)
by
KnowledgeGraph
LODを始めるにあたって「最初に試すとよい」ツールの紹介
by
Kouji Kozaki
Object-Functional Analysis and Design : 次世代モデリングパラダイムへの道標
by
Tomoharu ASAMI
データサイエンティスト必見!M-1グランプリ
by
Satoshi Kitajima
20170312 r言語環境構築&dplyr ハンズオン
by
Nobuaki Oshiro
巨大なサービスと膨大なデータを支えるプラットフォーム
by
Tetsutaro Watanabe
ポータル研修 201208 天野_発表用
by
Eriko Amano
LINQ の概要とかもろもろ
by
ShinichiAoyagi
GeneratingWikipedia_ICLR18_論文紹介
by
Masayoshi Kondo
Viewers also liked
PPTX
ならば(その弐)
by
Tomoaki Hiramoto
PDF
NULLとの戦い RDBMS実装編
by
Meiji Kimura
ODP
集合演算を真っ向から否定するアレの話
by
Kouhei Aoyagi
PPTX
理論から学ぶデータベース実践入門Night(mvccでちょっとハマった話)
by
Hironori Miura
PDF
なぜ、いまリレーショナルモデルなのか
by
Mikiya Okuno
PDF
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
by
Mikiya Okuno
PPTX
Writing Yarn Applications Hadoop Summit 2012
by
Hortonworks
PDF
リレーショナルな正しいデータベース設計
by
Mikiya Okuno
PDF
Database smells
by
Mikiya Okuno
PDF
Cloudera Manager4.0とNameNode-HAセミナー資料
by
Cloudera Japan
PPTX
Future of HCatalog - Hadoop Summit 2012
by
Hortonworks
PDF
20120830 DBリファクタリング読書会第三回
by
都元ダイスケ Miyamoto
PDF
【17-E-3】 オンライン機械学習で実現する大規模データ処理
by
Developers Summit
PDF
並列データベースシステムの概念と原理
by
Makoto Yui
PDF
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)
by
Satoshi Yamada
ODP
Data analytics with hadoop hive on multiple data centers
by
Hirotaka Niisato
PDF
Lars George HBase Seminar with O'REILLY Oct.12 2012
by
Cloudera Japan
PDF
あなたの知らないPostgreSQL監視の世界
by
Yoshinori Nakanishi
KEY
Hadoop Summit 2012 - Hadoop and Vertica: The Data Analytics Platform at Twitter
by
Bill Graham
PDF
【SQLインジェクション対策】徳丸先生に怒られない、動的SQLの安全な組み立て方
by
kwatch
ならば(その弐)
by
Tomoaki Hiramoto
NULLとの戦い RDBMS実装編
by
Meiji Kimura
集合演算を真っ向から否定するアレの話
by
Kouhei Aoyagi
理論から学ぶデータベース実践入門Night(mvccでちょっとハマった話)
by
Hironori Miura
なぜ、いまリレーショナルモデルなのか
by
Mikiya Okuno
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
by
Mikiya Okuno
Writing Yarn Applications Hadoop Summit 2012
by
Hortonworks
リレーショナルな正しいデータベース設計
by
Mikiya Okuno
Database smells
by
Mikiya Okuno
Cloudera Manager4.0とNameNode-HAセミナー資料
by
Cloudera Japan
Future of HCatalog - Hadoop Summit 2012
by
Hortonworks
20120830 DBリファクタリング読書会第三回
by
都元ダイスケ Miyamoto
【17-E-3】 オンライン機械学習で実現する大規模データ処理
by
Developers Summit
並列データベースシステムの概念と原理
by
Makoto Yui
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)
by
Satoshi Yamada
Data analytics with hadoop hive on multiple data centers
by
Hirotaka Niisato
Lars George HBase Seminar with O'REILLY Oct.12 2012
by
Cloudera Japan
あなたの知らないPostgreSQL監視の世界
by
Yoshinori Nakanishi
Hadoop Summit 2012 - Hadoop and Vertica: The Data Analytics Platform at Twitter
by
Bill Graham
【SQLインジェクション対策】徳丸先生に怒られない、動的SQLの安全な組み立て方
by
kwatch
Datalogからsqlへの トランスレータを書いた話
1.
DatalogからSQLへの トランスレータを書いた話 理論から学ぶデータベース実践入門Night LT 2015.10.8 @tacke_jp
2.
$ whoami • 武市融紀
( @tacke_jp ) • 株式会社ノハナ • 「家族の問題を解決する」がミッションのmixi発社内ベ ンチャー • エンジニア • サーバーサイド/ネイティブアプリからデータ解析までや る器用貧乏不器用エンジニア
3.
今日話したいこと • 宣言型クエリ言語Datalogの紹介 • Datalogで記述したクエリをSQLに変換するデモ
4.
Datalogとは? • 宣言的論理型プログラミング言語 • PrologっぽいSyntaxをもつ •
3つの構文を持つ • ファクト: リレーションを外延的に定義 • ルール: 推論規則 (あるファクトから別のファクトを導く) • クエリ: ファクトを真にするような変数を見つける
5.
ファクト father(tara, masuo). mother(tara, sazae). •
リレーションを定義する構文 • SQLではINSERTに相当 father(sazae, namihei). mother(sazae, fune). リレーション名 定数項(先頭が小文字)
6.
ルール parent(X, Y) :-
father(X, Y). • 推論規則を定義 • SQLにおけるViewに相当 parent(X, Y) :- mother(X, Y). grandparent(X, Y) :- parent(X, P), parent(P, Y). ancestor(X, Y) :- parent(X, Y). ancestor(X, Y) :- parent(X, P), ancestor(P, Y). 宣言部 本体 ←複数行ならべると選言(OR) カンマでつなぐと連言(AND) リレーションをまたいだ変数はJOINに相当 減少性があれば再帰的定義も可能
7.
クエリ ? :- parent(X,
Y). ? :- grandparent(X, Y). ? :- ancestor(tara, Y). 親子関係を列挙せよ 親子関係を列挙せよ タラちゃんの祖先を列挙せよ • 右に現れる変数を満たす値 を列挙する
8.
モチベーション • 複雑なロジックをSQLで記述しようとするとすぐ長くなる • 「BigQuery
(行数)」 • SQLを書いていると毎回同じようなロジックを記述しているよ うな感じがする • Viewでもいいけど乱立したら管理が大変そう… • => リレーショナルDBへのクエリをSQL以外で書きたい!
9.
というわけで • 書きました! • https://github.com/yuki-takeichi/datalog-sql
10.
demo
11.
まとめ • Datalogを使うことで複雑なJOINを行うクエリや再 帰クエリを部品化することができた • しかも記述が簡素になった •
変数って便利 • RDBのSQL以外のクエリ言語の可能性を考えてみる のも面白いかも
Download