Please enable JavaScript.
Coggle requires JavaScript to display documents.
Data Engineer for banking - Coggle Diagram
Data Engineer for banking
Data warehouse
Data Warehouse
เก็บข้อมูลแบบวางแผนไว้แล้วว่าส่วนนี้ เป็นของหน่วยงานนี้ บลาๆ
เช่นเอา table จาก
<3 เก็บข้อมูลที่มีการ model แล้ว (เอาข้อมูลมาแปรรูปให้มีความหมาย เช่น table มีหลาย table เก็บข้อมูล user คนนึงถูกแยกออกเป็น หลาย table แล้วเราอยากยุป table พวกนั้นให้เหลือ table เดียว) ส่วนใหญ่เป้น structure มีชื่อ column ขนาดข้อมูล (ให้นึกถึง ER diagram)
เอามาทำ report power bi
Database
RDBMS (relational database management system)
ธนาคารก็ใช้ แต่บางข้อมูล RDBMS รับไม่ไหว เพราะมัน real time และจำนวนมาก
SQL (structed query language): ดึงข้อมูลที่มี relation ในรูป table
Hadoop
engine ถูก design ให้จัดการกับ big data ได้ดี เหมาะกับข้อมูลreal time และจำนวนมาก เพราะมันสามารถเพิ่ม cluster (ซื้อ hardware : ที่ kbank เลือก)
การเก็บข้อมูล
structure
parquet:
"ข้อมูล column base" ประหยัดพื้นที่กว่า เนื่องจากข้อมูลถูก compress ให้ file ลดลง
ER diagram: concept การวางแผนที่จะทำงานกับ relation data เป็นขั้นตอนแรกที่ต้องวางแผนก่อนจัดเก็บข้อมูล
df
csv
เก็บแบบมีตัวขั้นกลาง
unstructure
JSON
image, video
XML
semistructure
ใช้ mapreduce ในการประมวลข้อมูล
เช่นดึง statement
ใช้ hadoop ผ่าน tool ที่เรียกว่า "Hbase" (เป็น noSQL: ทำงานเร็วกว่า SQL) ความยากคือ trancsaction 1 วันเป็น 100 ล้าน เวลาคนกดขอดู statement ถ้าเราใช้ RDBMS จะทำให้ช้า
ใช้ "key" แทนด้วยเลข accound id, "value" คือ transaction
Spark
เร็ว เช่น เวลาใช้ sklearn มันจะจัดการให้เร็วขึ้น
ใช้หลักการ mapreduce คือแบ่งย่อยออกไปประมวล แล้วเอากลับมารวม
ภาษาที่รองรับ
pySpark
sqlSpark
Databrick:
เป็น platform ที่ให้ user มาใช้ spark ได้ อารมณ์แบบ jupyter notebook ที่ให้ user ใช้ python
resource อยู่บน cloud ทำให้ run เร็ว (ต่างกับ jupyter ใน notebook เราที่รันใน local)
NoSQL
ข้อมูลที่ไม่มี relation
ข้อดีคือ ดึงข้อมูลตามค่า key ได้เลย มันจะ turn ค่า valueมา (จุดนี้ดีกว่า SQL ตรงที่ SQL มันต้องไปนั่ง scan ทั้ง column)
Datalake
เป็นวิธีการจัดเก็บข้อมูลที่เก็บได้ทุกแบบ (structure, unstructure)
นิยมในสมัยนี้
เช่น ทำบน cloud Asure ได้ requirment ว่าอยากทำ report A ที่ต้องดึงข้อมูลมาจากหลายที่
ต้องทำ ETL pipline (extrace transform load)