Data Warehouse
บริษัท Fusion Solution บริการ ที่ปรึกษา ออกแบบ ติดตั้งและพัฒนา Data Warehouse ด้วยประสบการณ์กว่า 15 ปี และพัฒนาระบบตามมาตรฐาน Microsoft Gold Partner และ CMMi3 ให้กับธุรกิจที่ต้องการสร้าง Data Warehouse สำหรับการวิเคราะห์ข้อมูลสมัยใหม่โดยทำการรวบรวมข้อมูลทั้งจากภายใน เช่น ระบบบัญชี ระบบบุคคล ระบบขาย และข้อมูลภายนอก เช่น ข้อมูล Reference เทียบธุรกิจโดยเครื่องมือที่ใช้งาน Microsoft SQL Server
Data Warehouse คือ
การสร้างที่เก็บข้อมูลส่วนกลาง เพื่อเป็น คลังข้อมูลธุรกิจ สำหรับนำไปวิเคราะห์ต่อไปดังนั้นสิ่งที่ต้องทำได้คือสามารถจัดเก็บข้อมูลจากหลายแหล่งและสามารถจัดเก็บข้อมูลที่มีความหลากหลายทั้งในเรื่องรูปแบบข้อมูล, Format รวมทั้งมีเครื่องมือในการบริหารข้อมูลที่นำเข้าและสามารถกรองข้อมูล ที่ไม่ต้องการออกก่อนนำเข้าระบบวิเคราะห์ข้อมูล
พื้นฐานของทุกระบบในอนาคตที่ต้องการข้อมูลทั้งจากภายในและภายนอกในการวิเคราะห์ข้อมูล
ปัจจุบัน เราสามารถใช้ Power BI ในการ Connect เข้าไปที่ Database Production ได้โดยตรงแล้วนำข้อมูลไปวิเคราะห์ออกมาเป็น Dash Board ได้ทันที แต่ในกรณีที่ข้อมูลเรามีหลายแหล่ง และ มีความจำเป็นในการสร้าง Relation หรือ มุมมองใหม่ ๆ นอกจากข้อมูลที่เรามีอยู่ กรณีแบบนี้ทำให้เราจำเป็นต้องทำ DW ขึ้นมาเพื่อให้ข้อมูลมีความพร้อมมากยิ่งขึ้นครับ
รวมถึงความต้องการใหม่ ๆที่อาจจะเกิดขึ้น เช่นการทำ Machine Learning การทำ DW ก็เป็นสิ่งที่จำเป็นอย่างยิ่งที่ต้องจัดเตรียมไว้ก่อนเช่นกัน
กรณีที่ควรมี Data Warehouse
- ต้องการเตรียมข้อมูลให้มีความพร้อมในการนำไปใช้ สำหรับ Application เช่น BI หรือ App อื่น ๆ ที่ต้องการเชื่อมข้อมูลเพื่อการนำไปใช้ หรือ เป็น Reference
- ต้องการปรับแต่งข้อมูล หรือ Clear Data ก่อนการนำไปใช้
- ต้องการทำ Data Analytics ในเชิงลึก และ สามารถปรับแต่งได้เอง
- ไม่ต้องการให้ Application มีการเชื่อมเข้าหา Data Product โดยตรงเพราะอาจจะทำให้ข้อมูลเสียหายได้
- ไม่ต้องการยึดติดกับ เครื่องมือ BI ตัวใดตัวหนึ่ง หรือ ต้องการใช้ BI หลายตัวในการวิเคราะห์
Service by Fusion Solution
- ติดตั้ง 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 ขึ้นไป
- ส่วนของ Harddisk ขนาดใหญ่ไว้ก่อน ดีที่สุด แต่เรื่องความเร็วจะไม่ได้ต้องการมากนักดังนั้นใช้ Harddisk ประเภท SATA ก็สามารถใช้งานได้เช่นกัน
Database Tuning
- สำหรับกรณีที่ Report เปิดช้า โดยเฉพาะ Report ที่ถูกดึงตรงจาก DW มีได้หลายกรณี เช่น มี Filter จำนวนมาก ก็เป็นสาเหตุหนึ่ง
- การทำ Database Tuning สำหรับกรณี นี้อาจจำเป็นต้องใช้วิธี Report Snapshot โดยสามารถทำได้ 2 แบบ
- Execution Report Snap Shot เป็นการตั้ง ให้ Report Server Run Query ไว้ก่อน อาจตอน เที่ยงคืน เมื่อ user มาเปิด มันจะเอา Query ที่ Save ไว้มา run เลย จะทำให้ ประหยัดเวลา ในการ Process ซ้ำตาม Database
- History Snapshot ใช้ในกรณีที่ Report มีการเปลี่ยนไปตามช่วงเวลา เช่น Inventory เราสามารถ Save เก็บ Snap ของเดือน เก่าๆ ไว้ได้ พอเราไปเปิด History มันจะเอา ข้อมูล ในอดีด ที่ Saveเก็บไว้มาแสดง
คำถามเกี่ยวกับ Data Warehouse
- DW มีไว้เพื่ออะไร
- รวมข้อมูลจากหลายๆ ระบบ และ ใช้เป็นข้อมูลดิบสำหรับออกรายงาน
- DW ของ Azure มีค่าใช้จ่ายเท่าไหร่
- สามารถเข้าไป Click ได้โดยตรงครับ
เนื้อหาที่เกี่ยวข้อง