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
Introduction to RethinkDB: 1KE Meetup
Search
Jorge Silva
June 12, 2015
Programming
0
49
Introduction to RethinkDB: 1KE Meetup
Jorge Silva
June 12, 2015
Tweet
Share
More Decks by Jorge Silva
See All by Jorge Silva
Introduction to RethinkDB : Move fast and break things
thejsj
2
260
ForwardJS - RethinkDB - Getting Started
thejsj
0
200
ForwardJS - RethinkDB - Advanced Queries
thejsj
1
200
Automatic Failover in RethinkDB
thejsj
0
220
Workshop: Introduction to RethinkDB : Santa Cruz JS
thejsj
1
120
Push databases: A better way to build realtime apps
thejsj
0
130
Data Modeling in RethinkDB
thejsj
4
270
RethinkDB+Angular.js: Building realtime web applications
thejsj
10
30k
Introduction to RethinkDB : Hack Reactor
thejsj
4
410
Other Decks in Programming
See All in Programming
オンコール⼊⾨〜ページャーが鳴る前に、あなたが備えられること〜 / Before The Pager Rings
yktakaha4
2
1.1k
AI Ramen Fight
yusukebe
0
120
CLI ツールを Go ライブラリ として再実装する理由 / Why reimplement a CLI tool as a Go library
ktr_0731
3
630
バイブコーディング超えてバイブデプロイ〜CloudflareMCPで実現する、未来のアプリケーションデリバリー〜
azukiazusa1
2
730
NEWT Backend Evolution
xpromx
1
160
The Niche of CDK Grant オブジェクトって何者?/the-niche-of-cdk-what-isgrant-object
hassaku63
1
710
React は次の10年を生き残れるか:3つのトレンドから考える
oukayuka
40
15k
Gemini CLIの"強み"を知る! Gemini CLIとClaude Codeを比較してみた!
kotahisafuru
2
190
テスターからテストエンジニアへ ~新米テストエンジニアが歩んだ9ヶ月振り返り~
non0113
2
240
階層化自動テストで開発に機動力を
ickx
1
430
Bedrock AgentCore ObservabilityによるAIエージェントの運用
licux
8
340
ZeroETLで始めるDynamoDBとS3の連携
afooooil
0
130
Featured
See All Featured
Producing Creativity
orderedlist
PRO
346
40k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
Designing for Performance
lara
610
69k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.7k
Faster Mobile Websites
deanohume
308
31k
It's Worth the Effort
3n
185
28k
Writing Fast Ruby
sferik
628
62k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
Transcript
1KE Tech Talks San Francisco, California June 12, 2015 RethinkDB
The database for the realtime web
Jorge Silva @thejsj Developer Evangelist @ RethinkDB
Preface Why is realtime important?
Realtime apps
Realtime apps
Realtime apps • More and more apps are built to
be realtime • Users have come to want and expect this behavior in their apps
Building realtime apps is hard • You can keep everything
in a single server • You can poll the database to keep track of updates • You can publish updates through a message broker
Building realtime apps is hard • All solutions present a
tradeoff between scalability and complexity • It’s hard to keep track of state in realtime architectures.
Introduction What is RethinkDB?
What is RethinkDB? • Open source database for building realtime
web applications • NoSQL database that stores schemaless JSON documents • Distributed database that is easy to scale
Built for Realtime Apps • Subscribe to change notifications from
database queries • No more polling — the database pushes changes to your app • Reduce the amount of plumbing needed to stream live updates
Built for Realtime Apps RethinkDB is an excellent database for:
• Collaborative web and mobile apps • Multiplayer games • Streaming analytics apps • Realtime marketplaces • Connected devices
Introduction to ReQL RethinkDB Query Language
Introduction to ReQL • ReQL embeds natively into your programming
language • Compose ReQL queries by chaining commands
Anatomy of a ReQL Query r.table("players") .orderBy({ index: r.desc("score") })
.limit(3) Top three players by score
Anatomy of a ReQL Query r.table("players") .orderBy({ index: r.desc("score") })
.limit(3) Access a database table
Anatomy of a ReQL Query r.table("players") .orderBy({ index: r.desc("score") })
.limit(3) Order results
Anatomy of a ReQL Query r.table("players") .orderBy({ index: r.desc("score") })
.limit(3) Use index as pre-processed lookup
Anatomy of a ReQL Query r.table("players") .orderBy({ index: r.desc("score") })
.limit(3) Order results in descending order
Anatomy of a ReQL Query r.table("players") .orderBy({ index: r.desc("score") })
.limit(3) Only get the first three results
Subscribe to change notifications on database queries Changefeeds
r.table("users").changes() Track changes on the users table Changefeeds
Changefeeds r.table("players") .orderBy({ index: r.desc("score") }) .limit(3) .changes() Get updates
on top three players
Realtime apps Demo
http://questions.rethinkdb.com Questions
Additional Resources • RethinkDB website: http://rethinkdb.com • RethinkDB installation: http://rethinkdb.com/docs/
install/
Questions •
[email protected]
• @thejsj