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
No SQL
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Andy Cheng
August 08, 2013
Programming
82
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
No SQL
Andy Cheng
August 08, 2013
More Decks by Andy Cheng
See All by Andy Cheng
第一次自建雲端服務就上手
ccjeng
0
79
The Clean Coder
ccjeng
0
4.5k
Android Backup
ccjeng
0
58
Android Backup Demo
ccjeng
0
45
.NET Framework update
ccjeng
0
61
Book Sharing 2013
ccjeng
0
66
MS SQL 2012 BI Update
ccjeng
0
51
Other Decks in Programming
See All in Programming
霧の中の代数的エフェクト
funnyycat
1
410
「正の参照」と 「負の導出」で組む ハーネスエンジニアリング
cottpan
1
140
エンジニアにデザインハーネスを 〜デザインプロセスを規定するためのハーネス〜 / Design harness from an engineer's perspective
rkaga
2
1.6k
Welcome to the "Parametricity" 🏙️ − Generic だけど Specific な世界 −
guvalif
PRO
1
170
作るコストが小さくなった時代 幸せに働くために改めて考えたいこと 〜エンジニアとして価値を出し続けるために注視している二分野〜
yuppeeng
0
110
これからAgentCoreを触る方へトレンドはGatewayです
har1101
6
500
信頼性について考えてみる(SRE NEXT 2026 miniLT)
hayama17
0
200
エンジニア向け会社紹介/Findy Company Profile
findyinc
6
360k
ITヒヤリハットを整理してみた ~ライフサイクルと原因から考える再発防止策~
koukimiura
1
110
ビデオ通話が繋がる0.2秒で何が起きているのか
supurazako
2
150
【やさしく解説 設計編 #1】「ドメイン駆動」と「実装駆動」ってなに? 〜設計の考え方を、たとえ話で学ぼう〜
panda728
PRO
1
120
えっ!!コードを読まずに開発を!?
hananouchi
0
220
Featured
See All Featured
Documentation Writing (for coders)
carmenintech
77
5.4k
My Coaching Mixtape
mlcsv
0
170
RailsConf 2023
tenderlove
30
1.5k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
540
Designing Powerful Visuals for Engaging Learning
tmiket
1
450
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
220
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
970
Un-Boring Meetings
codingconduct
0
350
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
320
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
210
Writing Fast Ruby
sferik
630
63k
Designing Experiences People Love
moore
143
24k
Transcript
NOSQL Andy Cheng 2013.08.08
彈性!
HR Ad-Hoc Query
User Experience Developer Experience
1.資料量的成長 2.連線裝置的增加 3.半結構化資料分析的需求 Why NOSQL?
Trend 1: 資料量的成長
Trend 1: 資料量的成長 Twitter at 400M Tweets Per Day in
Jun’ 12 Facebook at 1B Users in Oct’ 12 1億用戶數4.5年(1665天)
Trend 2: 連線裝置的增加
Trend 3: “半結構化資料”分析的需求 • Semi-structured data o Data that does
not reside in fixed fields but use tags or other markers to capture elements of the data • 例如: Logs、GPS 座標、XML、JSON、網頁 內容(HTTP Tagged text)
Case Study:復仇者聯盟 • 2012年上映,票房超過10億美金 • 針對觀眾對預告片的評價,分析了11億條推 特推文、570萬篇部落格以及論壇貼文、350 萬條相關訊息,即時建議片商做出因應對策
SQL的限制 • Table Lock (Transaction) • Join, Join, Join (正規化)
• Schema Change (資料型態/長度) • Operational Maintenance(備份…) • Disaster Recovery(Cluster/Log shipping) • Scaleout
SPRAIN http://blogs.the451group.com/information_management/2012/11/02/updated-database-landscape-graphic/
http://db-engines.com/en/ranking DB Engine Ranking
Not Only SQL
• 不是Relational Database • 沒有Schema (Schema-free) • 沒有Join • 沒有正規化
• 是另一種的資料儲存方式 • 分散式架構 • Open Source • 最終一致性 Eventually Consistency No SQL
CAP定律 • Consistency: 一致性 所有節點在同一時間都具有相同的數據 • Availability: 可用性 保證每個請求不管成功或者失敗都有響應 •
Partition Tolerance: 分隔容忍 系統中任意訊息的失敗不會影響系統的繼續運作 理論上無法同時兼顧CAP三種特性, NoSQL資料庫通常會選擇其中兩種特 性來設計,通常是選擇CP或AP
http://blog.nahurst.com/visual-guide-to-nosql-systems
Key Value Document Column Family Graph
None
NOSQL Data Model
{ “_id” : 1001, “customer_id”: 98234 } { “_id” :
1002, “customer_id”: 98311, “discount”: “Y” } _id: 1001 _id: 1002 Key Value Table: Customer
{ “_id” : 1001, “customer_id”: 7231, “line_items” : [ {“product_id”:
4555, “quantity”: 8}, {“product_id”: 7655, “quantity”: 4}, {“product_id”: 8755, “quantity”: 3}] } { “_id” : 1002, “customer_id”: 98311, “line_items” : [ {“product_id”: 4555, “quantity”: 3}, {“product_id”: 2155, “quantity”: 4}], “discount”: “Y” } Key Document _id: 1001 _id: 1002 Table: Customer
Column Family
Column Family
Graph Connie Ma Max Cheng Mahendra Negi Eva Chen Report
To Report To IS Function Function Jo Ma Claudia Wu Terry Huang Alex Kuo Report To Report To Report To Report To Report To HR
參考資料 • Martin Fowler: NoSQL Distilled to an Hour http://vimeo.com/66052102
• http://nosql.org.tw/ • http://blog.nosqlfan.com/ • http://www.csdn.net/article/tag/nosql
Demo
MongoDB • JSON like document store (BSON) • Embeded, Referenced
• Sharding:將數據水平切分到不同物理節點 • Replica Set:數據同步 • Mongo Query Language • HTTP / REST API • GridFS:文件存儲API • MapReduce:可以進行複雜的統計和並行計算
Replica Set
Neo4J • Graph Database • A powerful traversal framework •
Cypher Query Language