Data Warehouse

Data Warehouse คืออะไร?

Data Warehouse คือการสร้างที่เก็บข้อมูลส่วนกลาง เพื่อเป็น คลังข้อมูลธุรกิจ สำหรับนำไปวิเคราะห์ต่อไปดังนั้นสิ่งที่ต้องทำได้คือสามารถจัดเก็บข้อมูลจากหลายแหล่งและสามารถจัดเก็บข้อมูลที่มีความหลากหลายทั้งในเรื่องรูปแบบข้อมูล, Format รวมทั้งมีเครื่องมือในการบริหารข้อมูลที่นำเข้าและสามารถกรองข้อมูล ที่ไม่ต้องการออกก่อนนำเข้าระบบวิเคราะห์ข้อมูล

พื้นฐานของทุกระบบในอนาคตที่ต้องการข้อมูลทั้งจากภายในและภายนอกในการวิเคราะห์ข้อมูล

ปัจจุบัน เราสามารถใช้ Power BI ในการ Connect เข้าไปที่ Database Production ได้โดยตรงแล้วนำข้อมูลไปวิเคราะห์ออกมาเป็น Dashboard ได้ทันที แต่ในกรณีที่ข้อมูลเรามีหลายแหล่ง และ มีความจำเป็นในการสร้าง Relation หรือ มุมมองใหม่ ๆ นอกจากข้อมูลที่เรามีอยู่ กรณีแบบนี้ทำให้เราจำเป็นต้องทำ DW ขึ้นมาเพื่อให้ข้อมูลมีความพร้อมมากยิ่งขึ้นครับ

รวมถึงความต้องการใหม่ ๆที่อาจจะเกิดขึ้น เช่นการทำ Machine Learning การทำ DW ก็เป็นสิ่งที่จำเป็นอย่างยิ่งที่ต้องจัดเตรียมไว้ก่อนเช่นกัน

Data Warehouse Pipeline

กรณีที่ควรมี Data Warehouse

    • ต้องการเตรียมข้อมูลให้มีความพร้อมในการนำไปใช้ สำหรับ Application เช่น BI หรือ App อื่น ๆ ที่ต้องการเชื่อมข้อมูลเพื่อการ
    • นำไปใช้ หรือ เป็น Reference
      ต้องการปรับแต่งข้อมูล หรือ Clear Data ก่อนการนำไปใช้
    • ต้องการทำ Data Analytics ในเชิงลึก และ สามารถปรับแต่งได้เอง
    • ไม่ต้องการให้ Application มีการเชื่อมเข้าหา Data Product โดยตรงเพราะอาจจะทำให้ข้อมูลเสียหายได้
    • ไม่ต้องการยึดติดกับ เครื่องมือ BI ตัวใดตัวหนึ่ง หรือ ต้องการใช้ BI หลายตัวในการวิเคราะห์

Service by Fusion Solution

บริษัท Fusion Solution บริการ ที่ปรึกษา ออกแบบ ติดตั้งและพัฒนา Data Warehouse ด้วยประสบการณ์กว่า 15 ปี และพัฒนาระบบตามมาตรฐาน Microsoft Gold Partner และ CMMi3 ให้กับธุรกิจที่ต้องการสร้าง Data Warehouse สำหรับการวิเคราะห์ข้อมูลสมัยใหม่โดยทำการรวบรวมข้อมูลทั้งจากภายใน เช่น ระบบบัญชี ระบบบุคคล ระบบขาย และข้อมูลภายนอก เช่น ข้อมูล Reference เทียบธุรกิจโดยเครื่องมือที่ใช้งาน Microsoft SQL Server

    • ติดตั้ง Implement SQL
    • Implement HA SQL
    • Design ETL
    • Design
    • ออกแบบ Cube
    • ออกแบบ ETL Process
    • Fusion Master Data Management (Application สำเร็จรูป ช่วยในการบริหาร และ จัดเตรียมข้อมูลก่อนทำ ETL)

กรณีศึกษา Data Warehouse ของ GHB

Server for Data warehouse

    • การจัดเตรียมเครื่อง Server สำหรับงาน BI สามารถแยกออกเป็นหน้าที่ ได้ดังนี้ ( หน้าที่ของระบบ บางครั้งเราสามารถ ยุบรวมในเครื่องเดียวกันได้ สำหรับ กรณีที่ต้องการประหยัดงบ )
    • ETL สำหรับขบวนการนำเข้าข้อมูล
    • DW สำหรับ การนำเข้าข้อมูลจากหลายแหลงเข้ามาเก็บไว้ที่ส่วนกลาง เพื่อเตรียมสำหรับนำเข้าระบบวิเคราะห์ข้อมูล
    • SSDS Server หรือ Cuble Server เป็นเครื่องสำหรับการวิเคราะห์และจัดเตรียมข้อมูลให้พร้อมสำหรับการเรียกดูข้อมูล
    • Reporting Server สำหรับทำหน้าที่นำเสนอข้อมูล ให้กับ End User
    • การทำ DW ไม่ได้จำเป็นในทุกกรณีที่เราต้องการทำ Solution Business Intelligence เพราะ Power BI สามารถ เชื่อมโยงกับข้อมูลได้หลายหลาย พร้อมๆ กันและมีความสามารถในการ Cube ได้ภายในตัวเอง ของ Power BI ด้วย
    • การบีบอัดข้อมูลใน SQL จะมีช่วงการบีบอัดอยู่ประมาณ 1:10 ช่วยในการทำงานใน In memory สามารถทำงานได้เร็วขึ้นอย่างมีนัยยะสำคัญ
    • SQL Server และ Azure SQL Azure ฐานข้อมูล Azure SQL เป็นส่วนหนึ่งในการวิเคราะห์ข้อมูล โดยใช้ Azure Machine Learning มีการนำสตูดิโอมาวิเคราะห์ข้อมูล ความสามารถในการสกัดข้อมูลที่มีความหมายและสามารถดำเนินการได้จากข้อมูลจำนวนมาก
      ทำให้โมเดลการวิเคราะห์มีประสิทธิภาพมากขึ้นแอพพลิเคชันและช่วยให้ บริษัท ต่างๆสามารถสร้างฐานข้อมูลขนาดใหญ่ได้สินทรัพย์
    • ความเร็ว I / O ของ Hard disk เป็น  องค์ประกอบประสิทธิภาพที่ช้าที่สุดแม้กระทั่งเซิร์ฟเวอร์ที่ใช้ SSD ประสิทธิภาพสูง ที่ไม่ได้ปรับให้เหมาะสม SQL Server ไม่สามารถทำงานได้ดี การใช้ RAM เป็นตัวหลักของการเก็บข้อมูลจะเป็นตัวเลือกที่ดี ซึ่งช่วยให้มั่นใจว่าเป็นจุดเริ่มต้นที่ดีสำหรับการดำเนินงานตามปกติ คาดว่าจะมีขึ้นในอนาคตอันใกล้
    • สำหรับระบบขนาดใหญ่ การเพิ่ม RAM บน Serverจะเพิ่มจำนวนข้อมูลที่สามารถเก็บไว้ได้  RAM เพิ่มเติมหมายถึงความสามารถในหน่วยความจำเพิ่มเติมและอื่น ๆ ความสามารถในการทำธุรกรรมไฮบริด / การประมวลผลเชิงวิเคราะห์ (HTAP) หรือที่เรียกว่าการวิเคราะห์การปฏิบัติงานเรียลไทม์ การเข้าถึงหน่วยความจำ ความเร็วยังเพิ่มขึ้นเมื่อแรมมีขนาดโตขึ้น
    • Partitioning: การแยกข้อมูลออกเป็นส่วน ๆ เป็นรูปแบบการเพิ่มประสิทธิภาพโดยทั่วไปพร้อมกับคลังข้อมูล ตัวอย่างเช่นข้อมูลการขายสามารถแบ่งได้ตามรายละเอียดรายเดือนหรือรายไตรมาสในขณะที่ลูกค้าสามารถแบ่งพาร์ติชันในแต่ละภูมิภาคได้ การแบ่งพาร์ติชันช่วยให้สามารถตอบสนองข้อความค้นหาได้เร็วขึ้นโดยการลดชุดข้อมูลที่สอบถาม
    • Data compression: การบีบอัดอาจลดความต้องการแบนด์วิธของพื้นที่เก็บข้อมูลและ I / O อย่างมาก เทคโนโลยีดัชนีชื่อคอลัมน์แบบบีบอัดที่นำมาใช้ครั้งแรกใน SQL Server 2014 ได้รับการออกแบบมาเพื่อตอบสนองความท้าทายที่เกิดจากพื้นที่จัดเก็บข้อมูลและ I / O แบนด์วิธในคลังข้อมูล
    • Reducing data latency: การรวมกันของตารางที่ปรับให้เหมาะกับหน่วยความจำสำหรับการประมวลผลธุรกรรมออนไลน์ (OLTP) หรือประเภทการจัดตารางการทำงานของช่วงเวลาทำให้สามารถลดเวลาในการรับข้อมูลได้อย่างมาก การเพิ่มคลัสเตอร์ columnstore ผ่านทางตรรกะชั่วคราวชั่วคราวที่นำมาใช้ใน SQL Server 2016 ช่วยให้ข้อมูลสามารถเก็บข้อมูลในหน่วยความจำแบบ “hot” ในรูปแบบข้อมูลที่มีการบีบอัดสูงซึ่งดัชนีคอลัมน์แบบคลัสเตอร์จะช่วยลดการบำรุงรักษาโดยรวมได้อย่างมาก

 

Spec Server Data Warehouse

    • Server เมื่อเทียบกับ SSDS Server แล้วจะเป็นเครื่องที่มี Spec ต่ำกว่า โดยเฉพาะส่วนของ CPU อาจจะใช้แค่ 8 Core ก็สามารถที่จะ Run System ได้
    • ส่วนของ Memory ขนาดของ RAM จะขอให้อยู่ที่ 256 GB ขึ้นไป
    • ส่วนของ Hard disk ขนาดใหญ่ไว้ก่อน ดีที่สุด แต่เรื่องความเร็วจะไม่ได้ต้องการมากนักดังนั้นใช้ Hard disk ประเภท SATA ก็สามารถใช้งานได้เช่นกัน

 

Database Tuning

    • สำหรับกรณีที่ Report เปิดช้า โดยเฉพาะ Report ที่ถูกดึงตรงจาก DW มีได้หลายกรณี เช่น มี Filter จำนวนมาก ก็เป็นสาเหตุหนึ่ง
    • การทำ Database Tuning สำหรับกรณี นี้อาจจำเป็นต้องใช้วิธี Report Snapshot โดยสามารถทำได้ 2 แบบ
    • Execution Report Snapshot เป็นการตั้ง ให้ Report Server Run Query ไว้ก่อน อาจตอน เที่ยงคืน เมื่อ user มาเปิด มันจะเอา Query ที่ Save ไว้มา run เลย จะทำให้ ประหยัดเวลา ในการ Process ซ้ำตาม Database
    • History Snapshot ใช้ในกรณีที่ Report มีการเปลี่ยนไปตามช่วงเวลา เช่น Inventory เราสามารถ Save เก็บ Snap ของเดือน เก่าๆ ไว้ได้ พอเราไปเปิด History มันจะเอา ข้อมูล ในอดีด ที่ Saveเก็บไว้มาแสดง

 

คำถามเกี่ยวกับ Data Warehouse

    1. DW มีไว้เพื่ออะไร
      • รวมข้อมูลจากหลายๆ ระบบ และ ใช้เป็นข้อมูลดิบสำหรับออกรายงาน
    2. DW ของ Azure มีค่าใช้จ่ายเท่าไหร่
      • สามารถเข้าไป Click ได้โดยตรงครับ

เนื้อหาที่เกี่ยวข้อง