Open source BI (Pentaho)

posted on 28 Aug 2012 11:34 by inwprogramming in IT
Pentaho BI Suite
Pentaho ซึ่งมีฟังก์ชั่นการใช้งานต่างครบครัน ไม่ว่าจะเป็น Data Integration, Reporting, Ad-hoc Query, Analysis, Dashboard หรือแม้แต่ Data Mining ดังนั้น Pentaho จึงเป็นอีกหนึ่งทางเลือกที่คุ้มค่าในการเลือกเพื่อมาพัฒนาระบบ DWH&BI
Pentaho รวบรวมโปรแกรมต่างๆทางด้าน BI เข้าด้วยกันเพื่อทำงานร่วมกันเป็น Solution ทางด้าน BI โดยสามารถแบ่งเป็นส่วนประกอบหลักได้ 6 ส่วนคือ
1. Platform
2. Reporting
3. Ad-hoc Query
4. Analysis
5. Dashboard
6. Data Integration

รูปภาพ
1. Plateform
? Solution Engine เป็นหัวใจหลัก Pentaho Platform ทำหน้าที่อ่านและสั่ง process (Action Sequences) ของ BI ต่างๆ ให้ทำงาน ตัวอย่างเช่น Reporting, Analysis, Dashboard
? Solution Repository ทำหน้าที่เก็บ template, query, report, business rule, process, style sheet และ action sequence ซึ่งเก็บอยู่ใน Database ที่เรียกว่า Solution Database
? Runtime Engine ทำหน้าที่อ่าน resource ต่างๆ ไม่ว่าจะเป็น query, report, business rule, process, style sheet และ action sequence จาก Solution Repository มาเพื่อประมวลผลแล้วทำการบันทึกข้อมูลการประมวลผลลงในส่วนของ Auditing ซึ่งตัว Runtime Engine ก็คือ BI Virtual Machine เป็น environment สำหรับประมวลผลตัว Action Sequence
? BI Components คือ ส่วนประกอบหลักที่ถูกเรียกใช้งานและถูกควบคุมการทำงานผ่าน Action Sequence โดย BI Component พื้นฐานที่ติดมากับ Pentaho BI Platform ได้แก่ reporting, charting, OLAP, ETL, dashboard, workflow, scripting เป็นต้น นอกจากนี้เรายังสามารถนำ Component อื่นๆ ที่เขียนขึ้นเองหรือของ Third Party เข้ามาใช้ต่อพ่วงกับ Pentaho BI Platform ได้อีก อย่างเช่น email, print
? API คือส่วนของ Application Programming Interface ที่ถูกออกแบบมาในลักษณะ SOA (Service Oriented Architecture) ทำให้ง่ายแก่การเรียกใช้ เพียง 5 บรรทัดของ java code ก็สามารถเรียกใช้ HTTP, JMS, SOAP, AJAX, POJOs, BPEL ผ่าน Action Sequence ได้
? User Interface คือส่วนที่ใช้แสดงผลให้กับผู้ใช้งานโดย โดยสร้างการแสดงผลมาจาก html ซึ่งสามารถแปลงมาจาก XML และยังสามารถใช้งาน AJAX, Single Sign on และ Security ร่วมกับ User Interface ได้
? Client คือส่วนที่ผู้ใช้งานสามารถเรียกประมวลผล Action Sequence, Workflow, ESB, SOA ได้เป็นต้น โดยสามารถเป็นได้ทั้งแบบ Remote หรือ Local การเรียกใช้งานก็สามารถเรียกผ่าน Web Browser หรือจะเรียกผ่าน Application ที่เขียนขึ้นมาเองก็ได้
? Configuration ใช้กำหนดชื่อ Component ที่ต้องการเรียกใช้ พร้อมทั้งกำหนดค่าพารามิเตอร์มาตรฐานในการเรียกใช้ไว้ในส่วนของ Configuration
รูปภาพ
ความสามารถของ Platform ประกอบด้วย
- รองรับมาตรฐาน Java 100%
- เชื่อมต่อกับ Data Source, Portal และ Application ต่างๆ ผ่านมาตรฐานเปิด (Open Standard)
- เชื่อมต่อกับโปรแกรมตั้งเวลา (Scheduling) การตรวจสอบรหัสผู้ใช้งานเพื่อเข้าระบบ (Authentication) และสิทธิ์การใช้งานของแต่ละรหัสผู้ใช้งาน (Authorization)
- รองรับการปรับแต่ง Application โดยใช้ APIs, web services หรือทำการแก้ไข template, business rules หรือแม้แต่ source code
- ออกแบบโดยเน้น workflow-base จึงช่วยให้สามารถแก้ไขระบบตามความต้องการได้
- มีการบันทึก log การเข้าใช้งานของผู้ใช้งานแต่ละคน ทำให้สามารถติดตามการใช้งานของผู้ใช้งานแต่ละคนได้
2. Reporting
รูปภาพ
Pentaho Reporting ช่วยให้ผู้ใช้งานสามารถเข้าถึงข้อมูลในรายงานตาม Layout ที่กำหนด (Static Report) ได้หลายรูปแบบทั้งในรูปแบบของ PDF, Excel, RTF, Text File ซึ่งรายงานดังกล่าวสามารถจัดส่งถึงผู้ใช้งานผ่านทาง web portal, email หรือแม้แต่ใน application ต่างๆ

ความสามารถของ Reporting ประกอบด้วย
- รองรับมาตรฐาน Java 100%
- มีความยืดหยุ่นในการ deploy รายงานที่ออกแบบในเครื่อง desktop ไปเป็นรายงานที่อยู่บนเว็บซึ่งสามารถตอบโต้กับผู้ใช้งานได้
- รองรับการเชื่อมต่อกับข้อมูลได้ทั้งแบบที่เป็น relational database, OLAP หรือ XML
- กำหนดรูปแบบของรายงานได้หลายรูปแบบ เช่น PDF, Excel, RTF, Text File
- มีเครื่องช่วยในการสร้างรายงาน ช่วยให้สร้างรายงานได้สะดวกและรวดเร็วมากขึ้น
- เชื่อมต่อกับ data source ได้โดยตรงหรือจะผ่าน metadata ก็ได้
- ตั้งเวลาในการสร้างรายงานหรือจะสร้างรายงานทันทีที่ต้องการใช้งาน
- ส่งรายงานได้หลายช่องทาง เช่น email, printer, file server, web portal, application ต่างๆ หรือแม้แต่ web service
- แสดงข้อมูลในรายงานได้หลายหลายรูปแบบ เช่น table, chart, template, sub report, drill link, header, footer เป็นต้น
- รองรับ JDBC 2.0 เป็นต้นไป
- รองรับหลากหลายฐานข้อมูล เช่น Oracle, DB2, Microsoft SQL, MySQL, PostgreSQL และอื่นๆ
- รองรับหลายการใช้หลาย data source ในหนึ่งรายงาน
- สามารถแยกรายงานหนึ่งตัวออกเป็นหลายไฟล์ตามเงื่อนไขที่ระบุ เช่นแยกตามกลุ่มผู้ใช้งาน โดยในแต่ละไฟล์ สามารถระบุได้ว่าจะจัดส่งรายงานด้วยวิธีใด เช่น ส่ง email, พิมพ์ออกเครื่องพิมพ์ ความสามารถทั้งหมดที่กล่าวมาเรียกว่า Report Bursting
- ระบุเงื่อนไขในการสร้างรายงาน ผู้ใช้งานสามารถระบุ parameter ได้ตามต้องการ
3. Ad-hoc Query
รูปภาพ
Pentaho Ad-hoc Query เป็นส่วนที่ต่อขยายจาก Pentaho Reporting ซึ่งจะช่วยให้ผู้ใช้งานสามารถสร้างรายงานแบบง่ายๆ ได้ด้วยตัวเอง โดยมีเครื่องมือลักษณะเป็น wizard อ่านข้อมูลจาก Metadata ที่ได้สร้างไว้ก่อนหน้านี้ซึ่งจะใช้ข้อความหรือคำศัพท์ที่ผู้ใช้งานคุ้นเคย ทำให้ผู้ใช้งานเข้าใจในข้อมูลที่จะเลือกมาสร้างรายงาน

ความสามารถของ Reporting ประกอบด้วย
- รองรับมาตรฐาน Java 100%
- สร้างรายงานง่ายๆ ได้ด้วยตนเอง เพียงลากวาง (drag and drop) ข้อมูลที่ต้องการ จาก metadata
- จัดเรียงข้อมูล (sorting) และกรองข้อมูล (filter) ได้ตามต้องการ
- ระบุขนาดกระดาษ, ชื่อรายงาน, ข้อความที่จะพิมพ์บน header และ footer ได้ตามต้องการ
- มี template ของรายงานให้เลือกใช้
- Ad-hoc query ที่สร้างขึ้นสามารถปรับปรุงรูปแบบให้ดีขึ้นได้ด้วย report designer โดยเจ้าหน้าที่ฝ่าย IT
4. Analysis
รูปภาพ
ช่วยให้ผู้ใช้งานสามารถวิเคราะห์ข้อมูลเชิงโต้ตอบ (Interactive) กับข้อมูลที่เก็บอยู่ในฐานข้อมูลโดยไม่จำเป็นต้องมีความรู้ด้าน Programming ผู้ใช้งานสามารถหาคำตอบจากคำถามทางธุรกิจที่ตนเองสงสัยได้ด้วยตนเอง

ความสามารถของ Analysis ประกอบด้วย
- รองรับมาตรฐาน Java 100%
- ผู้ใช้งานสามารถวิเคราะห์ข้อมูลได้ด้วยตนเองอย่างรวดเร็ว เพียงลากวางข้อมูลที่ต้องการ อีกทั้งยังสามารถ drill down ลงไปดูรายละเอียดข้อมูลที่ต้องการได้อีกด้วย
- แสดงข้อมูลในลักษณะ Cross tab report
- การดูข้อมูลในมุมมองต่างๆ (Dimension) ไม่ว่าจะมองมุมมองเดียว (Slice) หรือหลายมุมมอง (Dice)
- สามารถแสดงแผนภาพ (Chart) ตามข้อมูลที่เลือกได้
- คำนวณข้อมูลที่ซับซ้อนได้หลายหลายมุมมอง (Multi Dimensional)
- export ข้อมูลออกมาได้หลายรูปแบบ เช่น PDF, HTML, Excel, RTF, Text File
- รองรับ Multidimensional Expression (MDX) language เพื่อใช้ในการแสดงข้อมูลในรูปแบบที่ซับซ้อน
- ดูข้อมูลแบบลำดับชั้นได้ (hierarchy)
- รองรับ JDBC 2.0 เป็นต้นไป
- รองรับหลากหลายฐานข้อมูล เช่น Oracle, DB2, Microsoft SQL, MySQL, PostgreSQL และอื่นๆ
- กำหนดสิทธิ์การใช้งานได้
ข้อมูล RDBMS
5. Dashboard
รูปภาพ
ช่วย ให้ผู้ใช้งานเห็นข้อมูลประสิทธิภาพการทำงาน (Performance) และเป้าหมายการทำงานทั้งในระดับส่วนตัว, ระดับแผนก, ระดับบริษัท ในรูปแบบที่เป็นรูปภาพหรือแผนภาพ ช่วยให้ผู้ใช้งานมองเห็นข้อมูลในแต่ละระดับในภาพรวมซึ่งสามารถนำไปพัฒนาปรับ ปรุงประสิทธิภาพการทำงานต่อไป

ความสามารถของ Dashboard ประกอบด้วย
- รองรับมาตรฐาน Java 100%
- ช่วยในการชี้วัดประสิทธิภาพการทำงาน
- ง่ายต่อการเข้าใจข้อมูลเนื่องจากแสดงข้อมูลในรูปแบบที่เป็นรูปภาพหรือแผนภาพ
- เชื่อมต่อกับ Pentaho Reporting และ Pentaho Analysis ซึ่งช่วยให้ผู้ใช้งานสามารถดูรายละเอียดของข้อมูลที่มีปัญหาหรือข้อสงสัยได้ (Drill down)
- เชื่อมต่อกับ Portal ทำให้สามารถแสดงข้อมูลได้หลายหลายและเป็นอิสระต่อกัน ซึ่งทำให้รองรับกลุ่มผู้ใช้งานที่มากขึ้น
- กำหนดเงื่อนไข เพื่อให้ระบบแจ้งเตือนผู้ใช้งานให้ทราบถึงสถานการณ์ต่างๆที่กำลังจะเกิดขึ้น ซึ่งจะช่วยให้ผู้ใช้งานสามารถรับมือหรือแก้ปัญหากับสิ่งที่กำลังจะเกิดขึ้น ได้
6. Data Integration

คือ เครื่องมือที่ใช้สร้างคลังข้อมูล (Data Warehouse) โดยทั่วไปเครื่องมือดังกล่าวเรียกว่า ETL (Extraction, Transformation and Loading)
? Extraction คือการดึงข้อมูลจากแหล่งต่างๆ ที่เราต้องการมาเก็บไว้ใน Data Warehouse โดยจะดึงมาเฉพาะข้อมูลใหม่ที่เพิ่มขึ้นมาหรือข้อมูลที่ถูกเปลี่ยนแปลงแก้ไข โดยข้อมูลที่ดึงมาจะมาเก็บพักไว้ก่อนซึ่งเรียกว่า Staging Area
? Transformation คือการเปลี่ยนแปลงรูปแบบของข้อมูลที่ได้จากการ Extract ให้อยู่ในรูปแบบที่ถูกต้องตามโครงสร้างของ Data Warehouse
? Loading คือการเก็บข้อมูลลงใน Data Warehouse หลังจากทำการแปลงข้อมูลให้อยู่ในรูปแบบที่ถูกต้อง
รูปภาพ
ความสามารถของ Pentaho Data Integration ประกอบด้วย
- รองรับมาตรฐาน Java 100%
- ง่ายต่อการใช้งาน ด้วยเครื่องมือต่างๆ ที่จัดเตรียมไว้ให้ในรูปแบบกราฟิก เพียงลากวางเครื่องมือต่างๆ ตามกระบวนการที่ต้องทำ
- รองรับ Slowly Changing Dimension และ Junk Dimension
- ออกแบบมาเน้นในเรื่องของประสิทธิภาพ (Performance) และการขยายระบบเมื่อระบบมีปริมาณการใช้งานที่มากขึ้น (Scalability)
- มีเครื่องมือในการเชื่อมต่อกับระบบ ERP (ERP Connectors)
- มีเครื่องมือที่ใช้ในการตรวจสอบความถูกต้องของข้อมูล (Data Quality)
- รองรับหลากหลายแหล่งข้อมูล (Data Source) ไม่ว่าจะเป็น database ต่างๆ, file base (DBF), text file, excel file และอื่นๆ
- เชื่อมต่อกับ Pentaho BI Suite ทำให้สามารถใช้ความสามารถอื่นๆร่วมกันได้เช่น เรื่องของการ scheduling, security, workflow เป็นต้น
- นำไปใช้งานในลักษณะต่างๆ ดังนี้ สร้างคลังข้อมูล (Populate Data Warehouse), Export ข้อมูลจากฐานข้อมูลไปเป็น text file, Import ข้อมูลจาก text file เข้าฐานข้อมูล, นำข้อมูลจากฐานข้อมูลหนึ่งไปเข้าอีกฐานข้อมูลหนึ่ง, ดูข้อมูลจากฐานข้อมูลที่มีอยู่
ที่มา: http://www.yelmon.co.th/main/index.php? ... Itemid=470
ข่าวดี Pentaho โปรแกรม BI เปลี่ยนไลเซนต์เป็น GPL 2.0
Pentaho Corp. บริษัทผู้พัฒนาโปรแกรม Open Source Business Intelligence ได้ประกาศว่า โปรแกรมที่ออกมาใหม่ ตั้งแต่เวอร์ชั่น 2.0 alpha เป็นต้นไปจะมีไลเซนต์เป็น General Public License 2.0, GPL 2.0 ภายใต้ Free Software Foundation โปรแกรม Pentaho ประกอบไปด้วย reporting, analysis, dashboard, data integration และ data mining ไลเซนต์แบบ GPL ซึ่งโปรแกรมโอเพนซอร์สมากกว่า 60% ใช้ไลเซนต์แบบนี้ เป็นไลเซนต์ที่มีประโยชน์ในการพัฒนาซอฟต์แวร์โอเพนวอร์สเป็นอย่างมาก ทั้งนี้เป็นเพราะโปรแกรมที่มีไลเซนต์แบบนี้ จะต้องเป็นซอฟต์แวร์โอเพนซอร์สตลอดไป (reciproocal license) เนื่องจากใครก็ตามที่นำเอาแวร์นี่ไปต่อยอด ส่วนที่พัฒนาเพิ่มเติมจะต้องเปิดเผยซอร์สโค้ดด้วย
ที่มา: http://www.pentaho.com/news/releases/20 ... 2%A0%C2%A0

Comment

Comment:

Tweet