Data Lakehouse for Small & Midsize Business: Lakehouse Lite - Part II

Image credit: Joy Dachapratumvan
āļšāļ—āļ„āļ§āļēāļĄāļ™ี้āđ€āļ›็āļ™ Part II āļ‚āļ­āļ‡ āļŠุāļ” Data Lakehouse for Small & Midsize Business (SMB) āđ‚āļ”āļĒāđƒāļ™ Part I āđ€āļĢāļēāđ„āļ”้āđāļ™āļ°āļ™āļģāđāļ™āļ§āļ—āļēāļ‡āļāļēāļĢāđ€āļĨืāļ­āļāđƒāļŠ้āđ€āļ—āļ„āđ‚āļ™āđ‚āļĨāļĒีāļ”้āļēāļ™āļ‚้āļ­āļĄูāļĨāļŠāļĄัāļĒāđƒāļŦāļĄ่ āđ‚āļ”āļĒāđ€āļĨืāļ­āļāđƒāļŠ้āđ€āļ—่āļēāļ—ี่āļˆāļģāđ€āļ›็āļ™āļ—ี่āđ€āļĢีāļĒāļāļ§่āļē Lakehouse Lite āđ‚āļ”āļĒāđƒāļ™ Part II āđ€āļĢāļēāļˆāļ°āļĄāļēāļ”ูāđƒāļ™āļĢāļēāļĒāļĨāļ°āđ€āļ­ีāļĒāļ”āđāļĨāļ°āđ€āļŦāļ•ุāļœāļĨāđƒāļ™āļ—āļēāļ‡āđ€āļ—āļ„āļ™ิāļ„ āđ‚āļ”āļĒāđƒāļŠ้ Microsoft Azure Synapse Analytics (ASA) āđ€āļ›็āļ™āļ•้āļ™āđāļšāļš āđ€āļ™ื่āļ­āļ‡āļˆāļēāļāđāļ™āļ§āļ„ิāļ”āļ‚āļ­āļ‡ Azure āļ—ี่ āļĄัāļ”āļĢāļ§āļĄāđ€āļ„āļĢื่āļ­āļ‡āļĄืāļ­āļ•่āļēāļ‡āđ† āđāļš่āļ‡āļāļĨุ่āļĄāļ•āļēāļĄāļ‚ั้āļ™āļ•āļ­āļ™āļāļēāļĢāļ—āļģāļ‡āļēāļ™āļัāļšāļ‚้āļ­āļĄูāļĨ (Data Life Cycle) āļ—āļģāđƒāļŦ้āļ‡่āļēāļĒāļ•่āļ­āļāļēāļĢāđ€āļĨืāļ­āļāđƒāļŠ้āļ•āļēāļĄāļ„āļ§āļēāļĄāđ€āļŦāļĄāļēāļ°āļŠāļĄ āļ•ั้āļ‡āđāļ•่ data integration, data discovery, data transformation āđ„āļ›āļˆāļ™āļ–ึāļ‡āļāļēāļĢāļ­āļ­āļāļĢāļēāļĒāļ‡āļēāļ™ āđāļ•่āļ­āļĒ่āļēāļ‡āđ„āļĢāļ็āļ”ี āļŠāļēāļĄāļēāļĢāļ–āļ™āļģāđāļ™āļ§āļ—āļēāļ‡āđ„āļ›āļ›āļĢāļ°āļĒุāļāļ•์āđƒāļŠ้āđƒāļ™ Cloud Service āļ­ื่āļ™āđ† āđ„āļ”้ āļ­āļ™ึ่āļ‡āļāļĢāļ°āļ—ู้... āļšāļ—āļ„āļ§āļēāļĄāļ™ี้āđ€āļ›็āļ™ CR - Consumer Review āļˆ่āļēāļĒāđ€āļ‡ิāļ™āļ‹ื้āļ­āđ€āļ­āļ‡ āđ„āļĄ่āđ„āļ”้āļĢัāļšāļ„่āļēāļˆ้āļēāļ‡āđāļĨāļ°āļœāļĨāļ›āļĢāļ°āđ‚āļĒāļŠāļ™์āđƒāļ”āđ†

āļ›ัāļˆāļˆัāļĒāļŠāļģāļ„ัāļāļŠāļģāļŦāļĢัāļš SMB āļ—ี่āļĄีāļ—āļĢัāļžāļĒāļēāļāļĢāļˆāļģāļัāļ” āļ•้āļ­āļ‡āļāļēāļĢāđ€āļŦ็āļ™āļœāļĨāļĨัāļžāļ˜์āđ€āļĢ็āļ§ āļ—ี่āļ—āļģāđƒāļŦ้āđ€āļĢāļēāđ€āļĨืāļ­āļāđƒāļŠ้ solution āļ—ี่āļŠ่āļ§āļĒāđƒāļŦ้āđ€āļĢāļēāļ›āļĢāļ°āļŦāļĒัāļ”āļ„่āļēāđƒāļŠ้āļˆ่āļēāļĒāļ‚āļ­āļ‡āļāļēāļĢāđ€āļ็āļšāļ‚้āļ­āļĄูāļĨāđāļĨāļ°āļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨ āļ­ีāļāļ—ั้āļ‡āđƒāļ™āđāļ‡่āļ˜ุāļĢāļิāļˆāļĒัāļ‡āļĄุ่āļ‡āļ„āļ§āļēāļĄāļŠāļ™āđƒāļˆāđ„āļ›āļ—ี่ āļ„āļ§āļēāļĄāļ„ุ้āļĄāļ„่āļēāđāļĨāļ°āļœāļĨāļĨัāļžāļ˜์āđƒāļ™āļĢāļ°āļĒāļ°āļŠั้āļ™āļŦāļĢืāļ­āļĢāļ°āļĒāļ°āļāļĨāļēāļ‡ āđāļ•่āļĒัāļ‡āļ•้āļ­āļ‡āļĢāļ­āļ‡āļĢัāļšāļāļēāļĢāđ€āļ•ิāļšāđ‚āļ•āđƒāļ™āļ”้āļēāļ™āļāļēāļĢāļˆัāļ”āļāļēāļĢāļ‚้āļ­āļĄูāļĨāđƒāļ™āļĢāļ°āļĒāļ°āļĒāļēāļ§ āļ™āļ­āļāļˆāļēāļāļ™ี้āļĒัāļ‡āļ•้āļ­āļ‡āļ‡่āļēāļĒāļ•่āļ­āļāļēāļĢāļžัāļ’āļ™āļē āđāļĨāļ°āļ”ูāđāļĨāļ­ีāļāļ”้āļ§āļĒ
āđ€āļ™ื้āļ­āļŦāļēāļ›āļĢāļ°āļāļ­āļšāļ”้āļ§āļĒ
  1. Architecture
  2. Components
  3. Setting
  4. Tips
1. Architecture

Cloud Service Provide āļšāļēāļ‡āļĢāļēāļĒāļĄีāļ™āļģāđ€āļŠāļ™āļ­āļ—āļēāļ‡āđ€āļĨืāļ­āļāļŠāļģāļŦāļĢัāļš SMB āđ€āļŠ่āļ™āļ‚āļ­āļ‡ Microsoft āļ‹ึ่āļ‡āļĨāļ”āļ—āļ­āļ™āļ„āļ§āļēāļĄāļ‹ัāļšāļ‹้āļ­āļ™āļĨāļ‡āļĄāļēāļĢāļ°āļ”ัāļšāļ™ึāļ‡
Image credit: Modern data warehouse for small and medium business

āđāļ•่āļ­āļĒ่āļēāļ‡āđ„āļĢāļ็āļ”ี āđ€āļĢāļēāļˆāļ°āļĨāļ”āļ—āļ­āļ™āļĨāļ‡āļĄāļēāļ­ีāļ āđ‚āļ”āļĒāđ€āļĢิ่āļĄāļˆāļēāļāđ€āļ‰āļžāļēāļ°āļ—ี่āļˆāļģāđ€āļ›็āļ™āđ€āļ—่āļēāļ™ั้āļ™ āđ€āļŦāļĄืāļ­āļ™āđ€āļĢāļēāļŦāļēāļŠุāļ”āđ€āļĢิ่āļĄāļ•้āļ™ Starter Kit āļŠāļģāļŦāļĢัāļšāļ‡āļēāļ™āļ”้āļēāļ™āļ‚้āļ­āļĄูāļĨāļĄāļēāđƒāļŠ้āļ‡āļēāļ™ āđ‚āļ”āļĒāđƒāļ™ solution āļ™ี้  āđ„āļĄ่āļˆāļģāđ€āļ›็āļ™āļ•้āļ­āļ‡āđƒāļŠ้ traditional database āļŦāļĢืāļ­ MPP database āđāļ•่āļ­āļĒ่āļēāļ‡āđ„āļĢ 
Data Lakehouse Lite Solution
2. Components

āđƒāļ™ Azure Synapse Analytics āļ™ั้āļ™āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āđ€āļĨืāļ­āļāđƒāļŠ้āđ€āļ„āļĢื่āļ­āļ‡āļĄืāļ­āđƒāļ™ Azure Synapse Studio āļŠāļģāļŦāļĢัāļšāļāļēāļĢāļˆัāļ”āļāļēāļĢ āđāļĨāļ°āļ§ิāđ€āļ„āļĢāļēāļ°āļŦ์āļ‚้āļ­āļĄูāļĨāđƒāļ™āļĨัāļāļĐāļ“āļ°āļ—ี่āđ€āļ›็āļ™ single unifying service āđ‚āļ”āļĒāđ€āļĨืāļ­āļāđƒāļŠ้āļŦāļĨัāļāđ† āļ”ัāļ‡āļ™ี้

- Azure Data Lake Storage (ADLS) Gen 2 āļŠāļģāļŦāļĢัāļšāļāļēāļĢāļˆัāļ”āđ€āļ็āļšāļ‚้āļ­āļĄูāļĨāļ—ั้āļ‡āđāļšāļš āļĄีāđ‚āļ„āļĢāļ‡āļŠāļĢ้āļēāļ‡ (structured data) āđāļĨāļ°āļึ่āļ‡āđ‚āļ„āļĢāļ‡āļŠāļĢ้āļēāļ‡ (semi structured data) āđāļ—āļ™āļāļēāļĢāđƒāļŠ้ Blob Storage āļ™āļ­āļāļˆāļēāļāļ›ัāļˆāļˆัāļĒāđ€āļĢื่āļ­āļ‡āļĢāļēāļ„āļē storage āļ—ี่āļ•่āļģāđāļĨ้āļ§ āļˆāļēāļāļ„ุāļ“āļŠāļĄāļšัāļ•ิāļ—ี่āļŠāļģāļ„ัāļāļ‚āļ­āļ‡ hierachical namespace (HNS) āļŦāļĢืāļ­āļĄāļ­āļ‡āļ‡่āļēāļĒāđ† āļ็āļ„ืāļ­āđ€āļŦāļĄืāļ­āļ™āđ€āļĢāļēāđƒāļŠ้ folder āļšāļ™ MS Windows āļ‹ึ่āļ‡āļ„āļ§āļēāļĄāļŠāļ°āļ”āļ§āļāđƒāļ™āđāļ‡่āļāļēāļĢāļˆัāļ”āļāļēāļĢāļŠิāļ—āļ˜ิ์āļāļēāļĢāđ€āļ‚้āļēāđƒāļŠ้āđ„āļŸāļĨ์āļ‚้āļ­āļĄูāļĨāđƒāļ™ subfolder āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āļ—āļģ file partition scans āđƒāļ™ data lake āļ‹ึ่āļ‡āļŠ่āļ§āļĒāļ”้āļēāļ™āļ„āļ§āļēāļĄāđ€āļĢ็āļ§āđƒāļ™āļāļēāļĢāđ€āļ‚้āļēāļ–ึāļ‡āđ„āļŸāļĨ์āđƒāļ™ folder āđāļĨāļ° subfolder āļāļēāļĢāļˆัāļ”āļāļēāļĢāđƒāļ™āļĢāļ°āļ”ัāļš metadata āļ—āļģāļāļēāļĢāļĒ้āļēāļĒāđ„āļŸāļĨ์āļ‚āļ™āļēāļ”āđƒāļŦāļ่āļ—āļģāđ„āļ”้āļ­āļĒ่āļēāļ‡āļĢāļ§āļ”āđ€āļĢ็āļ§ āļ‹ึ่āļ‡āļĄีāļœāļĨāļ­āļĒ่āļēāļ‡āļĄāļēāļāđƒāļ™āđāļ‡่āļ„่āļēāđƒāļŠ้āļˆ่āļēāļĒ āđ€āļ™ื่āļ­āļ‡āļˆāļēāļ cloud service āļ„ิāļ”āļ„่āļēāđƒāļŠ้āļˆ่āļēāļĒāļ•āļēāļĄāļāļēāļĢāđƒāļŠ้āļ‡āļēāļ™ āđ„āļĄ่āļ§่āļēāļˆāļ°āđƒāļ™āđāļ‡่āļĢāļ°āļĒāļ°āđ€āļ§āļĨāļē āļŦāļĢืāļ­āļ—āļĢัāļžāļĒāļēāļāļĢāļ—ี่āļ•้āļ­āļ‡āđƒāļŠ้

- Open File Format (e.g. csv, JSON, parquet, delta ) āđāļ—āļ™āļ—ี่āļāļēāļĢāđ€āļ็āļšāđ„āļŸāļĨ์āđ‚āļ”āļĒāđƒāļŠ้ traditional databases āļŦāļĢืāļ­ MPP database āļ‹ึ่āļ‡āđ€āļ›็āļ™ proprietary data format āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āļˆัāļ”āđ€āļ็āļšāļ‚้āļ­āļĄูāļĨāđ‚āļ”āļĒāđƒāļŠ้āđ„āļŸāļĨ์āļ—ี่āđ€āļ›็āļ™ open format āļ­āļĒ่āļēāļ‡ parquet āļŦāļĢืāļ­ delta āļ‹ึ่āļ‡āļĄีāļ‚āļ™āļēāļ”āđ„āļŸāļĨ์āđ€āļžีāļĒāļ‡ 25% āļ‚āļ­āļ‡āđ„āļŸāļĨ์ CSV āļ•้āļ™āļ‰āļšัāļšāđ€āļ—่āļēāļ™ั้āļ™ āļŠ่āļ§āļĒāļ›āļĢāļ°āļŦāļĒัāļ”āļ—ั้āļ‡āļ„่āļēāđƒāļŠ้āļˆ่āļēāļĒāļ‚āļ­āļ‡āļžื้āļ™āļ—ี่āđƒāļ™āļāļēāļĢāđ€āļ็āļšāđāļĨāļ°āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨ āļ­ีāļāļ—ั้āļ‡āļĒัāļ‡āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠ้āļ‡āļēāļ™āļัāļš SQL āđ„āļ”้āļ‡่āļēāļĒāļ­ีāļāļ”้āļ§āļĒ

-  Serverless SQL Pool āļ‹ึ่āļ‡āđ€āļ›็āļ™ on demand ecosystem āļšāļ™ Azure āļĨāļ”āļ āļēāļĢāļ°āđƒāļ™āļāļēāļĢāļˆัāļ”āļāļēāļĢāđ‚āļ„āļĢāļ‡āļŠāļĢ้āļēāļ‡āļžื้āļ™āļāļēāļ™āļŦāļĢืāļ­āļˆัāļ”āļŠāļĢāļĢ cluster āļŠāļģāļŦāļĢัāļšāđƒāļŠ้āļ‡āļēāļ™ āļ‹ึ่āļ‡āđ€āļŦāļĄāļēāļ°āļŠāļģāļŦāļĢัāļšāļ‡āļēāļ™āļ—ี่āļĄีāļĨัāļāļĐāļ“āļ°āđ€āļ›็āļ™ on-demand āļŦāļĢืāļ­āļāļēāļĢāļ§ิāđ€āļ„āļĢāļēāļ°āļŦ์āļ‚้āļ­āļĄูāļĨāļŠāļģāļŦāļĢัāļš data analyst, data scientist āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āļŠāļĢ้āļēāļ‡ database, external table āļŦāļĢืāļ­ view āđ‚āļ”āļĒāļŠี้āđ„āļ›āļ—ี่āđ„āļŸāļĨ์āļ‚้āļ­āļĄูāļĨāđƒāļ™ ADLS Gen 2 āđ€āļžื่āļ­āđƒāļŦ้āļŠāļ°āļ”āļ§āļāđƒāļ™āļāļēāļĢāđƒāļŠ้āļ‡āļēāļ™ āļ­āļĒ่āļēāļ‡āđ„āļĢāļ็āļ”ี āđ€āļ™ื่āļ­āļ‡āļˆāļēāļāđ€āļ—āļ„āđ‚āļ™āđ‚āļĨāļĒีāđ€āļŦāļĨ่āļēāļ™ี้āđ€āļ›็āļ™āļĨัāļāļĐāļ“āļ°āļāļēāļĢāđƒāļŠ้āļ—āļĢัāļžāļĒāļēāļāļĢāļĢ่āļ§āļĄāļัāļ™āļัāļšāļœู้āđƒāļŠ้āļ‡āļēāļ™āļ­ื่āļ™āđ† (shared resource) āļāļĢāļ“ีāļ—ี่āđ€āļĢāļēāļĄีāļ‚้āļ­āļĄูāļĨāļˆāļģāļ™āļ§āļ™āļĄāļēāļ (Microsoft āđāļ™āļ°āļ™āļģāļ—ี่āļĄāļēāļāļāļ§่āļē 1TB āļŦāļĢืāļ­āļšāļēāļ‡ consultant āđāļ™āļ°āļ™āļģ āļ—ี่ 4TB) āđāļĨāļ°āļ•้āļ­āļ‡āļāļēāļĢāļ›āļĢāļ°āļŠิāļ—āļ˜ิāļ āļēāļžāļŠูāļ‡āļ­āļĒ่āļēāļ‡āļŠāļĄ่āļģāđ€āļŠāļĄāļ­ āļāļēāļĢāļˆัāļ”āđ€āļ็āļšāļ‚้āļ­āļĄูāļĨāđƒāļ™ traditional database āļŦāļĢืāļ­āļāļĨุ่āļĄāļ—ี่āđ€āļ›็āļ™ dedicated resource āļ­āļĒ่āļēāļ‡ Dedicated SQL pool āļŦāļĢืāļ­ spark pool āļˆāļ°āļĄีāļ„āļ§āļēāļĄāđ€āļŦāļĄāļēāļ°āļŠāļĄāļāļ§่āļē

- Serverless Apache Spark Pool āļŠ่āļ§āļĒāđƒāļŦ้āđ€āļĢāļēāļ—āļģāļ‡āļēāļ™āļัāļšāļ‚้āļ­āļĄูāļĨāđƒāļ™ data lake āļŦāļĢืāļ­ lakehouse āđ‚āļ”āļĒāđƒāļŠ้ Spark āđ€āļ—āļ„āđ‚āļ™āđ‚āļĨāļĒี āļœ่āļēāļ™āļ āļēāļĐāļē Spark SQL, PySpark āļšāļ™ notebook āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āļŠāļĢ้āļēāļ‡ database, tables āļšāļ™ spark pool āļ—āļģāđƒāļŦ้āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āđƒāļŠ้āļ„āļģāļŠั่āļ‡āđƒāļ™āļāļĨุ่āļĄ DML (Data Manipulation Language) āļัāļš delta table āļ‹ึ่āļ‡āļŠāļēāļĄāļēāļĢāļ– update, delete āļ‚้āļ­āļĄูāļĨāđƒāļ™āđ„āļŸāļĨ์ āļ—āļģāđƒāļŦ้ spark pool āđ€āļŦāļĄāļēāļ°āļŠāļĄāļŠāļģāļŦāļĢัāļšāļāļēāļĢāļˆัāļ”āđ€āļ็āļšāļ‚้āļ­āļĄูāļĨāđƒāļ™āļĢูāļ›āđāļšāļšāļ‚āļ­āļ‡ data warehouse āļĄāļēāļāļāļ§่āļē serverless pool

- Power BI āļŠ่āļ§āļ™āļ‚āļ­āļ‡āļāļēāļĢāļ§ิāđ€āļ„āļĢāļēāļ°āļŦ์ āļ—āļģāļĢāļēāļĒāļ‡āļēāļ™āđāļĨāļ°āđāļŠāļ”āļ‡āļœāļĨāļ‚้āļ­āļĄูāļĨ āļœ่āļēāļ™ dashboard āļŦāļĢืāļ­āļāļēāļĢ visualize āļ‚้āļ­āļĄูāļĨ āļĢāļ§āļĄāļ–ึāļ‡āļŠāļēāļĄāļēāļĢāļ–āđāļš่āļ‡āļ›ัāļ™āđƒāļŦ้āđāļ่āļœู้āđƒāļŠ้āļ„āļ™āļ­ื่āļ™āđ† āđ€āļ›็āļ™āđ€āļ„āļĢื่āļ­āļ‡āļĄืāļ­āļ—ี่āļĄีāđƒāļŦ้āļšāļ™ Synapse Analytics āđ‚āļ”āļĒāđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āđƒāļŠ้ Power BI āļัāļšāļ‚้āļ­āļĄูāļĨāđƒāļ™ ADLS Gen 2 āļœ่āļēāļ™ Serverless SQL Pool āļŦāļĢืāļ­ Spark Pool āđ„āļ”้āđ‚āļ”āļĒāļ•āļĢā

- Synape pipelines āļŠāļģāļŦāļĢัāļšāļŠ่āļ§āļ™āļ‚āļ­āļ‡ data ingestion āđāļĨāļ°āļœูāļāļāļĢāļ°āļšāļ§āļ™āļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ•āļēāļĄāļĨāļģāļ”ัāļšāļ‚ั้āļ™āļ•āļ­āļ™ āđ€āļ›็āļ™ batch āļŦāļĢืāļ­ near real time āļŠāļēāļĄāļēāļĢāļ–āļ•ั้āļ‡āđ€āļ§āļĨāļēāļŦāļĢืāļ­ trigger āļŠāļģāļŦāļĢัāļšāđ€āļĢิ่āļĄāļāļēāļĢāļ—āļģāļ‡āļēāļ™ āđ€āļĢีāļĒāļāđ„āļ”้āļ§่āļē pipelines āđ€āļ›็āļ™āļĨูāļāļžี่āļĨูāļāļ™้āļ­āļ‡āļัāļš Azure Data Factory āļ™ั่āļ™āđ€āļ­āļ‡

- Optional āđ€āļĢāļēāļ­āļēāļˆāđƒāļŠ้ SQL database āđ€āļŠ่āļ™ Dedicated SQL pool āļŦāļĢืāļ­ SQL server, mySQL āđƒāļ™āļāļĢāļ“ีāļ—ี่āļˆāļģāđ€āļ›็āļ™ āđ‚āļ”āļĒāļŠāļēāļĄāļēāļĢāļ–āđƒāļŠ้āđƒāļ™āļĨัāļāļĐāļ“āļ°āļ—ี่āđ€āļ›็āļ™ serving layer āđ‚āļ”āļĒāļ”ึāļ‡āđ€āļ‰āļžāļēāļ°āļ‚้āļ­āļĄูāļĨāļŠ่āļ§āļ™āļ—ี่āļˆāļģāđ€āļ›็āļ™āđ€āļ‚้āļēāđƒāļ™ database āđ€āļŦāļĨ่āļēāļ™ั้āļ™ āļŦāļĢืāļ­āļŠāļĢ้āļēāļ‡āđ€āļ›็āļ™ external table āđ‚āļ”āļĒāļ—ี่āļ‚้āļ­āļĄูāļĨāļŠ่āļ§āļ™āđƒāļŦāļ่āļŦāļĢืāļ­āļ—ั้āļ‡āļŦāļĄāļ”āļĒัāļ‡āļ„āļ‡āļ–ูāļāļˆัāļ”āđ€āļ็āļšāļ­āļĒู่āļšāļ™ ADLS Gen 2

āļˆāļēāļāļ—ี่ Microsoft āļĢāļ§āļĄāļ—ั้āļ‡āļŦāļĄāļ”āļ™ี้āđ€āļ‚้āļēāđ€āļ›็āļ™ one development studio āļˆึāļ‡āđ€āļ›็āļ™āđ€āļŦāļ•ุāļœāļĨāļŦāļĨัāļāļ—ี่āđ€āļĨืāļ­āļāđƒāļŠ้ Azure Synapse Analytics āđ€āļžื่āļ­āđāļŠāļ”āļ‡āđāļ™āļ§āļ„ิāļ”āļ‚āļ­āļ‡ lakehouse lite āļĨāļ”āļ„āļ§āļēāļĄāļ‹ัāļšāļ‹้āļ­āļ™āļ‚āļ­āļ‡āļāļēāļĢāđƒāļŠ้āļ‡āļēāļ™ services āđāļĨāļ° tools āļˆāļģāļ™āļ§āļ™āļĄāļēāļ āļ—āļģāđƒāļŦ้āļāļēāļĢ monitor āđāļĨāļ°āļ•āļĢāļ§āļˆāļŠāļ­āļšāđƒāļ™āļ‚ั้āļ™āļ•āļ­āļ™āļ•่āļēāļ‡āđ† āļ—āļģāđ„āļ”้āļ‡่āļēāļĒ āļĨāļ”āļ āļēāļĢāļ°āļ”้āļēāļ™āļāļēāļĢāļˆัāļ”āļāļēāļĢāđāļĨāļ°āļ”ูāđāļĨāļ„āļ§āļēāļĄāļ›āļĨāļ­āļ”āļ ัāļĒāļ‚āļ­āļ‡āļ‚้āļ­āļĄูāļĨāđāļĨāļ°āļĢāļ°āļšāļš

āļ—ั้āļ‡āļ™ี้āđ€āļ™ื่āļ­āļ‡āļˆāļēāļāļœู้āđƒāļŦ้āļšāļĢิāļāļēāļĢāļ„āļĨāļēāļ§āļ”์āđāļ•่āļĨāļ°āļĢāļēāļĒāļĄีāļāļēāļĢāļ›āļĢัāļšāļ›āļĢุāļ‡ āļžัāļ’āļ™āļēāđ€āļ„āļĢื่āļ­āļ‡āļĄืāļ­āļ•่āļēāļ‡āđ† āļ‚āļ­āļ‡āļ•āļ™āđ€āļ­āļ‡āļ­āļĒู่āļ­āļĒ่āļēāļ‡āļŠāļĄ่āļģāđ€āļŠāļĄāļ­ āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āļ›āļĢัāļšāđ€āļ›āļĨี่āļĒāļ™āđ€āļĨืāļ­āļāđƒāļŠ้āļ•āļēāļĄāļ„āļ§āļēāļĄāđ€āļŦāļĄāļēāļ°āļŠāļĄ

3. Setting

āđƒāļ™āļ—ี่āļ™ี้āđ€āļĢāļēāļ‚āļ­āđ„āļĄ่āļĨāļ‡āļĢāļēāļĒāļĨāļ°āđ€āļ­ีāļĒāļ”āđƒāļ™āļāļēāļĢāļŠāļĢ้āļēāļ‡ components āļ•่āļēāļ‡āđ† āļšāļ™ Azure āđ€āļŠ่āļ™ āļāļēāļĢāļŠāļĢ้āļēāļ‡ Azure Account, subscription āļ•่āļēāļ‡āđ† āļ‹ึ่āļ‡āļŠāļēāļĄāļēāļĢāļ–āļĻึāļāļĐāļēāļˆāļēāļ Microsoft āđ„āļ”้āđ‚āļ”āļĒāļ•āļĢāļ‡

3.1 Synapse Analytics Workspace āđƒāļ™āļāļēāļĢāļŠāļĢ้āļēāļ‡ workspace āļˆāļ°āļĄีāđƒāļŦ้āļāļģāļŦāļ™āļ” primary ADLS Gen 2 Storage Account āđāļĨāļ° container āđ‚āļ”āļĒ Serverless SQL Pool āļˆāļ°āļ–ูāļāļŠāļĢ้āļēāļ‡āļ‚ึ้āļ™āļĄāļēāđƒāļ™āļ‚ั้āļ™āļ•āļ­āļ™āļāļēāļĢāļŠāļĢ้āļēāļ‡ workspace āļ‹ึ่āļ‡āļˆāļ°āđƒāļŦ้āđ€āļĢāļēāļāļģāļŦāļ™āļ” username āđāļĨāļ° password āļŠāļģāļŦāļĢัāļš SQL Pool āļ”้āļ§āļĒ āļŠāļģāļŦāļĢัāļšāļāļēāļĢāļŠāļĢ้āļēāļ‡ Synapse Workspace āļĻึāļāļĐāļēāđ„āļ”้āļˆāļēāļ Creating a Synapse Workspace āđƒāļ™āļ•ัāļ§āļ­āļĒ่āļēāļ‡āļ™ี้āđ€āļĢāļēāļĒึāļ”āđāļ™āļ§āļ—āļēāļ‡ multiple-workspaces-single-lake āļ—ี่āļ™āļģāđ€āļŠāļ™āļ­āđ‚āļ”āļĒ Jovan Popovic 

Multiple-workspaces-single-lake topology (image credit Jovan Popovic)

āđ‚āļ”āļĒāļŠāļĢ้āļēāļ‡ workspace (lh-synapse-ws), storage account (lhdatalakestorage), container (lhdatalakecontainer) āļ­āļĒ่āļēāļ‡āļĨāļ°āļŦāļ™ึ่āļ‡ āđ€āļžื่āļ­āļ„āļ§āļēāļĄāļŠāļ°āļ”āļ§āļāđƒāļ™āļāļēāļĢāđƒāļŠ้āļ‡āļēāļ™āđāļĨāļ°āļšāļĢิāļŦāļēāļĢāļˆัāļ”āļāļēāļĢ

Storage Account, Container āđāļĨāļ° Lakehouse folder āđƒāļ™ Container

3.2 Apache Spark Pool āđ€āļĢāļēāđƒāļŠ้āđ€āļžื่āļ­āļāļēāļĢāļŠāļĢ้āļēāļ‡ database, table āđ€āļŠ่āļ™ delta lake, delta table āļŠ่āļ§āļ™āļāļēāļĢāļŠāļĢ้āļēāļ‡ Apache Spark Pool āļĻึāļāļĐāļēāđ„āļ”้āļˆāļēāļ Quickstart: Create a serverless Apache Spark pool using Synapse Studio

Apache Spark pools


3.3 Lakehouse folders āļ āļēāļĒāđƒāļ•้ container āļ‚āļ­āļ‡ lakehouse āļ•āļēāļĄ data life cycle āđ€āļ›็āļ™ zone āļ•āļēāļĄ industry practice āļ„ืāļ­ 
  1. Bronze āļŦāļĢืāļ­ raw āļŠāļģāļŦāļĢัāļšāđ€āļ็āļšāļ‚้āļ­āļĄูāļĨāļ—ี่āļĄāļēāļˆāļēāļāļĢāļ°āļšāļšāļ‡āļēāļ™āļ•่āļēāļ‡āđ† āđ‚āļ”āļĒāđ€āļ›็āļ™āđ„āļŸāļĨ์ āđƒāļ™āļĢูāļ›āđāļšāļš CSV, parquet, JSON āđƒāļ™āļŠ่āļ§āļ™āļ™ี้āļ„āļ§āļĢāļĄีāļāļēāļĢāļˆัāļ” folder āđāļĨāļ° subfolder āđ€āļžื่āļ­āđƒāļŦ้āļ‡่āļēāļĒāļ•่āļ­āļāļēāļĢāđƒāļŠ้āļ‡āļēāļ™
  2. Silver āļŦāļĢืāļ­ enriched āļŠāļģāļŦāļĢัāļšāđ€āļ็āļšāđ„āļŸāļĨ์āļ—ี่āļ–ูāļāļ›āļĢัāļšāļ›āļĢุāļ‡āļ‚้āļ­āļĄูāļĨāđƒāļŦ้āđ€āļŦāļĄāļēāļ°āļŠāļĄāđ€āļšื้āļ­āļ‡āļ•้āļ™āļŠāļģāļŦāļĢัāļšāļāļēāļĢāđƒāļŠ้āļ‡āļēāļ™ āđ€āļŠ่āļ™āļāļēāļĢāđāļ›āļĨāļ‡āļĢูāļ›āđāļšāļšāļˆāļēāļ semistructure āđ€āļ›็āļ™ structure, data cleansing, āļˆัāļ”āļ—āļģ partition āļŦāļĢืāļ­ join āļ‚้āļ­āļĄูāļĨāļˆāļēāļāđ„āļŸāļĨ์āļ•่āļēāļ‡āđ†āđ€āļ‚้āļēāļ”้āļ§āļĒāļัāļ™ āļĄัāļāđ€āļ็āļšāđ„āļŸāļĨ์āđƒāļ™āļĢูāļ›āđāļšāļš parquet āļŦāļĢืāļ­ delta āđāļ•่āļ็āļĒัāļ‡āļŠāļēāļĄāļēāļĢāļ–āđ€āļ็āļšāđƒāļ™āļĢูāļ›āđāļšāļš CSV āđ„āļ”้āđ€āļŠ่āļ™āļัāļ™ 
  3. Gold āļŦāļĢืāļ­ curated āļŠāļģāļŦāļĢัāļšāđ€āļ็āļšāđ„āļŸāļĨ์āļ—ี่āļ–ูāļāļˆัāļ”āđ€āļ•āļĢีāļĒāļĄāđ€āļžื่āļ­āļāļēāļĢāđƒāļŠ้āļ‡āļēāļ™ āļŦāļĢืāļ­āļ§ิāđ€āļ„āļĢāļēāļ°āļŦ์āļ‚้āļ­āļĄูāļĨ āđāļĨāļ°āđ€āļĢāļēāļĒัāļ‡āļŠāļēāļĄāļēāļĢāļ–āļāļēāļĢāļˆัāļ”āđ€āļ็āļšāļ‚้āļ­āļĄูāļĨāđāļšāļš Fact, Dimension, Slowly Changing Dimensions (SCDs) āļ•āļēāļĄāđāļ™āļ§āļ—āļēāļ‡āļ‚āļ­āļ‡ data warehouse āđ„āļ”้āđ€āļŠ่āļ™āļัāļ™ āļ‹ึ่āļ‡āļŠāļēāļĄāļēāļĢāļ–āļ—āļģāđ„āļ”้āļ—ั้āļ‡āļ”้āļ§āļĒāđ„āļŸāļĨ์ parquet āļāļĢāļ“ีāļ‚āļ™āļēāļ”āđ„āļŸāļĨ์āđ„āļĄ่āđƒāļŦāļ่āļĄāļēāļ āļŦāļĢืāļ­ delta āļāļĢāļ“ีāļ—ี่āļāļēāļĢ update āđ„āļŸāļĨ์āđ€āļ”ิāļĄāļĄีāļ„āļ§āļēāļĄāđ€āļŦāļĄāļēāļ°āļŠāļĄāļāļ§่āļē 
āļ—ั้āļ‡āļ™ี้āļāļēāļĢāļˆัāļ”āđāļš่āļ‡āđāļĨāļ°āļ•ั้āļ‡āļŠื่āļ­āļ•āļēāļĄ industry practice āđ€āļŠ่āļ™ data life cycle āļĒัāļ‡āļ­āļēāļˆāļ›āļĢัāļšāđ€āļ›āļĨี่āļĒāļ™āđ€āļžื่āļ­āđƒāļŦ้āđ€āļ‚้āļēāđƒāļˆāļ‡่āļēāļĒāļŠāļģāļŦāļĢัāļšāļāļēāļĢāđƒāļŠ้āļ‡āļēāļ™āļ‚āļ­āļ‡āđ€āļĢāļē āļŠāļ°āļ”āļ§āļāļ•่āļ­āļāļēāļĢāļˆัāļ”āļāļēāļĢāđāļĨāļ°āđƒāļŠ้āļ‡āļēāļ™āđ„āļŸāļĨ์āļ•่āļēāļ‡āđ† āđ‚āļ”āļĒāļŠ่āļ§āļ™āļ•ัāļ§āđ„āļĄ่āļ„่āļ­āļĒāļ™ิāļĒāļĄāļัāļšāļāļēāļĢāđ€āļĢีāļĒāļāđāļšāļš bronze, silver āđāļĨāļ° gold āđ€āļ™ื่āļ­āļ‡āļˆāļēāļāđ„āļĄ่āđ„āļ”้āļŠื่āļ­āļ–ึāļ‡ data life cycle āđ€āļĨāļĒāļ‹ัāļāļāļ°āļ™ิāļ”

3.4 Database āļšāļ™ Serverless SQL pool āđāļĨāļ°āđāļš่āļ‡ database schema āđ‚āļ”āļĒāđāļš่āļ‡āļ•āļēāļĄāļāļēāļĢāļˆัāļ”āđ€āļ็āļšāļ‚้āļ­āļĄูāļĨāđƒāļ™ container āđ€āļŠ่āļ™ bronze āļŦāļĢืāļ­ raw, silver āļŦāļĢืāļ­ , gold āļŦāļĢืāļ­ āđ€āļžื่āļ­āđƒāļŦ้āļˆัāļ”āļāļēāļĢāļĢูāļ›āđāļšāļšāļāļēāļĢāđƒāļŠ้āļ‡āļēāļ™āđ„āļ”้āđ€āļŦāļĄāļēāļ°āļŠāļĄ āđ‚āļ”āļĒāđƒāļ™āļ•ัāļ§āļ­āļĒ่āļēāļ‡āđ€āļĢāļēāļŠāļĢ้āļēāļ‡ database āļŠื่āļ­ lakehouse_lite

Database, Schema āđāļĨāļ° External Tables āđƒāļ™ Serverless SQL pool

3.5 External table āļŦāļĢืāļ­ view āļŠāļģāļŦāļĢัāļšāđ„āļŸāļĨ์āđƒāļ™ bronze/raw āđ€āļžื่āļ­āđƒāļŦ้āļŠāļēāļĄāļēāļĢāļ–āđ„āļ”้āļ‡่āļēāļĒāđ‚āļ”āļĒ SQL āļĄี 2 āļ§ิāļ˜ีāđƒāļ™āļāļēāļĢāļŠāļĢ้āļēāļ‡ external table āļ„ืāļ­ Create External Table āļ‹ึ่āļ‡āđ€āļ›็āļ™āļāļēāļĢāļŠāļĢ้āļēāļ‡ table āļ‚ึ้āļ™āļĄāļēāļšāļ™āđ„āļŸāļĨ์ āđāļĨāļ° Create External Table As Select (CETAS) āļ‹ึ่āļ‡āļ—āļģ 2 āļ‚ั้āļ™āļ•āļ­āļ™ āļ„ืāļ­ āļŠāļĢ้āļēāļ‡āđ„āļŸāļĨ์āđƒāļŦāļĄ่āļ‚ึ้āļ™āļĄāļē āđāļĨāļ°āļŠāļĢ้āļēāļ‡ external table āđƒāļ™ Serverless SQL pool āđ‚āļ”āļĒāđƒāļ™āļ‚ั้āļ™āļ•āļ­āļ™āļ™ี้āļ•้āļ­āļ‡āļĄีāļāļēāļĢāļāļģāļŦāļ™āļ” external data source āđāļĨāļ° external file format āļ”้āļ§āļĒ āļ‹ึ่āļ‡ external table āđ€āļŦāļĨ่āļēāļ™ี้āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠ้āļ‡āļēāļ™āđ€āļŦāļĄืāļ­āļ™ table āļˆāļēāļ traditional relational database āđ€āļŠ่āļ™ āđƒāļŠ้āļ‡āļēāļ™āļัāļš PowerBI, tableau āđ„āļ”้āđ‚āļ”āļĒāļ•āļĢāļ‡ āđāļ•่āļĄีāļ‚้āļ­āļˆāļģāļัāļ”āļ—ี่ external table āđ„āļĄ่āļĢāļ­āļ‡āļĢัāļšāđ„āļŸāļĨ์āļ›āļĢāļ°āđ€āļ āļ— JSON

3.6 Data transformation āđƒāļŠ้āđ€āļžื่āļ­āļ—āļģāļ‚ั้āļ™āļ•āļ­āļ™āļ•่āļēāļ‡āđ† āđ€āļŠ่āļ™ āļāļēāļĢāđāļ›āļĨāļ‡āļ›āļĢāļ°āđ€āļ āļ—āđ„āļŸāļĨ์ feature engineering āļˆัāļ”āđ€āļ•āļĢีāļĒāļĄāļ‚้āļ­āļĄูāļĨ āđ„āļ›āļˆāļ™āļ–ึāļ‡āļāļēāļĢāļˆัāļ”āđ€āļ็āļšāļ‚้āļ­āļĄูāļĨāđƒāļ™āļĢูāļ›āđāļšāļšāļ‚āļ­āļ‡ data warehouse āļ‹ึ่āļ‡āđ€āļ›็āļ™āļāļĢāļ°āļšāļ§āļ™āļāļēāļĢāļ—ี่āļ—āļģāđƒāļŦ้āļ‚้āļ­āļĄูāļĨāđ„āļŦāļĨāļˆāļēāļ zone āļŦāļ™ึ่āļ‡āđ„āļ›āļĒัāļ‡āļ­ีāļ zone āļŦāļ™ี่āļ‡ āđ€āļŠ่āļ™āļˆāļēāļ raw/bronze āđ„āļ› enriched/silver āđƒāļ™ ASA āļ—āļģāđ„āļ”้āļŦāļĨāļēāļĒāļ§ิāļ˜ี 
āđ€āļŠ่āļ™
- CETAS āđ€āļ›็āļ™ SQL script āļ­āļēāļˆāđ€āļĢีāļĒāļāđƒāļŠ้āđ‚āļ”āļĒāļ•āļĢāļ‡ āļŦāļĢืāļ­āđāļ›āļĨāļ‡āđ€āļ›็āļ™ stored procedure āđ€āļžื่āļ­āļ›āļĢāļ°āđ‚āļĒāļŠāļ™์āļ”้āļēāļ™ code reuse āđāļ—āļ™āļ—ี่āļˆāļ°āđ€āļ‚ีāļĒāļ™ SQL script āļŠāļģāļŦāļĢัāļšāđāļ•่āļĨāļ° table āļŠāļēāļĄāļēāļĢāļ–āļĻึāļāļĐāļēāđ„āļ”้āļˆāļēāļ CETAS with Synapse SQL  āļ­āļĒ่āļēāļ‡āđ„āļĢāļ็āļ”ี āđ€āļ™ื่āļ­āļ‡āļˆāļēāļ external table āđ„āļĄ่āļĢāļ­āļ‡āļĢัāļš partition āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āđāļ้āļ›ัāļāļŦāļēāļ—āļēāļ‡āļ­้āļ­āļĄāđ‚āļ”āļĒāđƒāļŠ้ pipeline āđ€āļĢีāļĒāļ stored procedure āļ§āļ™ loop āđ€āļžื่āļ­āļŠāļĢ้āļēāļ‡ partition āđāļĨ้āļ§āļˆึāļ‡āļŠāļĢ้āļēāļ‡ view āļ‚ึ้āļ™āļĄāļēāļ„āļĢāļ­āļšāļ­ีāļāļŠั้āļ™āļŦāļ™ึ่āļ‡ āļāļēāļĢāđƒāļŠ้ Spark pool āļˆึāļ‡āđ€āļŦāļĄāļēāļ°āļŠāļĄāđāļĨāļ°āļ‡่āļēāļĒāļāļ§่āļēāļāļĢāļ“ีāļ—ี่āđ€āļĢāļēāļ•้āļ­āļ‡āļāļēāļĢāđƒāļŠ้ partition

- SparkSQL āļŦāļĢืāļ­ pySpark āđ‚āļ”āļĒāđƒāļŠ้ notebook āļšāļ™ Spark pool

- Data Flow āļ‹ึ่āļ‡āđ€āļ›็āļ™ low code GUI

Data transformation āđ‚āļ”āļĒāđƒāļŠ้ stored procedure

3.7 Synapse Pipelines āđƒāļŠ้āđƒāļ™āļāļēāļĢāļœูāļāļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ•āļēāļĄāļĨāļģāļ”ัāļšāļ‚ั้āļ™āļ•āļ­āļ™ āļāļēāļĢāđ€āļĢีāļĒāļāđƒāļŠ้ dataflow, stored procedure, notebook āđāļĨāļ° script āļĢāļ§āļĄāļ–ึāļ‡ āļāļēāļĢāļˆัāļ”āļāļēāļĢāļ„่āļē parameters,  file operation, looping āļ•่āļēāļ‡āđ† āļ•āļĨāļ­āļ”āļˆāļ™āļāļēāļĢāļ—āļģ scheduling āđāļĨāļ° trigger

Pipeline āļœูāļāļ‚ั้āļ™āļ•āļ­āļ™āļ•่āļēāļ‡āđ† āđ€āļ‚้āļēāļ”้āļ§āļĒāļัāļ™āđ€āļ›็āļ™ process āđāļĨāļ°āļŠั่āļ‡āļāļēāļĢāļ—āļģāļ‡āļēāļ™


4. Tips

āļŠāļģāļŦāļĢัāļšāļāļēāļĢāļ—āļģāļ‡āļēāļ™āļัāļšāļ‚้āļ­āļĄูāļĨ āļŦāļĢืāļ­āđ‚āļ„āļĢāļ‡āļāļēāļĢāļ—ี่āļĄีāļ‚āļ™āļēāļ”āļ„่āļ­āļ™āļ‚้āļēāļ‡āđƒāļŦāļ่ āļ—ีāļĄāļ‡āļēāļ™āļŦāļĨāļēāļĒāļ„āļ™ āļāļēāļĢāļ­āļ­āļāđāļšāļš āđāļĨāļ°āļāļģāļŦāļ™āļ”āļ„่āļēāļ•่āļēāļ‡āđ† āļˆāļ°āļŠ่āļ§āļĒāđƒāļŦ้āļāļēāļĢāļ—āļģāļ‡āļēāļ™āđ€āļ›็āļ™āļĢāļ°āđ€āļšีāļĒāļšāđāļĨāļ°āļˆัāļ”āļāļēāļĢāđ„āļ”้āļ‡่āļēāļĒāļ‚ึ้āļ™ āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāđ„āļ”้āđ€āļĢ็āļ§ āļ„āļ§āļšāļ„ุāļĄāļ„่āļēāđƒāļŠ้āļˆ่āļēāļĒāđ„āļ”้āļ”ี āļˆึāļ‡āđ„āļ”้āļĢāļ§āļšāļĢāļ§āļĄāļ„āļģāđāļ™āļ°āļ™āļģāļˆāļēāļāļœู้āļĄีāļ›āļĢāļ°āļŠāļšāļāļēāļĢāļ“์āļˆāļēāļāđāļŦāļĨ่āļ‡āļ•่āļēāļ‡āđ† āļĢāļ§āļĄāļ–ึāļ‡āļ‚āļ­āļ‡ Microsoft āđ€āļ­āļ‡āđ„āļ§้āđƒāļŦ้āđ€āļĨืāļ­āļāļ™āļģāđ„āļ›āđƒāļŠ้ āđ‚āļ”āļĒāđāļš่āļ‡āđ€āļ›็āļ™āļŠ่āļ§āļ™āļ”ัāļ‡āļ™ี้

Store
- āđ€āļĢāļēāļ­āļēāļˆāļˆัāļ”āđāļš่āļ‡ storage account, container āđāļĨāļ° lakehouse folder āļŦāļĨāļēāļĒāđāļšāļšāļ•āļēāļĄāļĨัāļāļĐāļ“āļ°āļāļēāļĢāđƒāļŠ้āļ‡āļēāļ™ āđ€āļŠ่āļ™ āļ•āļēāļĄ data life cycle: /raw, /enriched āļŦāļĢืāļ­āđāļĒāļāļ•āļēāļĄāđ€āļŸāļŠāļāļēāļĢāļžัāļ’āļ™āļē develop, test and production: /dev, /sit āļ•āļēāļĄāļĢāļ°āļšāļšāļ‡āļēāļ™: /application01 āļŦāļĢืāļ­ āļ•āļēāļĄāđ€āļĢื่āļ­āļ‡āļ˜ุāļĢāļิāļˆ (business area): /sales, /accounting āđ€āļ›็āļ™āļ•้āļ™ āđāļĨāļ°āļĒัāļ‡āļŠāļēāļĄāļēāļĢāļ–āļ™āļģāļœāļŠāļĄāļัāļ™āđ„āļ”้āļ­ีāļāļ”้āļ§āļĒ āļ—ั้āļ‡āļ™ี้āļ็āļˆัāļ”āđāļš่āļ‡āļĢูāļ›āđāļšāļšāļāļēāļĢāđ€āļ็āļšāļ­āļĒ่āļēāļ‡āđ€āļŦāļĄāļēāļ°āļŠāļĄ āļ‚ึ้āļ™āļัāļšāļŦāļĨāļēāļĒāļ›ัāļˆāļˆัāļĒ

- āļžāļĒāļēāļĒāļēāļĄāļĒึāļ”āđāļ™āļ§āļ—āļēāļ‡ multiple-workspaces-single-lake āļŦāļēāļāļ—āļģāđ„āļ”้ āļ‹ึ่āļ‡āļĄีāđ€āļžีāļĒāļ‡ 1 datalake storage account āđ€āļžื่āļ­āļ›āļĢāļ°āđ‚āļĒāļŠāļ™์āđƒāļ™āļāļēāļĢāđāļŠāļĢ์āļ‚้āļ­āļĄูāļĨ āļāļēāļĢāļ„ุāļĄāļāļēāļĢāđƒāļŠ้āļ‚้āļ­āļĄูāļĨāļ•āļēāļĄ containers āđāļĨāļ°āļ„āļ§āļĢāļ•ั้āļ‡āļŠื่āļ­ workspace āđƒāļŦ้āļŠāļ­āļ”āļ„āļĨ้āļ­āļ‡āļัāļš container āđ‚āļ”āļĒāđ€āļ‰āļžāļēāļ°āļāļĢāļ“ีāđƒāļŠ้āļŦāļĨāļēāļĒ workspaces

- āļāļĢāļ“ีāļ—ี่āđ„āļŸāļĨ์āļĄีāļˆāļģāļ™āļ§āļ™āļĄāļēāļ āđāļĨāļ°āļ‚āļ™āļēāļ”āđƒāļŦāļ่ āļ„āļ§āļĢāļˆัāļ”āđāļš่āļ‡ partition (āļŦāļĢืāļ­āļŠāļĢ้āļēāļ‡ sub folder) āļ‚āļ­āļ‡āđ„āļŸāļĨ์āđƒāļ™ ADLS Gen 2 āđ€āļžื่āļ­āđƒāļŦ้āđƒāļŠ้āļ„āļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļ–āļ‚āļ­āļ‡ file metadata function āđƒāļ™ Serverless SQL pool āļŠ่āļ§āļĒāđƒāļ™āļāļēāļĢāļĢāļ°āļšุ partition āđ„āļ”้āļ‡่āļēāļĒ āļ—āļģāđƒāļŦ้āđ€āļĢāļēāđƒāļŠ้āļ‚้āļ­āļĄูāļĨāđ€āļ—่āļēāļ—ี่āļˆāļģāđ€āļ›็āļ™āđƒāļ™āđāļ•่āļĨāļ° partition āļ‹ึ่āļ‡āļĄีāļœāļĨāļัāļšāļ„āļ§āļēāļĄāđ€āļĢ็āļ§āđƒāļ™āļāļēāļĢāļ—āļģāļ‡āļēāļ™ āđāļĨāļ°āļ„่āļēāđƒāļŠ้āļˆ่āļēāļĒ

- āļāļēāļĢāđāļš่āļ‡ partition āļŦāļĢืāļ­ subfolder āļ‚āļ­āļ‡āļ‚้āļ­āļĄูāļĨāđƒāļ™ container āļ„āļ§āļĢāļžิāļˆāļēāļĢāļ“āļēāļˆāļēāļāļāļēāļĢāļˆัāļ”āđ€āļ็āļšāđāļĨāļ°āđƒāļŠ้āļ‚้āļ­āļĄูāļĨāđ€āļ›็āļ™āļŠāļģāļ„ัāļ āđ€āļŠ่āļ™ āļŦāļēāļāđ€āļĢāļēāđƒāļŠ้āđ€āļ›็āļ™āļĢāļēāļĒāđ€āļ”ืāļ­āļ™ āļĢāļēāļĒāļ›ี  āđ€āļĢāļēāļ„āļ§āļĢāļˆัāļ”āđ€āļ›็āļ™ /year/month āđ€āļ›็āļ™āļ•้āļ™

- āļ›ัāļˆāļˆุāļšัāļ™ external table āđƒāļ™ serverless SQL pool āđ„āļĄ่āļĢāļ­āļ‡āļĢัāļšāļāļēāļĢāļ—āļģ partition pruning āļˆึāļ‡āļ•้āļ­āļ‡āļŠāļĢ้āļēāļ‡āđ€āļ›็āļ™ view āđāļĨ้āļ§āđƒāļŠ้ filepath function āđƒāļ™ view āļˆึāļ‡āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠ้āļ›āļĢāļ°āđ‚āļĒāļŠāļ™์āļˆāļēāļāļāļēāļĢāļ—āļģ partition āđ„āļ”้

- āđ€āļĨืāļ­āļāđƒāļŠ้ view āđāļ—āļ™āļāļēāļĢāđƒāļŠ้ external table āļāļĢāļ“ีāļ—ี่āļ•้āļ­āļ‡āļāļēāļĢāļˆāļģāļัāļ”āđƒāļŦ้āđ€āļŦ็āļ™āļ‚้āļ­āļĄูāļĨāđāļ„่āļšāļēāļ‡ column āļŦāļĢืāļ­āļāļģāļŦāļ™āļ”āđ€āļ‡ื่āļ­āļ™āđ„āļ‚āđƒāļ™āļāļēāļĢāļ”ูāļ‚้āļ­āļĄูāļĨ

Process
- āđƒāļ™āļāļēāļĢāļŠāļĢ้āļēāļ‡ external table, table āļ„āļ§āļĢāļāļģāļŦāļ™āļ” data type āđāļĨāļ° data length āđƒāļŦ้āđ€āļŦāļĄāļēāļ°āļŠāļĄ āđāļ—āļ™āļāļēāļĢāđƒāļŠ้āļ„่āļē default āļˆāļēāļāļĢāļ°āļšāļš āđ€āļžื่āļ­āđ€āļ›็āļ™āļāļēāļĢāļšāļ­āļāļĢāļ°āļšāļšāđƒāļŦ้āļˆัāļ”āļŠāļĢāļĢāļ—āļĢัāļžāļĒāļēāļāļĢāđāļĨāļ°āļ”āļģāđ€āļ™ิāļ™āļāļēāļĢāļัāļšāļ‚้āļ­āļĄูāļĨāļ™ั้āļ™āļ­āļĒ่āļēāļ‡āđ€āļŦāļĄāļēāļ°āļŠāļĄ āļ•ัāļ§āļ­āļĒ่āļēāļ‡āđ€āļŠ่āļ™ string data type āđƒāļ™āđ„āļŸāļĨ์ āđ€āļĄื่āļ­āđ€āļĢāļēāļŠāļĢ้āļēāļ‡ external table āļŦāļĢืāļ­ table āļĢāļ°āļšāļšāļˆāļ°āļāļģāļŦāļ™āļ”āļ„่āļēāļ•ั้āļ‡āļ•้āļ™āđ€āļ›็āļ™ varchar(8000) āļŦāļĢืāļ­ nvarchar(4000) āļ‹ึ่āļ‡āđƒāļŠ้āļžื้āļ™āļ—ี่āđāļĨāļ°āļ—āļĢัāļžāļĒāļēāļāļĢāļĢāļ°āļšāļšāļĄāļēāļāđ€āļิāļ™āļˆāļģāđ€āļ›็āļ™ āļāļēāļĢāļāļģāļŦāļ™āļ”āđƒāļŦ้āđ€āļŦāļĄāļēāļ°āļŠāļĄāļˆāļ°āļŠ่āļ§āļĒāļ”้āļēāļ™āļ„āļ§āļēāļĄāđ€āļĢ็āļ§āđƒāļ™āļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨ āļĨāļ”āļāļēāļĢāđƒāļŠ้āļ—āļĢัāļžāļĒāļēāļāļĢāļ‚āļ­āļ‡āļĢāļ°āļšāļš āđāļĨāļ°āļ„่āļēāđƒāļŠ้āļˆ่āļēāļĒ

- āļāļĢāļ“ีāļ—ี่āđ€āļĢāļēāđ€āļ‚ีāļĒāļ™āđ‚āļ›āļĢāđāļāļĢāļĄāļŠāļģāļŦāļĢัāļš data transformation āđ‚āļ”āļĒāđƒāļŠ้ notebook āđāļ™āļ°āļ™āļģāđƒāļŦ้āđ€āļ‚ีāļĒāļ™āđ€āļ›็āļ™āļŠุāļ”āļŸัāļ‡āļ„์āļŠั่āļ™āļŠั้āļ™āđ† āļ—āļģāļ‡āļēāļ™āđ€āļ‰āļžāļēāļ°āđ€āļĢื่āļ­āļ‡ āđƒāļ™āđāļ•่āļĨāļ° notebook āđ€āļžื่āļ­āļĨāļ”āļ„āļ§āļēāļĄāļ‹ัāļšāļ‹้āļ­āļ™āļ‚āļ­āļ‡āļāļēāļĢāđ€āļ‚ีāļĒāļ™āđ‚āļ›āļĢāđāļāļĢāļĄ āļāļēāļĢ debug āļ§ิāđ€āļ„āļĢāļēāļ°āļŦ์āļ›ัāļāļŦāļē āđāļĨāļ°āļāļēāļĢāļ”ูāđāļĨāđƒāļ™āļ āļēāļĒāļŦāļĨัāļ‡ āđ€āļ™ื่āļ­āļ‡āļˆāļēāļāđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āđ€āļĢีāļĒāļāđƒāļŠ้ notebook āļŦāļĨāļēāļĒāđ† āļŠุāļ” āđƒāļŦ้āļ—āļģāļ‡āļēāļ™āļ•่āļ­āđ€āļ™ื่āļ­āļ‡āļัāļ™āđ„āļ”้ āđ‚āļ”āļĒāđƒāļŠ้ pipelines āļ—āļģāđƒāļŦ้āļ‡่āļēāļĒāļ•่āļ­āļāļēāļĢ monitor āđƒāļ™āļ‚ั้āļ™āļ•āļ­āļ™āļ•่āļēāļ‡āđ† āļ‡่āļēāļĒāļ•่āļ­āļ”ูāđāļĨ āļĄāļēāļāļāļ§่āļēāļāļēāļĢāđ€āļ‚ีāļĒāļ™āđ€āļ›็āļ™āđ‚āļ›āļĢāđāļāļĢāļĄāļĒāļēāļ§āđ† āđ€āļŦāļĄืāļ­āļ™āļāļēāļĢāđ€āļ‚ีāļĒāļ™āđ‚āļ›āļĢāđāļāļĢāļĄāļ—ั่āļ§āđ„āļ›

- āļ•ั้āļ‡āļ„่āļē Cost Control āđƒāļ™ SQL pool āđ€āļŠāļĄāļ­

Others
- āđ€āļžื่āļ­āļŦāļĨีāļāđ€āļĨี่āļĒāļ‡ data swamp āļŦāļĢืāļ­āļŠāļ āļēāļ§āļ°āļ‚้āļ­āļĄูāļĨāļĒุ่āļ‡āđ€āļŦāļĒิāļ‡āļāļ­āļ‡āđ†āļ—ัāļšāļ‹้āļ­āļ™āļัāļ™āđƒāļ™ data lake āļˆāļ™āđ„āļĄ่āļĄีāđƒāļ„āļĢāļĢู้āļ§่āļēāļĄีāļ­āļ°āđ„āļĢāļ­āļĒู่āļ—ี่āđ„āļŦāļ™ āļĄีāļˆึāļ‡āļ„āļ§āļĢāļĄีāļ‚ั้āļ™āļ•āļ­āļ™āļ„ัāļ”āđ€āļĨืāļ­āļāļ‚้āļ­āļĄูāļĨāđ€āļ‚้āļēāđ„āļ›āđ€āļ็āļšāđƒāļ™ lakehouse āđāļĨāļ°āļ—āļģ data catalog āđ€āļžื่āļ­āđ€āļ›็āļ™āļāļēāļĢāļĨāļ‡āļ—āļ°āđ€āļšีāļĒāļ™āļŠุāļ”āļ‚้āļ­āļĄูāļĨāļ—ี่āļĄีāļāļēāļĢāļˆัāļ”āđ€āļ็āļš āđ‚āļ”āļĒāļĢāļ°āļšุāđ€āļžีāļĒāļ‡āđ€āļ™ื้āļ­āļŦāļēāļ—ี่āļˆāļģāđ€āļ›็āļ™ āđāļĨāļ°āđ€āļžีāļĒāļ‡āļžāļ­āļŠāļģāļŦāļĢัāļšāļāļēāļĢāđƒāļŠ้āļ‡āļēāļ™āļ‚āļ­āļ‡āđ€āļĢāļē āđ„āļĄ่āļ§่āļēāļˆāļ°āđ€āļ›็āļ™āļŠื่āļ­āđ„āļŸāļĨ์ āļ„āļ§āļēāļĄāļŦāļĄāļēāļĒāļ‚āļ­āļ‡āļ‚้āļ­āļĄูāļĨ āđƒāļ„āļĢāđ€āļ›็āļ™āđ€āļˆ้āļēāļ‚āļ­āļ‡ āļ•้āļ­āļ‡āđ€āļ็āļšāđ„āļ§้āļ™āļēāļ™āđāļ„่āđ„āļŦāļ™ āļ‹ึ่āļ‡āļŠāļēāļĄāļēāļĢāļ–āļ—āļģāđāļšāļšāļ‡่āļēāļĒāđ† āđ€āļ›็āļ™ excel āļŦāļĢืāļ­ csv āđāļĨ้āļ§āđāļŠāļĢ์āđƒāļŦ้āļ„āļ™āļ­ื่āļ™āđ€āļ‚้āļēāļĄāļēāļ”ู āļŦāļĢืāļ­ upload āđ€āļ‚้āļē lakehouse āđ€āļ›็āļ™āđ€āļŠāļĄืāļ­āļ™āļ­ีāļ 1 āļŠุāļ”āļ‚้āļ­āļĄูāļĨāļ็āđ„āļ”้

āđ€āļĢāļēāļ­āļēāļˆāļ„ิāļ”āļ§่āļēāļŠāļģāļŦāļĢัāļš SMB āļ‹ึ่āļ‡āļĄีāļ‚้āļ­āļĄูāļĨāđ„āļĄ่āļĄāļēāļāļ™ัāļ āļĄีāļœู้āđƒāļŠ้āļˆāļģāļัāļ” āļˆึāļ‡āđ„āļĄ่āļˆāļģāđ€āļ›็āļ™āļ•้āļ­āļ‡āđƒāļŠ้āđāļ™āļ§āļ—āļēāļ‡āđ€āļŦāļĨ่āļēāļ™ี้āļ็āđ„āļ”้ āđ€āļžāļĢāļēāļ°āđ€āļŦāļĄāļēāļ°āļŠāļģāļŦāļĢัāļšāļāļĢāļ“ีāļĄีāļ‚้āļ­āļĄูāļĨāļˆāļģāļ™āļ§āļ™āļĄāļēāļ āđāļ•่āļāļēāļĢāļ—ี่āđ€āļĢāļēāđ€āļĨืāļ­āļāđƒāļŠ้āđāļ™āļ§āļ—āļēāļ‡āļ—ี่āđ€āļ›็āļ™ industry practice āļ­āļĒ่āļēāļ‡āđ€āļŦāļĄāļēāļ°āļŠāļĄ (āļ‹ึ่āļ‡āđ„āļĄ่āļˆāļģāđ€āļ›็āļ™āļ•้āļ­āļ‡āļ™āļģāđ„āļ›āđƒāļŠ้āļ—ุāļāļ‚้āļ­) āļˆāļ°āļŠ่āļ§āļĒāđƒāļŦ้āļ—āļģāļ‡āļēāļ™āđ„āļ”้āļ‡่āļēāļĒ āļŠāļ°āļ”āļ§āļāļ•่āļ­āļāļēāļĢāļ”ูāđāļĨ āļ‚āļĒāļēāļĒāļŠāđ€āļāļĨāļ‡āļēāļ™ āļĢāļ­āļ‡āļĢัāļšāļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ—ี่āđƒāļŦāļ่āđāļĨāļ°āļ‹ัāļšāļ‹้āļ­āļ™āđƒāļ™āļ­āļ™āļēāļ„āļ•āđ„āļ”้

āđƒāļ™āđ€āļšื้āļ­āļ‡āļ•้āļ™āđ€āļĢāļēāļĒัāļ‡āđ„āļĄ่āđ„āļ”้āđ€āļ™้āļ™āļ–ึāļ‡āļāļēāļĢāļˆัāļ”āļāļēāļĢāļ‚้āļ­āļĄูāļĨāļĢูāļ›āđāļšāļšāļ•่āļēāļ‡āđ† āđƒāļ™āļ‡āļēāļ™ data warehouse āđ€āļŠ่āļ™ āļāļēāļĢāļˆัāļ”āļāļēāļĢ data inconsistency, late arrival, missing key,  history maintenance āđ„āļ›āļˆāļ™āļ–ึāļ‡ āļāļēāļĢāļˆัāļ”āđ€āļ็āļšāļ‚้āļ­āļĄูāļĨāđƒāļ™āļĨัāļāļĐāļ“āļ°āļ•่āļēāļ‡āđ† āļ‹ึ่āļ‡āđ€āļ›็āļ™āļžื้āļ™āļāļēāļ™āļāļēāļĢāļˆัāļ”āļāļēāļĢāļ‚้āļ­āļĄูāļĨāđƒāļ™ data warehouse āđāļ•่āļŠāļēāļĄāļēāļĢāļ–āđ€āļĨืāļ­āļāļ™āļģāđ„āļ›āļžัāļ’āļ™āļēāđ€āļžิ่āļĄāđ€āļ•ิāļĄāļ•āļēāļĄāļ„āļ§āļēāļĄāļˆāļģāđ€āļ›็āļ™āđƒāļ™āļāļēāļĢāđƒāļŠ้āļ‡āļēāļ™

Conclusion

āļ—่āļēāļĄāļāļĨāļēāļ‡āļ—āļēāļ‡āđ€āļĨืāļ­āļāļ—ี่āļŦāļĨāļēāļāļŦāļĨāļēāļĒāđāļĨāļ°āļ‹ัāļšāļ‹้āļ­āļ™āļŠāļģāļŦāļĢัāļšāļžัāļ’āļ™āļē Data Lakehouse, Data Lake āļšāļ™ cloud āđ€āļĢāļēāļĒัāļ‡āļĄีāļ—āļēāļ‡āđ€āļĨืāļ­āļāđāļšāļšāļ‡่āļēāļĒāđ† āđ‚āļ”āļĒāļĨāļ‡āļ—ุāļ™āđ„āļĄ่āļŠูāļ‡āļ™ัāļāđƒāļŦ้āđ€āļĢāļēāđ„āļ”้āđ€āļĨืāļ­āļāđƒāļŠ้ āđ€āļžื่āļ­āđ€āļĢิ่āļĄāļ•้āļ™āļžัāļ’āļ™āļēāđāļĨāļ°āđ€āļĢีāļĒāļ™āļĢู้ āđ‚āļ”āļĒāđ€āļ‰āļžāļēāļ°āļŠāļģāļŦāļĢัāļš SMB āļ—ี่āļĄีāļ—āļĢัāļžāļĒāļēāļāļĢāļˆāļģāļัāļ” āđāļ™่āļ™āļ­āļ™āļ§่āļēāđ„āļĄ่āļĄีāļ—āļēāļ‡āđ€āļĨืāļ­āļāļ—ี่āđ€āļ›็āļ™ one-size-fits-all āļ—ี่āļ•āļ­āļšāđ‚āļˆāļ—āļĒ์āļ—ุāļāđ†āđ€āļĢื่āļ­āļ‡āļ‚āļ­āļ‡āļ—ุāļāđ†āļ„āļ™ āđ€āļĢāļēāļĒัāļ‡āļ•้āļ­āļ‡āļĻึāļāļĐāļēāļ—āļģāļ„āļ§āļēāļĄāđ€āļ‚้āļēāđƒāļˆāļ‚้āļ­āļ”ี āļ‚้āļ­āļˆāļģāļัāļ” āļĢāļ§āļĄāļ–ึāļ‡āļ„āļ§āļēāļĄāļ•้āļ­āļ‡āļāļēāļĢāļ”้āļēāļ™āļ­ื่āļ™āđ† āđ€āļžื่āļ­āļāļēāļĢāđ€āļĨืāļ­āļāđƒāļŠ้āļ­āļĒ่āļēāļ‡āđ€āļŦāļĄāļēāļ°āļŠāļĄ āđ€āļŠ่āļ™ āļĢูāļ›āđāļšāļšāļāļēāļĢāđƒāļŠ้āļ‡āļēāļ™ āļāļēāļĢāļ•่āļ­āļĒāļ­āļ”āđƒāļŠ้ AI āļ§ัāļ’āļ™āļ˜āļĢāļĢāļĄāļ­āļ‡āļ„์āļāļĢ āļāļēāļĢāļ”ูāđāļĨāļ„āļ§āļēāļĄāļ›āļĨāļ­āļ”āļ ัāļĒāļ‚้āļ­āļĄูāļĨāļ—ี่āđ€āļŦāļĄāļēāļ°āļŠāļĄāđ€āļžีāļĒāļ‡āļžāļ­ āđ€āļĄื่āļ­āđ€āļĢāļēāđ€āļ‚้āļēāđƒāļˆāļ­āļĒ่āļēāļ‡āđ€āļžีāļĒāļ‡āļžāļ­āđāļĨ้āļ§ āļāļēāļĢāļžัāļ’āļ™āļēāļ­āļĒ่āļēāļ‡āļ•่āļ­āđ€āļ™ื่āļ­āļ‡āļ‚āļ­āļ‡āđ€āļ—āļ„āđ‚āļ™āđ‚āļĨāļĒีāļ”้āļēāļ™āļ‚้āļ­āļĄูāļĨāđāļĨāļ°āļāļēāļĢāđāļ‚่āļ‡āļ‚ัāļ™āļัāļ™āļ­āļĒ่āļēāļ‡āđ€āļ‚้āļĄāļ‚้āļ™āļĢāļ°āļŦāļ§่āļēāļ‡āļœู้āđƒāļŦ้āļšāļĢิāļāļēāļĢāļˆึāļ‡āđ€āļ›็āļ™āđ€āļŦāļĄืāļ­āļ™āļ„āļĨื่āļ™āļ—ี่āļŠ่āļ§āļĒāļœāļĨัāļāļ”ัāļ™ āđ€āļ›ิāļ”āđ‚āļ­āļāļēāļŠāđƒāļŦāļĄ่āđ† āđƒāļŦ้āļัāļšāđ€āļĢāļēāđ€āļĨืāļ­āļāđƒāļŠ้āļŠิ่āļ‡āļ—ี่āđ€āļŦāļĄāļēāļ°āļŠāļĄāļัāļšāļāļēāļĢāđƒāļŠ้āļ‚āļ­āļ‡āđ€āļĢāļēāđ„āļ”้āļ­āļĒ่āļēāļ‡āļ—ี่āđ„āļĄ่āđ€āļ„āļĒāļĄีāļĄāļēāļ่āļ­āļ™
Data Lakehouse for Small & Midsize Business: Lakehouse Lite - Part II Data Lakehouse for Small & Midsize Business: Lakehouse Lite - Part II Reviewed by aphidet on 8:54 PM Rating: 5

No comments:

Powered by Blogger.