Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ページャ専用DBのご提案
Search
mackee
July 04, 2014
Technology
9k
5
Share
ページャ専用DBのご提案
http://www.zusaar.com/event/5477013
mackee
July 04, 2014
More Decks by mackee
See All by mackee
perlをWebAssembly上で動かすと何が嬉しいの??? / Where does Perl-on-Wasm actually make sense?
mackee
0
860
Agentに至る道 〜なぜLLMは自動でコードを書けるようになったのか〜
mackee
6
5.5k
今!ソフトウェアエンジニアがハードウェアに手を出すには
mackee
14
6.9k
ワンバイナリWebサービスのススメ
mackee
10
8.7k
tanukistack ライブコーディング / tanukistack live-coding
mackee
0
600
range over funcの使い道と非同期N+1リゾルバーの夢 / about a range over func
mackee
0
1.1k
perl for shell, awk and sed programmers
mackee
3
2.8k
今更GoのWebフレームワークを作ろうとしているワケ / Why am I trying to create a Go web framework now?
mackee
1
1.1k
database/sqlでNullを扱う歴史とsql.Null[T]の登場 / sql.Null[T] history
mackee
0
980
Other Decks in Technology
See All in Technology
AIのための特別なアーキテクチャはいらない 0→1開発で実践した設計原則とガードレール
kaminashi
0
110
大学職員のための生成AI最前線 :最前線を、AIガバナンスとして読み直すためのTips
gmoriki
2
4k
AI対話分析の夢と、汚いデータの現実 Looker / Dataplex / Dataform で実現する品質ファーストな基盤設計
waiwai2111
0
510
10サービス以上のメール到達率改善を地道に継続的に進めている話 / Continue to improve email delivery rates across multiple services
yamaguchitk333
6
1.7k
サンプリングは「作る」のか「使う」のか? 分散トレースのコストと運用を両立する実践的戦略 / Why you need the tail sampling and why you don't want it
ymotongpoo
4
170
Gaussian Splattingの表現力を拡張する — 高周波再構成とインタラクションへのアプローチ —
gpuunite_official
0
160
AWS運用におけるAI Agent活用術 / JAWS-UG 神戸 #11 LT大会
genda
1
120
全社統制を維持しながら現場負担をどう減らすか〜プラットフォームチームとセキュリティチームで進めたSecurity Hub活用によるAWS統制の見直し〜/secjaws-security-hub-custom-insights
mhrtech
1
470
How to learn AWS Well-Architected with AWS BuilderCards: Security Edition
coosuke
PRO
0
130
Swift Sequence の便利 API 再発見
treastrain
1
270
可視化から活用へ — Mesh化・Segmentation・アライメントの研究動向
gpuunite_official
0
190
AI時代に越境し、 組織を変えるQAスキルの正体 / QA Skills for Transforming an Organization
mii3king
5
4.4k
Featured
See All Featured
Six Lessons from altMBA
skipperchong
29
4.2k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
180
We Are The Robots
honzajavorek
0
230
Everyday Curiosity
cassininazir
0
200
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
The Curse of the Amulet
leimatthew05
1
12k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.7k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
Evolving SEO for Evolving Search Engines
ryanjones
0
190
Music & Morning Musume
bryan
47
7.2k
How to make the Groovebox
asonas
2
2.2k
Transcript
ϖʔδϟઐ༻DBͷ͝ఏҊ ϖʔδϟnight <1> 2014-07-04
ࣗݾհ • @mackee_w / Ϛίϐʔͱ͍͏໊લ • ໘ന๏ਓΧϠοΫͱ͍͏ձࣾ • ීஈPerl •
࠷ۙεϚϗήʔϜͷαʔόαΠυ୲
એͰ͢ • YAPC::Asia 2014ʹ2ͭτʔΫԠืͯ͠·͢ • ڵຯ͕͋Εͯϒͱ͔͍͍Ͷ͍ͩ͘͞ʙ • Perl meets Real
World ʙϋʔυΣΞͱ࿀ʹམͪΔPerlͷ͍ํʙ • http://yapcasia.org/2014/talk/show/103a434e-ec02-11e3-bd6d-c7a06aeab6a4 • झຯ։ൃͷͨΊͷΫϥυ/VPS׆༻ज़ • http://yapcasia.org/2014/talk/show/adfd5cb8-01c1-11e4-9357-07b16aeab6a4
None
ҋ෧͡ࠐΊΔ
Έͳ͞Μϖʔδϟ࣮ͯ͠· ͔͢ʁ
ྫ͑ϖʔδϟͷதͰ͜ΜͳΫ ΤϦͰҜࢠΛ͛ΒΕͨ͜ͱ ͋Γ·ͤΜ͔ʁ ˞ฐࣾք۾ͰΫιΫΤϦͱ͔ϩάΛEFWOVMMʹ ࣺͯΔͱ͔͢ΔͱҜࢠ͕ඈΜͰ͘ΔͱݴΘΕ͍ͯ·͢
SELECT * FROM t1 WHERE hoge_id = 1 ORDER BY
created_at ASC LIMIT 100000, 10;
LIMIT 100000, 1
ؒҧ͍ͳ͘अѱͰ͋Δ͕ ͜ΕΛ͏·͍͜ͱ෧͡ࠐΊΔʹ
pagerd ϖʔδϟઐ༻σʔλϕʔε
σϞ͠·͢
pagerdͷػೳ • ΩʔʹΑͬͯιʔτ͞Εͨ݁Ռͷอ࣋ • /offset/<n>/limit/<m>ͰͷཁૉͷΞΫηε ͚ͩͰ͢
͍ͬͯΔ͜ͱ • όοΫΤϯυʹLevelDBΛ༻ • ΩʔͰউखʹιʔτ͞ΕΔ͠ϝϞϦʹΓؾ ͳΒແͯͦͦ͘͜͜ؤுΕΔ͠ศར • γʔέϯγϟϧϦʔυ͕͔ͳΓ͍ ࢀߟ: LevelDBೖ
(جຊฤ) - from scratch http://yosuke-furukawa.hatenablog.com/entry/2014/05/05/095207
͍ͬͯΔ͜ͱ • offsetʹ10000ͱ͔ࢦఆ͞ΕͨΒ্͔Β10000 ·Ͱಓʹseek͔ͯͦ͜͠Βlimitग़͢ʂ
͍ͬͯΔ͜ͱ • offsetʹ10000ͱ͔ࢦఆ͞ΕͨΒ্͔Β10000 ·Ͱಓʹseek͔ͯͦ͜͠Βlimitग़͢ʂ ͬͯΔͱ͔ͬͨͷͰ Ωϟογϡ͠·ͨ͠
Ωϟογϡํ๏ • Ұ൪ॳΊʹ10000ͱ͔͖ͨΒఘΊͯ10000· ͰᢞΊΔ -> O(n) • ͦͷͱ͖ʹ10000ͷҐஔͷΩʔΛΩϟογϡ • ࣍ʹ10010ͱ͖ͨΒҰؾʹ10000ͷͱ͜Ζ·
ͰSeek͔ͯͦ͜͠ΒͳΊΔ
σϝϦοτ • Ωϟογϡ͢ΔΩʔ͕૿͍͑ͯ͘ͱߋ৽ίετ ͕ߴ͘ͳΔ • expire͢Δͱ͔ೱ͕ҰఆʹͳΔΑ͏ʹ͑Δ ͱ͔ -> ࣮͍ͯ͠ͳ͍ʂ •
ߋ৽͍ͯ͠ΔؒʹΞΫηε͢Δͱഁͦ͠͏ • LevelDBΞτϛοΫߋ৽͑ΔͷͰͦΕͰ
ଞʹΓ͔ͨͬͨ͜ͱ • ձࣾͰʮOFFSET 100000ͱ͔Γ͍ͨΜͰ͢ ͚ΕͲʂʯͬͯݴ͏ͱMySQLͷιʔεΛಡΉ ͷ͕झຯͷਓͱ͔ࢄΞϧΰϦζϜʹৄ͍͠ ਓͱ͔͕ू·͖ͬͯͯศར • ͦͷதͰʮπϦʔͰͰཧ͢ΔͷͲ͏Αʯ ͱ͍͏ҙݟ͕͋ͬͨ
πϦʔͰͱ
πϦʔͰͱ
πϦʔͰͱ
mackee / pagerd https://github.com/mackee/pagerd
·ͱΊ • σʔλϕʔεΛ࣮͢Δ͍ͬͯ͏ͷΛΔͱ OFFSETΛΔͷ͕͍͔ʹΊΜͲ͍͔͔ͬͯ͘͞ ྑ͍ • ͋ͱ໘ന๏ਓΧϠοΫͰαʔόαΠυΤϯδχ ΞΛืू͓ͯ͠Γ·͢ • ձࣾͷࣗࣾαʔϏεͷ։ൃݴޠɺPerl͔ΒGoʹҠ
ߦ͠·͢ɻGoͰࣄ͍ͨ͠ਓͪ͜Βʙ