Azure the Serie: Azure Synapse Analytics
ในช่วงกลางปี 2016 Azure ได้เปิดให้ใช้บริการ Azure SQL Data Warehouse สำหรับคลังข้อมูลบนคลาวด์ ได้ถูกใช้งานมาอย่างต่อเนื่อง อย่างไรก็ตาม การใช้งานยังมีการแยก Service ทั้งส่วนของ OLTP และ OLAP ซึ่งยังไม่ตอบโจทย์ในเรื่องของ Analytics เท่าที่ควร ทำให้ช่วงปลายปี 2019 Microsoft ได้ประกาศเปลี่ยนชื่อจาก Azure SQL Data Warehouse เป็น Azure Synapse Analytics (Data Lakehouse)
บริการนี้เป็นบริการสำหรับการรวมคลังข้อมูลและการวิเคราะห์ข้อมูลขนาดใหญ่พร้อมด้วยคุณลักษณะใหม่ ๆ ของบริการในการแสดงตัวอย่างเช่นกัน ในบทความนี้เราจะเรียนรู้รายละเอียดของบริการนี้
High Level Architecture
OLTP (Online Transaction Processing) เป็นประเภทของระบบที่ใช้สำหรับการจัดการแอพพลิเคชั่นที่มุ่งเน้นการทำธุรกรรม อำนวยความสะดวกในการป้อนข้อมูลและดึงข้อมูลสำหรับการประมวลผลธุรกรรม โดยทั่วไประบบ OLTP จะสามารถตอบสนองต่อคำขอของผู้ใช้ได้ทันที ตัวอย่างเช่น ATM (Automatic Teller Machines) สำหรับ OLAP (Online Analytical Processing) เป็นวิธีการที่ใช้ในการวิเคราะห์ข้อมูลด้วย Dimension Table และ Fact Table โดยข้อมูลที่ได้จะถูกแปลงข้อมูลให้อยู่ในรูปแบบที่พร้อมใช้งานแล้ว จากนั้นจะถูกผนวกรวมเป็นชุดข้อมูลขนาดใหญ่ไว้สำหรับการจัดทำรายงานแบบ Ad-hoc และกรณีการใช้งานเชิงวิเคราะห์ (Analytics) กรณีหลังนี้เป็นกรณีการใช้งานที่ Synapse Analytics เหมาะกับภาพรวมของข้อมูลดังที่แสดงด้านล่าง Azure Data Lake Storage จะเป็นที่จัดเก็บข้อมูลขนาดใหญ่และ Power BI จะสร้าง Visual Analytics ให้คนเข้าใจและเห็นภาพมากขึ้น
Feature
- Synapse Workspaces มี Orchestrate ที่สามารถดูแลและดำเนินการส่วนประกอบและบริการต่างๆของ Azure Synapse Analytics ได้
- Synapse Analytics Studio เป็น IDE บนเว็บเพื่อเปิดใช้งานผ่านประสบการณ์นักพัฒนาซอฟต์แวร์แบบ Low Code เพื่อทำงานร่วมกับ Synapse Analytics
- รองรับหลายภาษาเช่น SQL, Python, .NET, Java, Scala และ R
- รองรับวิเคราะห์สองประเภท ได้แก่ SQL และ Spark ซึ่งสามารถประมวลผลทั้งแบบ Batch และ Streaming ได้
- ถูกรวมเข้ากับบริการข้อมูล Azure จำนวนมาก เช่น Azure Data Catalog, Azure Lake Storage, Azure Data bricks, Azure HDInsight, Azure Machine Learning และ Power BI (ข้อนี้ผมว่าเจ๋งมากเลย)
Azure Synapse Studio
เป็นเครื่องมือ SaaS บนเว็บที่ให้นักพัฒนาทำงานกับ Synapse Analytics ทุกด้านจากคอนโซลเดียว ในวงจรชีวิตของการพัฒนาโซลูชันเชิงวิเคราะห์โดยใช้ Synapse โดยทั่วไปจะเริ่มต้นด้วยการนำเข้าข้อมูลโดยใช้กลไกการนำเข้าหรือ Data Pipeline และทำ Data Exploratory โดยใช้ Jupyter Notebook ข้อมูล โดยผ่าน PySpark หรือ SQL Script และในที่สุดก็แสดง Visual Analytics ผ่านการรายงานและแดชบอร์ด เครื่องมือนี้ยังมีคุณสมบัติสำหรับการตรวจสอบ Code และการเพิ่มประสิทธิภาพโดยการประเมิน Metric การทำงานร่วมกับเครื่องมือ CI / CD เป็นต้น (ง่าย ๆ คือผ่านเครื่องมือ Synapse Studio ตัวเดียว ครบ จบ ใน 1 Tool)
Azure Synapse Data Integration
Get S Patipol’s stories in your inbox
Join Medium for free to get updates from this writer.
การรวมข้อมูล Azure Synapse — มีเครื่องมือต่าง ๆ ที่สามารถใช้เพื่อโหลดข้อมูลลงใน Synapse แต่การมีเครื่องมือ Orchestration แบบบูรณาการจะช่วยลดการจัดการอินสแตนซ์เครื่องมือและ Data Pipeline ที่แยกจากกัน บริการนี้มาพร้อมกับ Engine การจัดระเบียบแบบบูรณาการที่เหมือนกับ Azure Data Factory เพื่อสร้าง Data Pipeline และความสามารถในการแปลงข้อมูลที่สมบูรณ์ภายในพื้นที่ทำงานของ Synapse เอง คุณสมบัติที่สำคัญ ได้แก่ Support 90+ Source of Data , แหล่งข้อมูลที่ใช้ Azure ประมาณ 15 แหล่งคลังข้อมูลและฐานข้อมูลแบบ Open Source และ Cloud Provider เจ้าอื่น ๆ อีก 26 แหล่งข้อมูลเช่นเดียวกับ โดยมี 4 โปรโตคอลทั่วไปเช่น ODBC, REST และอื่น ๆ ที่สามารถให้บริการข้อมูล สามารถสร้าง Data Pipeline ได้โดยใช้ Template ในตัวจาก Synapse Studio เพื่อรวมข้อมูลจากแหล่งต่าง ๆ ดังที่แสดงด้านล่าง
Synapse SQL Pools
คุณลักษณะนี้มีคุณลักษณะการจัดเก็บข้อมูลแบบเดียวกับที่มีให้ในเวอร์ชันก่อนหน้าของบริการนี้ (SQL DW) คุณลักษณะของบริการนี้ คือ สามารถนำเข้าสู่ Synapse โดยใช้กลไกต่างๆเช่น SSIS, Polybase, Azure Data Factory เป็นต้น Synapse จัดเก็บข้อมูลในรูปแบบคอลัมน์และเปิดใช้งานความสามารถในการสืบค้นแบบ Distributed Processing ซึ่งเหมาะสำหรับประสิทธิภาพของปริมาณงาน OLAP SQL Pools มีการสนับสนุนในตัวสำหรับการทำ Data Streaming รวมถึงฟังก์ชัน AI ที่พร้อมใช้งาน ด้านล่างนี้เป็นภาพหน้าจอของ Synapse SQL Pool
Apache Spark สำหรับ Azure Synapse
ส่วนประกอบของ Synapse นี้ใช้ Spark runtime ในการโหลดข้อมูล การประมวลผลข้อมูล การเตรียมข้อมูล ETL และงานอื่น ๆ ที่โดยทั่วไปเกี่ยวข้องกับคลังข้อมูล บน Azure ข้อดีอย่างหนึ่งของคุณลักษณะนี้เมื่อเทียบกับ Azure Databricks คือไม่จำเป็นต้องมีการจัดการคลัสเตอร์เพิ่มเติมหรือแยกต่างหากเพื่อประมวลผลข้อมูลเนื่องจากเป็นส่วนหนึ่งของ Synapse ให้การประมวลผลแบบ Spark พร้อมการปรับขนาดอัตโนมัติรองรับคุณสมบัติเช่น. NET สำหรับ Spark, SparkML algorithm, Delta Lake, Azure ML Integration สำหรับ Apache Spark, Jupyter Notebook เป็นต้น นอกจากนี้ยังรองรับหลายภาษาสำหรับภาษาต่างๆเช่น C #, Pyspark, Scala, Spark SQL, Java ฯลฯ
Azure Synapse Security
- คุณสมบัติด้านความปลอดภัยของ Azure Synapse เป็นไปตามมาตรฐานของ ISO, SOC, FedRAMP, DISA, HIPAA, FIPS เป็นต้น
- การรับรองความถูกต้องผ่าน Azure AD
- สนับสนุนการรักษาความปลอดภัยระดับออบเจ็กต์พร้อมกับการทำ Dynamic Encryption
- รองรับการรักษาความปลอดภัยระดับเครือข่ายด้วยเครือข่ายเสมือนเช่นเดียวกับไฟร์วอลล์
ส่วนที่ผมได้ลองเล่นจาก Sample ของ Synapse เพื่อทำ Machine Learning จาก Data Set ของ NYC Data โดยใช้ PySpark ผมมี Capture รูปตัวอย่างที่ได้ลองเล่นให้ได้รับชมกันครับ
Reference



