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
LINE Developers Taiwan
PRO
June 18, 2025
Technology
2.5k
0
Share
DB 醬,嗨!哪泥嘎斯基?
Speaker: Jerry Chen & Sophia Chen
Event: LINE TECH FRESH 畢業分享會 2025
LINE Developers Taiwan
PRO
June 18, 2025
More Decks by LINE Developers Taiwan
See All by LINE Developers Taiwan
2026.04.09_台灣客服協會_從資料重新理解客服_ Charlie Wang
line_developers_tw
PRO
0
20
Zona 台北大學 GDG 分享
line_developers_tw
PRO
0
25k
台大資料分析與決策社 機器學習的商業應用_Rei
line_developers_tw
PRO
0
16
政大數據分析社 機器學習的商業應用_Rei
line_developers_tw
PRO
0
29
Gemini 2025 新功能回顧 LINE Bot 完美結合
line_developers_tw
PRO
0
510
NTUAI企業參訪
line_developers_tw
PRO
0
14k
Data TECH FRESH企業參訪- Amber
line_developers_tw
PRO
0
29k
Data Team 實習分享
line_developers_tw
PRO
0
24k
Backend Intern之旅
line_developers_tw
PRO
0
33k
Other Decks in Technology
See All in Technology
組織的なAI活用を阻む 最大のハードルは コンテキストデザインだった
ixbox
1
1.1k
サイバーフィジカル社会とは何か / What Is a Cyber-Physical Society?
ks91
PRO
0
150
Databricks Appsで実現する社内向けAIアプリ開発の効率化
r_miura
0
340
OCI技術資料 : ロード・バランサ 概要 - FLB・NLB共通
ocise
4
28k
OPENLOGI Company Profile
hr01
0
83k
20260410 - CNTUG meetup #72 - DiskImage Builder 介紹:以 Kubespray CI 打造 RockyLinux 10 Cloud Image 為例
tico88612
0
110
Webアクセシビリティは“もしも”に備える設計
tomokusaba
0
170
バックオフィスPJのPjMをコーポレートITが担うとうまくいく3つの理由
yueda256
1
290
最大のアウトプット術は問題を作ること
ryoaccount
0
320
2026年度新卒技術研修 サイバーエージェントのデータベース 活用事例とパフォーマンス調査入門
cyberagentdevelopers
PRO
3
4.8k
機能・非機能の学びを一つに!Agent Skillsで月間レポート作成始めてみた / Unifying Bug & Infra Insights — Building Monthly Quality Reports with Agent Skills
bun913
5
3.7k
ログ基盤・プラグイン・ダッシュボード、全部整えた。でも最後は人だった。
makikub
5
1.2k
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
700
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
330
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Making Projects Easy
brettharned
120
6.6k
Site-Speed That Sticks
csswizardry
13
1.1k
Navigating Team Friction
lara
192
16k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
The SEO identity crisis: Don't let AI make you average
varn
0
430
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
250
Transcript
DB 醬,嗨!哪泥嘎斯基? Sophia Chen & Jerry Chen
Jerry Chen TECH FRESH @ LINE CB Team | Backend
Dev Education • MCDS @ CMU (Incoming) • B.B.A in Information Management @ NTU Experience • TECH FRESH @ LINE Taiwan • Software Engineer Intern @ Trend Micro • Data Scientist Intern @ Cathay Financial Holdings
01 02 03 04 什麼是 OA? (\OAO/) 該選哪種 DB 醬呢?
資料水管工 What DB do you like? ETL 資料庫變更管家 Liquibase What is OA Shop? 05 在 LINE 開發是什麼樣的體驗? Life at LINE CONTENT
什麼是OA? (\OAO/) 01 What is OA Shop?
None
賣家使用官方帳號進行精準行銷 根據訊息使用量,購買不同方案 根據不同受眾客製化廣告、優惠
從開發者的角度而言 • 紀錄賣家訊息用量 • 管理賣家方案狀態 • 提供賣家查詢受眾 • 儲存一段時間內的受眾(消費者)資訊 訊息流量管理
受眾精準行銷服務 可以拆分成兩大部分,我們會使用不同資料庫 (DB)!
該選哪種 DB 醬呢? 02 What DB do you like?
為什麼要兩種 DB 呢? Controller Service Model 當一個 API 請求發生時 …
Frontend request response call call data response 處理商業邏輯 決定怎麼做 接收請求、 用戶驗證 管理資料 要求快速回覆的 API 牽涉大量資料的讀寫
為什麼要兩種 DB 呢? Controller Service Model 當一個 API 請求發生時 …
OLAP 支援大量讀取 OLTP 高即時性 Frontend request response call call data response 處理商業邏輯 決定怎麼做 接收請求、 用戶驗證 管理資料 我們使用不同的 DB !
OLTP vs OLAP Data transfer Transaction 交易、購物、 註冊等服務 分析、大量資料 歷史紀錄
Online Transaction Processing Online Analytical Processing 處理很多筆小資料 快速寫入、查詢 即時性要求高 做分析,常批量查詢資料 寫入相對較少
在我們的服務中 OLTP (KR) OLAP (KR) OLAP (TW) OLTP (TW) Seller
Customer Register Buy Add to cart
在我們的服務中 OLTP (KR) OLAP (KR) OLAP (TW) OLTP (TW) Seller
Customer Register Buy Add to cart 我們是怎麼讓資料轉移的? ? ? ?
在我們的服務中 OLTP (KR) OLAP (KR) OLAP (TW) OLTP (TW) Seller
Customer Register Buy Add to cart ETL! ETL ETL ETL
資料水管工 03 ETL
Extract, Transform, Load 什麼是 ETL? Extract Load Transform
找出所有將商品加入過購物車的人 A Case: Extract Load Transform Product Users Item Cart
如何組合、篩選資料? 如何確保資料被 正確儲存? 需要哪些資料?
大家可能會覺得 為什麼我們不能直接搬移資料? 為什麼需要 ETL?
資料量級 千萬級別的資 料需要分散式 框架處理 多種來源 自動化 測試更好寫、 搬移資料不求人 遷移方便 註解文字註解
文字註解 為什麼需要 ETL? 資料來源複雜, 需要良好的系統 管理 好的框架設計能避免混亂
Extract Load Transform 術業有專攻 框架與工具 負責監控 ETL 流程 讓資料庫可以 分散式儲存
利用分散式的並 行運算,處理大 量資料
Sophia Chen TECH FRESH @ LINE CB Team | Backend
Dev Education • M.S. in Computer Science @NTU • B.B.A in Information Management @NTU Experience • 2024 – 2025 | TECH FRESH @ LINE Taiwan • 2023 | Backend Trainee @ AppWorks School
資料庫變更管家 04 Liquibase
剛開始寫程式的我們 ...
剛開始寫程式的我們 ...
程式碼的版本控制:GitHub
資料庫該如何版本控制呢 ?
開發資料庫時有沒有遇過 ... ADD Column MODIFY Datatype RENAME Column 1. 手動執行腳本、資料庫版本失控
2. 有多環境的管理需求 3. 跨團隊協作混亂、缺少共同規範 4. 升級失敗後的回退(rollback)困難
開發資料庫時有沒有遇過 ... 開發 DB 正式 DB id name debug_log id
name 1. 手動執行腳本、資料庫版本失控 2. 有多環境的管理需求 3. 跨團隊協作混亂、缺少共同規範 4. 升級失敗後的回退(rollback)困難
開發資料庫時有沒有遇過 ... userEmail timestamp user_email created_at 1. 手動執行腳本、資料庫版本失控 2. 有多環境的管理需求
3. 跨團隊協作混亂、缺少共同規範 4. 升級失敗後的回退(rollback)困難
開發資料庫時有沒有遇過 ... Version 1 Version 2 回退(rollback) 1. 手動執行腳本、資料庫版本失控 2.
有多環境的管理需求 3. 跨團隊協作混亂、缺少共同規範 4. 升級失敗後的回退(rollback)困難
Liquibase !
Liquibase 是什麼 ? Source from : https://docs.liquibase.com/concepts/changelogs/home.html
ChangeSet 當我們想要新增兩個 user 資料到資料庫:
高可追溯性 & 自動化 版本控制與變更追蹤 Liquibase 特性
Liquibase 特性 多環境管理 多環境差異化管理
Liquibase 特性 回退機制 完善升級與回退機制
Liquibase 特性 集中協作 統一流程與規範化協作 Source from : https://docs.liquibase.com/concepts/bestpractices.html
在 LINE 開發是什麼樣的體驗? 05 Life at LINE
TECH FRESH 工作日常 Development CI/CD & Observability New Technology Research
and Sharing
溝通能力 解決問題 學習能力 技術經驗 我們的收穫 不僅僅只是技術經驗而已 問題有時候不明確 比起單純接收指令, 更重要的是溝通討論 公司的技術、規模很廣,
持續學習
2100 特點項目文字 特點項目 Work Life Balance 1234 999 特點項目文字 特點項目
2100 特點項目文字 特點項目 Work Life Balance 1234 特點項目文字 特點項目 999
特點項目文字 特點項目
None