ผมตื่นเต้นที่จะสร้างต่อจากโพสต์บล็อกก่อนหน้า Unified Data Platform - SQL 2019
ในซีรีส์นี้ ผมจะขุดลึกเกี่ยวกับวิธีบรรลุ Data Virtualization ผ่าน PolyBase® โพสต์นี้ครอบคลุมบทนำและข้อกำหนดเบื้องต้นของ Demo และ Part Two จะไปถึง Demo เอง
Recap (สรุปย้อนหลัง)
เพื่อรีเฟรชความ憶 (Memory) ให้จำได้ว่าโพสต์ก่อนหน้าครอบคลุมรายการต่อไปนี้:
- Evolution ของ SQL Server® จาก DB Engine สู่ Unified Data Platform
- SQL 2019 นำเสนอ Unified Data Platform โดยใช้:
- SQL DB Engine สำหรับ OLTP
- Data Virtualization ผ่าน Polybase
- Data Mart ผ่าน Columnar Store
- Data Lake ผ่าน HDFS
- Big Data, ML, Streaming ผ่าน Apache Spark
- Management และ Monitoring โดยใช้ Azure® Data Studio (ADS)
บทนำ (Introduction)
ด้วยข้อมูลที่ Omnipresent (มีอยู่ทุกที่) เราต่อเนื่องเผชิญความท้าทายในการย้ายหรือคัดลอกข้อมูลไปยังตำแหน่งอื่นเพื่อประมวลผลต่อ ด้วยชุดข้อมูลเล็ก นี่ง่ายพอ แต่อาจเป็นปัญหากับขนาดข้อมูลที่เพิ่มขึ้นเรื่อยๆ นอกจากนี้ ด้วยการเพิ่มขึ้นอย่างต่อเนื่องของ Data Mining โดยองค์กร ผู้นำด้านข้อมูล (Data Leaders) ไม่สนับสนุนการเก็บข้อมูลในที่เดียว เช่นกัน การดึงหรือใช้ข้อมูลจาก Data Stores ต่างๆ ของ Structured, Unstructured Data และ Big Data อาจน่าเบื่อ
Data Virtualization คือโซลูชันสำหรับปัญหานี้
Data Virtualization คืออะไร?
Data Virtualization เป็นแนวทางการจัดการข้อมูลที่ทำให้แอปพลิเคชันสามารถ Retrieve (ดึง) และ Manipulate (จัดการ) ข้อมูลได้ โดยไม่ต้องการรายละเอียดทางเทคนิคเกี่ยวกับข้อมูล เช่น ว่ามันจัดรูปแบบอย่างไรที่แหล่งที่มา หรือตั้งอยู่ทางกายภาพที่ไหน มันสามารถให้ Single Customer View ของข้อมูลโดยรวมได้
มี Data Virtualization Tools มากมายในตลาด เช่นเครื่องมือต่อไปนี้:
- Microsoft® Polybase®
- Actifio® Virtual Data Pipe (VDP)
- Informatica® Powercenter
- IBM® Cloud Pak for Data
- RedHat® JBoss Data Virtualization
สำหรับซีรีส์นี้ ผมโฟกัสที่ PolyBase ซึ่ง Microsoft นำเสนอใน SQL 2016 และปรับปรุงในแต่ละเวอร์ชัน SQL ต่อไป
Polybase ช่วยให้ SQL Server รัน Transact-SQL Queries บน External Data Sources เช่น Azure® Blob, Hadoop®, Oracle®, MongoDB® และอื่นๆ Transact-SQL เดียวกันที่ใช้ประมวลผล External Data ยังสามารถรันบน Relational Databases ได้ ความสามารถนี้ช่วยรวมข้อมูลจากแหล่งภายนอกกับข้อมูล Relational ในฐานข้อมูลของคุณ ภาพต่อไปนี้แสดงภาพประกอบง่ายๆ ของ SQL Polybase:
รูปที่ 1
ตอนนี้คุณรู้พื้นฐาน Polybase แล้ว ผมอยากแชร์ Demo ที่ดึงข้อมูลจาก Azure Blob External Source โดยใช้ SQL PolyBase โพสต์นี้ครอบคลุม Prerequisites สำหรับ Demo
Demo Prerequisites (ข้อกำหนดเบื้องต้นของ Demo)
ก่อนที่คุณจะรัน Demo ได้ คุณต้องดำเนินงาน Prerequisite ต่อไปนี้:
- ติดตั้ง SQL 2016 หรือใหม่กว่า พร้อมฟีเจอร์ PolyBase
- Enable PolyBase บน SQL Server
- สร้าง Azure Storage Account
- สร้าง Azure Blob Container
- วาง Data File ใน Blob Container
1. ติดตั้ง SQL Polybase
คุณสามารถติดตั้ง Polybase ได้กับ SQL Instance เพียงหนึ่งบนเครื่องเดียว
ปัจจุบัน ผมมี Default SQL 2019 Instance หนึ่งรันบนเครื่อง Local แต่ผมไม่ได้เลือก Polybase ระหว่างติดตั้ง ภาพต่อไปนี้แสดง SQL Server Configuration Manager:
รูปที่ 2
ผมต้องรัน SQL Setup อีกครั้งและเลือก Elements ต่อไปนี้ในหน้าต่าง Feature Selection เพื่อติดตั้ง Polybase:
- PolyBase Query Service for External Data
- Java Connector for HDFS Data Sources
ไปข้างหน้าและรัน SQL Setup และดำเนินขั้นตอนต่อไปนี้เพื่อติดตั้งฟีเจอร์ PolyBase คลิก Next จนถึงหน้าจอสุดท้าย แล้วคลิกแท็บ Finish Installation เลือกแท็บที่ไฮไลท์สีแดงเข้ม
- คลิก Installation ใน Sidebar และเลือก New SQL Server Stand-alone installation or add features to an existing installation
รูปที่ 3
- หลังจากถึงหน้าต่าง Installation Type เลือก Add features to an existing instance และเลือก Instance ที่ต้องการจาก Drop-down Menu
รูปที่ 4
- หลังจากถึงหน้าต่าง Feature Selection เลือกฟีเจอร์ PolyBase
รูปที่ 5
- ในหน้าต่าง Polybase Configuration เลือก Use this SQL Server as standalone Polybase-enabled instance
รูปที่ 6
- สำหรับ Sidebar Options ที่เหลือ เลือก Defaults และคลิก Install หลังจากติดตั้งเสร็จ หน้าต่างต่อไปนี้จะแสดง:
รูปที่ 7
ในจุดนี้ คุณเห็นใน SQL Configuration Manager ว่าเรามีฟีเจอร์เพิ่มอีกสองตัว อย่างไรก็ตาม คุณอาจยังได้ข้อความ Error Polybase not installed in SSMS ขณะพยายาม Enable Polybase เพื่อแก้ไข ให้ Restart Server หลังจากติดตั้ง Polybase
รูปที่ 8
2. เปิดใช้งาน SQL Polybase
เพื่อ Enable PolyBase ให้รันขั้นตอนต่อไปนี้:
เชื่อมต่อ SQL Server ใน SSMS และรัน Query ต่อไปนี้เพื่อยืนยันว่า Polybase ติดตั้งสำเร็จ
SELECT SERVERPROPERTY ('IsPolyBaseInstalled') AS IsSuccessfullyInstalled;ภาพต่อไปนี้แสดง Output สำหรับการติดตั้งสำเร็จ:
Enable Polybase โดยรัน Queries ต่อไปนี้:
EXEC sp_configure 'polybase enabled', 1; Goรัน Query ต่อไปนี้:
ReconfigureQuery นี้สำคัญมาก โดยไม่มีขั้นตอนนี้ Errors อาจปรากฏระหว่างการสร้าง External File Format ในขั้นตอนที่ครอบคลุมใน Part Three ของซีรีส์นี้
รูปที่ 10
3. สร้าง Azure Storage Account
ดำเนินขั้นตอนต่อไปนี้เพื่อสร้าง Azure Storage Account:
ล็อกอินเข้าสู่ Azure Portal โดยใช้ Credentials ของคุณ
ค้นหาบริการ Azure Storage Account และดำเนินขั้นตอนต่อไปนี้เพื่อสร้าง Storage Account คลิก Next จนถึงหน้าจอสุดท้าย แล้วคลิกตัวเลือก Review and Create เลือกแท็บที่ไฮไลท์สีแดงเข้ม
บน Azure Portal Search Bar เลือก Azure Storage Account และคลิก + Add เพื่อสร้าง Storage Account ใหม่
รูปที่ 11
- บนแท็บ Basics ป้อนรายละเอียดที่จำเป็น และคลิก Next: Networking
รูปที่ 12
เก็บ Default Settings สำหรับหน้าจอ Networking, Data Protection, Advanced, และ Tags
ต่อไป คลิก Review+Create และหลังจาก Validation สำเร็จ คลิก Create Tab เพื่อสร้าง Storage Account ตามภาพต่อไปนี้:
รูปที่ 13
- เมื่อ Deploy สำเร็จ คลิก Go To Resource ซึ่งจะพาคุณไปยัง Storage Account ที่สร้าง
รูปที่ 14
4. สร้าง Azure Container
เพื่อสร้าง Azure Container ไปที่ Azure Storage Account ที่สร้าง คลิก Containers ใน Fruit ด้านซ้าย แล้วคลิก +Container
รูปที่ 15
5. วาง Data File ใน Container
ในขั้นตอนนี้ สร้าง Text Data File และอัปโหลดไปยัง Container
- สร้าง Text File คล้ายกับไฟล์ต่อไปนี้:
รูปที่ 16
หมายเหตุ: คุณยังสามารถใช้ CSV, Excel® หรือ External Data Sources อื่นๆ ได้ อย่างไรก็ตาม ขึ้นอยู่กับ External Data Source คุณอาจต้องทำขั้นตอนเพิ่มเติมเล็กน้อย ตัวอย่างเช่น สำหรับ CSV หรือ Excel Data Sources คุณควรติดตั้ง Drivers ที่เหมาะสมบน SQL Server และเพิ่ม Connection Properties ไปยัง ODBC Data Source Name (DSN) คุณสามารถใช้ Microsoft ODBC Data Source Administrator เพื่อสร้างและกำหนดค่า ODBC DSNs
- ไปที่ Container ที่คุณสร้าง polybasedemocontainer คลิก Upload คลิกไอคอนโฟลเดอร์ด้านขวา และเลือกไฟล์เพื่ออัปโหลด
รูปที่ 17
ขั้นตอนต่อไป (Next Step)
คุณทำ Prerequisites สำหรับ PolyBase Demo เสร็จสิ้นแล้ว Part Two จะนำเสนอ Demo
ใช้แท็บ Feedback เพื่อแสดงความคิดเห็นหรือถามคำถาม คุณยังสามารถเริ่มการสนทนากับเราได้