แคนาดาวางแผนยกเลิกการทำสำมะโนประชากร(แบบดั้งเดิม) ภายในปี 2026

การทำสำมะโนประชากรเต็มรูปแบบของแคนาดาจะมีกำหนดในปี 2016 (ทำทุก 10 ปี) และครั้งนี้อาจเป็นครั้งสุดท้ายที่จะมีการทำสำมะโนประชากรในรูปแบบเดิมๆ สำนักงานสถิติของแคนาดากำลังวางแผนการทำสำมะโนประชากรของปี 2026 ซึ่งจะเป็นการยกเลิกการส่งเอกสารสำรวจไปตามบ้าน แต่เปลี่ยนเป็นการใช้ข้อมูลจากหน่วยงานภาครัฐต่างๆ มาประกอบรวมกันเป็นข้อมูลสำมะโนประชากรอย่างเป็นทางการแทน ซึ่งจะส่งผลให้ประหยัดงบประมาณได้หลายล้านเหรียญแต่ยังคงได้ข้อมูลไม่ต่างจากเดิม เพื่อการวางแผนบริการต่างๆ ของรัฐ แนวทางการทำสำมะโนประชากรของแคนาดาในอนาคตจะประกอบด้วยการลงทะเบียนทางดิจิทัล และแบบสอบถามสั้นๆ และอาจมีการปรับปรุงข้อมูลทุก 5 ปี หรือทุกปี ที่มา: Statistics Canada eyes the

แคนาดาวางแผนยกเลิกการทำสำมะโนประชากร(แบบดั้งเดิม) ภายในปี 2026

The Statistics Canada offices at Tunney's Pasture in Ottawa on Wednesday, May 1, 2013.Has Statistics Canada — renowned around the world for its ability to take snapshots of Canadian life — lost some of its zoom?The answer will come Wednesday, when the agency's National Household Survey reveals how much critical information was lost in the controversial transition two years ago from a mandatory long-form census to a voluntary questionnaire. Sean Kilpatrick/CP;

การทำสำมะโนประชากรเต็มรูปแบบของแคนาดาจะมีกำหนดในปี 2016 (ทำทุก 10 ปี) และครั้งนี้อาจเป็นครั้งสุดท้ายที่จะมีการทำสำมะโนประชากรในรูปแบบเดิมๆ
สำนักงานสถิติของแคนาดากำลังวางแผนการทำสำมะโนประชากรของปี 2026 ซึ่งจะเป็นการยกเลิกการส่งเอกสารสำรวจไปตามบ้าน แต่เปลี่ยนเป็นการใช้ข้อมูลจากหน่วยงานภาครัฐต่างๆ มาประกอบรวมกันเป็นข้อมูลสำมะโนประชากรอย่างเป็นทางการแทน ซึ่งจะส่งผลให้ประหยัดงบประมาณได้หลายล้านเหรียญแต่ยังคงได้ข้อมูลไม่ต่างจากเดิม เพื่อการวางแผนบริการต่างๆ ของรัฐ

แนวทางการทำสำมะโนประชากรของแคนาดาในอนาคตจะประกอบด้วยการลงทะเบียนทางดิจิทัล และแบบสอบถามสั้นๆ และอาจมีการปรับปรุงข้อมูลทุก 5 ปี หรือทุกปี

ที่มา: Statistics Canada eyes the end of the short-form census

Infographic ความสำคัญของ Business Intelligence ต่อความได้เปรียบทางธุรกิจ

bi-business-intelligence-ts-100646689-primary.idge_
หลักสูตรป.โทออนไลน์ด้าน Computer Information Systems ของ Boston University ได้จัดทำ Infographic อธิบายถึงความสำคัญของ BI (Business Intelligence) ในแง่ของการเป็น competitive advantage  Read more

บทเรียนความสำเร็จด้าน Digital Transformation ของ NFL

nfl-logoNFL หรือ National Football League เป็นอีกหนึ่งธุรกิจที่สามารถพลิกฟื้นปรับตัวเองได้อย่างยอดเยี่ยม รับยุค Digital Transformation ได้เป็นอย่างดี ทั้งๆ ที่ประสบปัญหาความท้าทายหลายอย่าง บทเรียนของ NFL เป็นกรณีศึกษาที่น่าสนใจสำหรับองค์กรที่อยากปรับตัวในยุคดิจิทัล

Read more

เล่าเรื่อง Pentaho จากงาน Hitachi Big Data Driven Future

pentaho-hgc-logoเมื่อสัปดาห์ที่แล้ว Hitachi Data Systems (HDS) จัดงาน Big Data Driven Future หัวข้อหนึ่งในนั้นที่อยากนำมาเล่าให้ฟังคือ from Data to Insights ซึ่งบรรยายโดย Joerg Mutsch ชาวเยอรมันที่เป็น Pentaho Solution Engineer ประจำอยู่ที่สิงคโปร์

Pentaho กับ Hitachi Data Systems

สำหรับคนที่เคยรู้จักหรือใช้งาน Pentaho มาก่อน คงไม่แปลกใจนักที่ Pentaho ซึ่งเป็น Open Source Business Analytics แพลตฟอร์มอันดับต้นๆ ถูกซื้อไปเมื่อปี 2015 แต่อาจจะแปลกใจที่ผู้ซื้อเป็น HDS นั่นเป็นเพราะเราอาจจะไม่ได้รู้จักฮิตาชิมากไปกว่าแบรนด์เครื่องใช้ไฟฟ้าภายในบ้าน แต่ความจริงแล้วฮิตาชิมีสินค้าและบริการกว้างขวางครอบคลุมหลายอุตสาหกรรมมาก

Image-2016-08-23-004

ธีมหลักของฮิตาชิ คือ Social Innovation ซึ่งมุ่งที่จะสร้างนวัตกรรมเพื่อสังคม ผ่านทางสินค้าและบริการตอบสนองงานด้านต่างๆ เช่น Smart City, Smart Commerce, Smart Industry และ Smart Environment โดยส่วนที่ฮิตาชิมีอยู่ก่อนแล้ว คือสินค้าและบริการในส่วน Infrastructure และในส่วน Solutions deployment services

การเข้าซื้อกิจการ Pentaho ซึ่งเป็น Analytic Platform เป็นการเติมเต็มช่องว่างในช่วงกลาง ทำให้วิสัยทัศน์ของฮิตาชิมีความครบถ้วนสมบูรณ์มากยิ่งขึ้น และในขณะเดียวกัน ก็ช่วยให้ Pentaho มีแหล่งทรัพยากรที่จำเป็นต่อการพัฒนาเทคโนโลยีต่อไปด้วย

 

บทบาทของ Pentaho ในการประสานโลกเก่ากับใหม่เข้าด้วยกัน

Joerg (อ่านออกเสียงว่า ยอร์ก) เล่าให้ฟังถึงปัญหาของหลายองค์กรที่กำลังเผชิญอยู่เมื่อ พยายามจะใช้ประโยชน์จาก Big Data ปัญหาก็คือ ระบบถูกแยกออกเป็นสองส่วน

Image-2016-08-23-006

 

ในส่วนด้านล่าง นั่นคือระบบ Business Intelligence และ Reporting ของเดิม ซึ่งก็ต้องดำเนินต่อไป ทิ้งไม่ได้ ส่วนด้านบนคือข้อมูลประเภทและรูปแบบใหม่ๆ ที่ต้องใช้เทคโนโลยีใหม่ๆ เข้ามาจัดการ แต่สุดท้าย ผลลัพธ์ที่ผู้ใช้ต้องการ ก็ต้องเป็นการประสานผลจากทั้งสองระบบเข้าด้วยกัน

Image-2016-08-23-007

 

การที่ Pentaho จะเข้ามามีส่วนช่วยผนวกรวมสองส่วนนี้เข้าด้วยกัน จะใช้องค์ประกอบสำคัญสองส่วน นั่นคือ PDI (Pentaho Data Integration) เข้ามาช่วยทำ ETL และ data integration และ BA (Business Analytics) ซึ่งเป็นแพลตฟอร์มและส่วน front-end เพื่อให้ผู้ใช้ใช้งานได้อย่างสะดวก

ตัวอย่างการใช้งาน Pentaho กับธุรกิจ

มีการเล่าถึง business case 3 ตัวอย่างโดยแบ่งตามความซับซ้อนและผลกระทบต่อธุรกิจ

Image-2016-08-23-001

จากภาพ แกนนอนจะเป็นความซับซ้อนของกรณีศึกษา ตั้งแต่แบบง่ายๆ ไปจนถึงกรณีที่มีความซับซ้อนมากและในแนวตั้งจะเป็นผลกระทบต่อธุรกิจ เริ่มตั้งแต่การแค่ optimize กระบวนการและขั้นตอนการทำงาน ไปจนถึงการทำ business transformation

NASDAQ

ตัวอย่างแรกเป็นเรื่องของตลาดหุ้น NASDAQ ซึ่งเน้นให้เห็นถึงประโยชน์ของการใช้ Pentaho solution เข้ามาช่วยเรื่อง data warehouse optimization ทำงานร่วมกับ Amazon Redshift โดยมีปริมาณข้อมูลทางการเงินเข้ามากว่า 10 billion rows ต่อวัน จากการซื้อขายหุ้นมากกว่า 15 ล้านรายการ ส่งผลให้มี fact table ขนาด 150 ล้านแถว

ผลลัพธ์ที่ได้ก็คือ การที่สามารถลดเวลาในการประมวลผลลงเหลือแค่ 30 นาที ในขณะที่ลด TCO (Total Cost of Ownership) เหลือเพียง 50% ผ่านการลดจำนวน system & database admin และ development teams และยังสร้างรายได้ผ่านการขายบริการ option analysis ซึ่งนับเป็น 20% ของรายได้ของ NASDAQ เอง

CATERPILLAR

ตัวอย่างต่อไปคือระบบ Marine Asset Intelligence ของ Caterpillar ซึ่งทำหน้าที่ติดตามเครื่องจักรกลในเรือเดินสมุทรกว่า 3,000 ลำ โดยที่ในเรือแต่ละลำมีเซ็นเซอร์นับพันตัว สร้างข้อมูลรวมกันถึง 2.6 พันล้านจุดในแต่ละเดือน

Image-2016-08-23-008

ข้อมูลเหล่านี้ จำเป็นต้องถูกนำมาวิเคราะห์เพื่อ ติดตามสถานภาพ ประเมินประสิทธิภาพการทำงาน วางแผนการซ่อมบำรุง และพยากรณ์จุดล้มเหลวเพื่อหลีกเลี่ยง

Image-2016-08-23-009

โซลูชั่นของ Pentaho จะแบ่งออกเป็นสองส่วน ส่วนแรกคือ onboard ship analytics คือในเรือแต่ละลำจะมี Pentaho Server ของตัวเองเพื่อใช้งานในระหว่างเดินทาง และเมื่อเข้าเทียบท่า ข้อมูลเหล่านั้นจะถูกส่งมาที่ Onshore analytics เพื่อทำการวิเคราะห์ในภาพรวมอีกครั้ง

มีการใช้งานร่วมกับ WEKA และ R เพื่อใช้อัลกอริทึมในการพยากรณ์โอกาสที่อุปกรณ์จะล้มเหลว

ผลลัพธ์ที่ได้คือ การลดค่าใช้จ่ายโดยทั่วไปได้ $500k – $1.5M ต่อปีต่อลำ และยังได้ประโยชน์จากการประหยัดค่าเชื้อเพลิงและลด downtime ของเรือลงด้วย

Tesla Motor 360 Degree View

ตัวอย่างสุดท้ายเป็นการวิเคราะห์ปรากฎการณ์ที่หุ้นของ Tesla Motor มีมูลค่ากระโดดสูงขึ้นอย่างพรวดพราด โดยเริ่มจากการที่ Tesla Motor ประกาศ open source สิทธิบัตร ผ่านทางบล็อกของ Elon Musk  (ข่าวไทย)  เมื่อวันที่ 12 มิถุนายน 2014 แล้วถัดจากนั้นอีก 3 วันมีข่าวใน Financial Times ว่ากลุ่มผู้ผลิตรถยนต์ไฟฟ้า (Nissan, BMW และ Tesla) เริ่มคุยกันถึงเรื่องความร่วมมือในการสร้างมาตรฐานเทคโนโลยีการชาร์จไฟฟ้ารถยนต์ ส่งผลให้หุ้นของ Tesla ราคาพุ่งพรวดขึ้นตามรูป (หากสังเกต จะพบว่าราคาหุ้นตกลงหลังจากประกาศ open source patent)

Image-2016-08-23-010

การวิเคราะห์ครั้งนี้ เป็นการใช้ข้อมูลจาก NASDAQ (ข้อมูลการซื้อขายระหว่างวัน ผ่าน API) ร่วมกับ Twitter data ผ่าน API เช่นกัน นำมาผสานรวมกันด้วย Pentaho Data Integration และเก็บข้อมูลไว้ใน mongoDB และใช้ Pentaho Predictive Analytics วิเคราะห์ร่วมกับ twitter sentiment score

สไลด์เต็มเกี่ยวกับการวิเคราะห์ครั้งนี้ ถูกบรรยายในงาน MongoDB World 2014 ใครสนใจตามไปอ่านสไลด์ต่อได้ที่นี่ครับ Pentaho Analytics for MongoDB – presentation from MongoDB World 2014

 

จากมุมมองของคนที่ศึกษาและใช้งาน Pentaho มานานพอสมควร ต้องบอกว่า การเข้ามาของ HDS จะช่วยให้ Pentaho เติบโตขึ้นทั้งในแง่ของผู้ใช้ และความสามารถของเทคโนโลยีเอง จะเรียกว่าเนื้อหอมขึ้นมากก็คงได้

 

OneBridge ใช้ Machine Learning ในการพยากรณ์ความเสียหายของท่อส่งพลังงาน

11-05-2016-PipeLineOneBridge Solutions  เป็นบริษัท startup ที่เข้าร่วมโครงการ Microsoft Accelerator โดยมีเป้าหมายเพื่อสร้างบริการ “พยากรณ์” ความเสียหายของท่อส่งพลังงาน (ทั้งก๊าซและน้ำมัน) โดยใช้ Machine Learning และ Predictive Analytics มาวิเคราะห์ข้อมูลสภาพท่อส่ง เพื่อหาจุดที่มีความเสี่ยงที่ท่อจะเกิดความเสียหายได้

 

ประเด็นที่น่าสนใจสำหรับ pitch นี้ประกอบด้วย

  • เปิดประเด็นด้วย story ของการระเบิดของท่อในปี 2010 ทำให้เข้าใจปัญหาได้ง่ายขึ้นมาก
  • ตามด้วยการอธิบายสถานภาพปัจจุบันของการทำงานในขั้นตอนการตรวจสอบและรายงานจุดเสียหายของท่อ เห็นความท้าทายในการจัดการข้อมูลซึ่งมีลักษณะ “งมเข็มในมหาสมุทร” หรือ Finding needle in a haystack ได้เป็นอย่างดี
  • เห็นวิสัยทัศน์ขั้นต่อไป คือการนำ Hololens มาใช้ร่วมด้วย
  • ทีมงาน ที่ดูเหมือนจะเน้นผู้มีประสบการณ์ในธุรกิจนั้นเป็นหลัก และมีการลงมือทำงานไปแล้วและติดต่อลูกค้าไปบ้างแล้ว

 

ตัวอย่างการใช้ ML, AI และ Visualization แก้ปัญหาในอันตระประเทศ อินเดีย

M_Id_483189_Satya_Nadella

 

ไมโครซอฟต์เซ็น MOU กับแคว้นอันตระประเทศ ซึ่งเพิ่งแยกตัวออกมาเป็นแคว้นอิสระทางตอนใต้ของอินเดีย เพื่อนำเทคโนโลยี Machine Learning, Cloud Computing และ Artificial Intelligence ผ่านบริการ Azure มาใช้ในหน่วยงานราชการ เพื่อช่วยแก้ปัญหาสำคัญของแคว้นหลายประการ

 

ตัวอย่างแรกเป็นการใช้ Azure Machine Learning เพื่อพยากรณ์นักเรียนออกกลางคัน (school dropout) โดยใช้ข้อมูลทั้งผลการเรียน โครงสร้างพื้นฐานของโรงเรียน และทักษะความชำนาญของครู มาเป็นข้อมูลศึกษาหารูปแบบของการลาออกกลางคัน เพื่อที่จะได้ปรับเปลี่ยนกลยุทธ์ และแนวทางการจัดสรรงบประมาณได้ถูกต้อง ปัจจุบันมีโรงเรียนกว่า 10,000 แห่งในแคว้น เริ่มใช้โซลูชั่นนี้แล้ว

 

ตัวอย่างที่สองเป็นการใช้ Machine Learning ในการวิเคราะห์อัตราความสำเร็จของการผ่าตัดดวงตา โดยไมโครซอฟต์ร่วมมือกับโรงพยาบาลตา LV Prasad Eye Institute (LVPEI) ในเมืองไฮเดอราบาด ในการเก็บข้อมูลผู้ป่วยที่เป็นโรคเกี่ยวกับตา ทั้งสถานที่ที่เข้ารักษาและรายละเอียดเกี่ยวกับผู้ป่วย คณะแพทย์จาก LVPEI ได้ร่วมกับไมโครซอฟต์ในการสร้างโมเดลพยากรณ์ดัชนีที่เรียกว่า “eye number” (Uncorrected Visual Acuity หรือ UCVA) ที่จะเป็นไปได้หลังการผ่าตัด โซลูชั่นนี้นอกจากจะช่วยแพทย์ให้ตัดสินใจแนะนำการผ่าตัดได้ง่ายขึ้นแล้ว ยังช่วยลดค่าใช้จ่ายและความเจ็บปวดของผู้ป่วยด้วย

 

ตัวอย่างที่สาม เป็นการประยุกต์ใช้ Azure Machine Learning กับ Power BI ในด้านเกษตรกรรม ศูนย์วิจัย International Crops Research Institute for Semi-Arid Tropics (ICRISAT) ได้สร้างโซลูชั่นที่ประกอบไปด้วย mobile app สำหรับเกษตรกรและ dashboard ประจำหมู่บ้านผ่าน Power BI แอพมือถือจะใช้ข้อมูลพยากรณ์อากาศ ประวัติปริมาณน้ำฝน และปริมาณผลผลิตในอดีต แล้วส่งไปให้โปรแกรมที่ใช้อัลกอริทึม machine learning ในการวิเคราะห์และพยากรณ์ “สัปดาห์” ที่ควรจะทำการเพาะหว่าน เพื่อให้ได้ผลผลิตสูงสุดสำหรับเกษตรกร

Village-Advisory-Dashboard-1200x956
ในส่วนของ dashboard ประจำหมู่บ้าน จะให้ข้อมูลสภาพแวดล้อมในหลายปัจจัยที่จะมีผลต่อผลผลิตทางการเกษตร อาทิเช่น ความอุดมสมบูรณ์ของดิน ข้อแนะนำการใช้ปุ๋ย และพยากรณ์อากาศล่วงหน้า 7 วัน นอกจากนั้นแล้ว ยังทำการส่งข้อมูลสำคัญไปให้กับมือถือของเกษตรกรผ่าน SMS เป็นภาษาท้องถิ่นด้วย

ที่มา : How Microsoft Is Making Big Impact With Machine Learning

นำ Power BI ไปใช้งานแบบฝังตัว (embed) 3 รูปแบบ

logo_squareเราสามารถเอารายงานหรือ visualization ที่สร้างขึ้นใน Power BI ไปใช้ในที่อื่นๆ เช่น เว็บไซต์ Sharepoint Blog หรือแอพที่พัฒนาขึ้นได้ โดยมี 3 แนวทางดังนี้

  1. Publish to Web
  2. REST API
  3. Power BI Embedded

Publish to Web

เป็นทางเลือกที่ง่ายที่สุด เราสามารถนำรายงานที่สร้างขึ้นและอยู่บน Power BI Service แล้ว (ทำจาก Power BI Desktop ไม่ได้นะครับ) โดยไปเลือกที่ File –> Publish to web

3waystoembed-1

จะได้ URL กลับมา ซึ่งเอาไปปะบนเว็บ บน Sharepoint site หรือเลือกเป็น iframe ไปปะบนบล็อกหรือแอพก็ได้
การ publish to web มีข้อควรพิจารณาดังนี้

3waystoembed-2

  • URL ที่ได้เป็นแบบสาธารณะ ใครก็ตามมีลิงค์ก็จะสามารถมองเห็นข้อมูลได้โดยไม่ต้องล็อกอิน เพราะฉะนั้นไม่เหมาะกับข้อมูลที่เป็นความลับ
  • หากรายงานมีการใช้ข้อมูลแบบ live connection หรือ direct query หรือมีการใช้ RLS – Row Level Security จะไม่สามารถทำการ publish to web ได้
  • เราสามารถถอนสิทธิการเข้าถึงรายงานเหล่านั้นได้โดยการไปที่เมนู Settings –> Manage embeded codes แล้วเลือกลบ code ออก URL เดิมที่เคยสร้างไว้ก็จะใช้งานไม่ได้อีกต่อไป

3waystoembed-3

Image-2016-08-11-001รายละเอียดเพิ่มเติม Publish from Power BI to the web

REST API

วิธีที่สองคือการเขียนโค้ดเรียกใช้องค์ประกอบต่างๆ ของ Power BI ผ่านทาง REST API ซึ่งจะทำให้ควบคุมได้ยืดหยุ่นมากขึ้น

  • ผู้ใช้ต้อง login เข้าสู่บริการ Power BI ผ่าน Power BI Tenant ที่ทางองค์กรสร้างขึ้น
  • สิทธิของการเข้าถึงรายงานและข้อมูลต่างๆ จะเป็นไปตามสิทธิของผู้ใช้รายนั้นๆ
  • นักพัฒนาต้องทำการ register application เข้ากับ Azure AD (Active Directory) ดูรายละเอียดได้ที่ https://dev.powerbi.com/apps
  • มีตัวอย่างการสร้างเรียกใช้งาน Power BI API จาก .NET ได้ที่ https://github.com/Microsoft/PowerBI-CSharp

ข้อมูลเพิ่มเติม What can I do with the Power BI API?

Power BI Embedded

ทางเลือกที่ 3 คือ Power BI Embedded ซึ่งเป็นบริการใหม่อยู่ภายใต้ Azure Service เพิ่งจะเปิดตัวเป็น GA ไปเมื่อเดือน ก.ค. 2016 นี่เอง บริการนี้เป็น Azure Subscription วิธีการคือการสร้าง Power BI workspaces ขึ้นภายใน Azure เราสามารถอัพโหลดไฟล์ที่สร้างจาก Power BI Desktop ขึ้นไปได้หรือจะทำ direct query กับบริการอื่นบน Azure เช่น Azure SQL ก็ได้ ตัวเลือกนี้เหมาะสำหรับ ISV ที่ต้องการสร้าง แอพลิเคชั่นเฉพาะทาง หรือทำงานร่วมกับ third party application

app-tokens
ข้อมูลเพิ่มเติม Power BI Embedded documentation

 

ที่มา : 3 ways to embed Power BI

Disney จดสิทธิบัตร Foot Recognition

 

Disneyland Logo 4เอกสารการจดสิทธิบัตร ระบุว่า Disney ได้ยื่นการจดสิทธิบัตรการสแกนและจดจำ “เท้า” หรือ Foot Recognition โดยการถ่ายภาพเท้าของผู้เข้าชมสวนสนุก แล้วใช้เป็นเครื่องมือในการติดตามความเคลื่อนไหวในระหว่างอยู่ในสวน รวมถึงการเข้าใช้เครื่องเล่นต่างๆ ด้วย โดยระบุวัตถุประสงค์ว่า เพื่อสร้างประสบการณ์แบบพิเศษเฉพาะตัวให้แก่ผู้เข้าชม

disney_foot_recognition_patent

ยังไม่มีรายละเอียดว่าเทคโนโลยีนี้จะถูกนำมาใช้เมื่อไหร่
ที่มา Disney issues foot recognition patent to create ‘customized guest experience’

วิดีโอชุด Data Science for Beginners จาก Microsoft

microsoft-azureทาง Microsoft Azure ได้เผยแพร่วิดีโอสั้นๆ ความยาว 5-7 นาที เป็นชุดสำหรับผู้สนใจอยากเริ่มเรียนรู้เกี่ยวกับ Data Science ประกอบด้วย

Video 1: The 5 questions data science answers
Video 2: Is your data ready for data science? (4 min 56 sec)
Video 3: Ask a question you can answer with data (4 min 17 sec)
Video 4: Predict an answer with a simple model (7 min 42 sec)
Video 5: Copy other people’s work to do data science (3 min 18 sec)

แต่ละหัวข้อนอกจากวิดีโอแล้วยังมีสคริปต์กับรูปประกอบด้วย เข้าใจได้ง่ายดีมากเลย

เลือกฐานข้อมูลสำหรับ Big Data

imagesความท้าทายอย่างสำคัญในเรื่อง Big Data ก็คือมันมาพร้อมกับเทคโนโลยีและแนวคิดใหม่หลายอย่างที่ แม้แต่ CIO หรือ IT Manager ยังต้องพยายามทำความเข้าใจ เพื่อจะได้เลือกใช้ให้เหมาะสมกับสถานการณ์

บทความนี้จะเน้นไปในเรื่องของการเลือกระบบฐานข้อมูล ข้อควรพิจารณาตลอดจนข้อดีข้อเสียของฐานข้อมูลแต่ละประเภท

ช่วงเวลาแห่งความสับสน

การเปลี่ยนแปลงในเทคโนโลยีเกี่ยวกับข้อมูลอย่างก้าวกระโดดในช่วงหลายปีที่ผ่านมา ส่งผลกระทบหลายอย่าง ปัจจัยที่ส่งผลต่อเทคโนโลยีการเก็บข้อมูลประกอบไปด้วย

  • ขนาดข้อมูลที่เติบโตขึ้นอย่างรวดเร็ว
  • ความเชื่อมโยง หรือ connectedness ข้อมูลเชื่อมโยงกันมากขึ้นเรื่อยๆ เริ่มจาก hyperlink ไปจนถึง social graph
  • ลักษณะข้อมูลแบบ Multi-Structure คือทั้งแบบที่มีโครงสร้างเต็มรูปแบบ บางส่วนหรือผสมกัน
  • สถาปัตยกรรมของแอพลิเคชั่น ที่เคยเป็นแบบหนึ่งแอพลิเคชั่นหนึ่งฐานข้อมูลในยุค mainframe พัฒนามาเป็นแบบหนึ่งฐานข้อมูลหลายแอพลิเคชั่นในช่วง client-server จนมากลายเป็นสถาปัตยกรรมแบบให้บริการย่อยๆ แยกส่วนกัน และแต่ละบริการมีส่วนข้อมูลของตัวเอง (SOA)

แนวโน้มทั้งสี่ข้อ ส่งผลให้เกิดการพัฒนาฐานข้อมูลรูปแบบใหม่ขึ้นมามากมาย บริษัท startup หลายแห่งเติบโตและได้รับความสนใจเป็นอย่างมาก ดึงดูดให้มีผู้เล่นหน้าใหม่เข้ามาในตลาดอยู่เรื่อยๆ แนวคิด เทคนิค และศัพท์ใหม่ๆ ถูกพัฒนาและต่อยอดต่อไป ซึ่งนับเป็นผลดีเพราะเป็นการผลักดันเทคโนโลยีให้ก้าวหน้าขึ้น
แต่ในขณะเดียวกัน ก็ส่งผลเสียให้หลายคนที่อาจเกิดความสับสนขึ้นได้ โดยเฉพาะผู้ที่มีหน้าที่ต้องกำหนดและวางแนวทางการจัดการข้อมูลขององค์กร ความสับสนที่เกิดขึ้น ส่งผลให้เกิดความล่าช้าในการปรับเปลี่ยนแนวทางการทำงาน

สถาปัตยกรรมข้อมูล

หนึ่งในความรับผิดชอบของผู้นำ IT ในองค์กร คือการวางผังสถาปัตยกรรมของระบบ IT ต่างๆ ในองค์กร โดยมีสถาปัตยกรรมข้อมูล หรือ Data Architecture เป็นองค์ประกอบสำคัญหนึ่งในผังรวม

การเลือกนำโซลูชั่นแบบต่างๆ มาประกอบกันเป็นผังรวม จำเป็นต้องพิจารณาถึงความเหมาะสมกับงาน เนื่องจากไม่มีโซลูชั่นมาตรฐานใดที่จะสามารถตอบสนองความต้องการทุกรูปแบบได้ จำเป็นต้องให้โจทย์ทางธุรกิจและข้อมูลที่จะจัดเก็บ เป็นสิ่งกำหนดรูปแบบโซลูชั่นที่เหมาะสม ปัจจัยสำคัญสองข้อที่ส่งผลเป็นอย่างมากต่อคุณภาพของสถาปัตกรรมข้อมูล

  • คุณภาพของบุคลากร
  • ความเข้าใจในธุรกิจ

โซลูชั่นต่างๆ ก็เหมือนกับเครื่องมือ หากเราได้ช่างฝีมือดี เครื่องมือแย่ก็ยังสามารถทำงานได้อยู่ แต่ถึงจะได้เครื่องมือชั้นยอดมา แต่หากใช้โดยช่างผู้ไม่มีทักษะเพียงพอกับเครื่องมือนั้น ผลลัพธ์ก็ออกมาแย่ได้เช่นกัน

ความเข้าใจในโจทย์ทางธุรกิจก็เป็นตัวแปรสำคัญ นั่นคือความสามารถในการแปลงเป้าหมายธุรกิจเป็นข้อกำหนดทางเทคนิค ตัวอย่างเช่น ลักษณะของแหล่งข้อมูลรวมถึงอัตราการเติบโตของข้อมูล รูปแบบการใช้ข้อมูล (ผ่านแอพลิเคชั่น หรือผ่าน API มี concurrent มากน้อยเพียงใด เป็นต้น) ความต้องการด้าน SLA เวลาในการตอบสนอง ระยะเวลาในการกู้ระบบ ต้นทุนการจัดการระบบ การวางแผน capaciy planning เผื่อช่องว่างสำหรับการเติบโตบ้าง แต่ไม่ต้องมากจนเกินไปในช่วงแรก

หากมีบริษัทแห่งหนึ่งประสบความสำเร็จในการใช้ฐานข้อมูล X ในการรับมือกับลูกค้าจำนวน 500 ล้านคน ก็ไม่ได้หมายความว่าบริษัทอื่นจะใช้ฐานข้อมูล X จัดการกับลูกค้า 100 ล้านคนได้ จำเป็นต้องพิจารณาบริบทประกอบด้วย

ปัจจัยที่ควรพิจารณาในการเลือกฐานข้อมูล

มีปัจจัยหลายข้อที่ส่งผลต่อการพิจารณาเลือกระบบฐานข้อมูล ความสำคัญของปัจจัยแต่ละข้ออาจมากน้อยแตกต่างกันไปตามความต้องการของธุรกิจ

Data Characteristics

ปัจจัยแรกคือคุณลักษณะของข้อมูลที่ต้องการจัดเก็บ ลักษณะข้อมูลมักเป็นตัวกำหนดกลุ่มเทคโนโลยีฐานข้อมูลที่จะเลือกใช้ ในขณะที่ฐานข้อมูลเชิงสัมพันธ์ RDBMS เหมาะกับข้อมูลที่มีลักษณะเป็นโครงสร้างสูง เช่นข้อมูลธุรกรรมจากระบบ OLTP แต่ไม่เหมาะกับข้อมูลในลักษณะอื่น เช่นเสียงรูปภาพหรือข้อมูลจาก social media

Functionalities

เทคโนโลยีฐานข้อมูลบางแบบ มีความสามารถอื่นๆ เพิ่มเติมนอกเหนือจากการเก็บและเรียกค้น ผนวกรวมมากับตัวฐานข้อมูลเลย ทำให้สะดวกต่อการพัฒนาระบบงานเพิ่มเติม ในขณะที่ฐานข้อมูลบางแบบหากต้องการความสามารถเพิ่มเติม จำเป็นต้องพัฒนาแยกต่างหาก

Transactional Compliance

การจัดการธุรกรรมหรือ Transaction ในแง่ของระบบฐานข้อมูลหมายถึงกลุ่มของการเปลี่ยนแปลงข้อมูลในระบบ ที่ต้องการให้มีคุณสมบัติ ACID (Atomicity, Consistency, Isolation, Durability)

  • Atomicity – คือการรับประกันว่าการเปลี่ยนแปลงเกิดขึ้น “ทั้งหมด” หรือ “ไม่เกิดขึ้นเลย” อย่างใดอย่างหนึ่งท่านั้นในหนึ่งธุรกรรม ไม่มีการทำธุรกรรมแบบครึ่งๆ กลางๆ
  • Consistency – คือการรับประกันว่า ข้อมูลในฐานข้อมูลจะสอดคล้องกันในตลอดช่วงเวลาการทำธุรกรรม
  • Isolation – หมายถึงการที่ข้อมูลการทำธุรกรรมรายการหนึ่ง จะไม่สามารถอ่านข้อมูลจากอีกธุรกรรมหนึ่งได้หากธุรกรรมนั้นยังไม่สมบูรณ์ ซึ่งหมายถึงหากมีการทำธุรกรรมมากกว่าหนึ่งรายการพร้อมๆ กัน ระบบฐานข้อมูลจะจัดเรียงลำดับให้เหมือนกับว่าทำงานเรียงกัน
  • Durability – คือการรับประกันว่า เมื่อการทำธุรกรรมเสร็จสมบูรณ์แล้ว ผลลัพธ์นั้นจะถูกบันทึกลงในสื่อที่คงทนถาวร เช่น ฮาร์ดดิสก์ และคงอยู่ต่อไป

คุณสมบัติ ACID เหล่านี้มีความสำคัญอย่างยิ่ง ในระบบงานแบบ OLTP (Online Transaction Processing) ตัวอย่างเช่นการทำธุรกรรมโอนเงินระหว่างบัญชี หรือการจองที่นั่ง ที่หนึ่งรายการธุรกรรมมีหลายขั้นตอน และมีจำนวนผู้ทำรายการพร้อมๆ กันเป็นจำนวนมาก

Response Time

ระยะเวลาตอบสนองของระบบ โดยยังแบ่งเป็นสองส่วน คือ ความเร็วในการ “อ่าน” ข้อมูล และความเร็วในการ “เขียน” หรือบันทึกข้อมูล รูปแบบการทำงานหรือระยะเวลาตาม SLA (service level agreement) จะเป็นตัว กำหนดว่าระบบที่ต้องใช้ต้องมี response time อย่างไร

Scalability

ความสามารถในการขยายขีดความสามารถของระบบ เป็นอีกหนึ่งปัจจัยที่สำคัญ ในขณะที่เราต้องการหลีกเลี่ยงการซื้อระบบที่มีขนาดใหญ่ ราคาสูงเกินความจำเป็นตั้งแต่เริ่มต้น แต่เราก็ยังต้องการความสามารถที่จะขยายระบบให้ใหญ่ขึ้น รองรับปริมาณงานที่จะเพิ่มในอนาคตได้ โดยไม่ต้องรื้อสร้างใหม่ทั้งหมด
แนวคิดที่สำคัญอย่างหนึ่งคือ ความแตกต่างระหว่าง Scale Up กับ Scale Out ซึ่งเป็นการขยายเหมือนกันแต่คนละแนวทาง

  • Scale Up คือการเพิ่มความสามารถของระบบโดยขยายหน่วยเก็บข้่อมูลหรือหน่วยประมวลผลให้มีความสามารถสูงขึ้น อาจจะด้วยการเพิ่มจำนวนฮาร์ดดิสก์ เพิ่มหน่วยความจำ เพิ่มจำนวนซีพียู แน่นอนว่า องค์ประกอบอื่นๆ จะต้องรองรับด้วย เช่นฮาร์ดแวร์ต้องมีสล็อตว่าง ระบบปฎิบัติการต้องรองรับ แอพลิเคชั่นต้องเป็นแบบ multi-threads การขยายในลักษณะนี้จะมีต้นทุนค่อนข้างสูง
  • Scale Out เป็นการเพิ่มความสามารถโดยการ เพิ่มจำนวนหน่วยประมวลผลหรือหน่วยเก็บข้อมูลทั้งหน่วย โดยที่แต่ละหน่วย จะมีราคาไม่สูงนัก ทำให้ต้นทุนการขยายระบบโดยรวมแล้วต่ำกว่าและมีลักษณะเป็นเชิงเส้น คาดการณ์ได้ง่ายและคุ้มค่ากว่าแบบ Scale Up อย่างไรก็ตาม การที่จะสามารถ Scale Out ได้ จำเป็นต้องมีซอฟต์แวร์ที่ช่วยในการจัดการกระจายโหลดการทำงานทั้งหลาย ออกไปยังเครื่องโหนดแต่ละเครื่อง จึงจะสามารถใช้งานทุกโหนดได้เต็มที่

1-lusBWUjJPjdcqAGRfA9p3Q

ที่มาของภาพ : https://medium.com/cloud-mobile-the-products-around/database-sql-nosql-7244061b7697

Maintainability

ระบบงานสำคัญที่เป็นหัวใจหลักของการทำงานขององค์กรที่หยุดทำงานไม่ได้เลย หรือพวก mission-critical system จำเป็นต้องมีความสามารถเพิ่มเติมในแง่ของการบำรุงรักษา เช่น การสามารถเปลี่ยนหรือเพิ่มเติมอุปกรณ์ที่เสียบางชิ้นได้โดยไม่จำเป็นหยุดระบบทั้งระบบ หรือการสำรองข้อมูล ความสะดวกในการกู้ระบบหรือกู้ข้อมูบลในสถาณการณ์ที่เกิดภัยพิบัติเป็นต้น

Maturity

ข้อได้เปรียบประการหนึ่งสำหรับเทคโนโลยีที่เติบโตและมีการใช้งานมาจนถึงระดับหนึ่งแล้ว คือ การได้รับการสนับสนุนจากชุมชนต่างๆ มีฮาร์ดแวร์ซอฟต์แวร์มารองรับมากเพียงพอ สามารถทำงานร่วมกับเทคโนโลยีอย่างอื่นได้ มีกลุ่มผู้ใช้ที่สามารถช่วยแก้ไขปัญหา แบ่งปันความรู้ หรือผลักดันให้มีการพัฒนาต่อเนื่องในด้านต่างๆ อีกทั้งยังมีจำนวนผู้สนใจศึกษาเทคโนโลยี และมีความรู้ความชำนาญในเทคโนโลยีมากพอที่จะหาบุคลากรมาทำงานด้วยได้

Cost

ต้นทุนค่าใช้จ่าย คงไม่สามารถปฎิเสธได้ว่า นี่ก็เป็นปัจจัยสำคัญข้อหนึ่งที่ส่งผลเป็นอย่างมากต่อการเลือกใช้ฐานข้อมูล แต่การพิจารณาต้นทุน จำเป็นต้องพิจารณาให้รอบด้าน หรือที่เรียกว่า TCO – Total Cost of Ownership ไม่เพียงเฉพาะแค่ค่าฮาร์ดแวร์หรือค่า license software เท่านั้น แต่ยังรวมถึง ค่าใช้จ่ายอื่นๆ ที่เกี่ยวข้อง เช่นค่า suport ค่าฝึกอบรม เป็นต้น

 

ระบบฐานข้อมูล SQL vs NoSQL

หนึ่งในเทคโนโลยีฐานข้อมูลที่มีการพูดถึงกันมากคือ NoSQL โดยถือเป็นหนึ่งในเทคโนโลยีที่เกี่ยวข้องกับ Big Data เป็นอย่างมาก เนื้อหาในส่วนนี้จะอธิบายถึงความแตกต่างระหว่างฐานข้อมูลทั้งสองกลุ่ม แต่ละกลุ่มต่างก็มีข้อเด่น จุดด้อย ตลอดจนลักษณะงานที่เหมาะสมแตกต่างกันไป

SQL

ความจริงแล้ว SQL หรือ Structured Query Language ไม่ได้เป็นเทคโนโลยีฐานข้อมูลโดยตรง แต่เป็นชื่อเรียกภาษาที่ใช้ในการสืบค้นข้อมูล ระบบฐานข้อมูลพื้นฐานที่ใช้ร่วมกับ SQL คือระบบฐานข้อมูลเชิงสัมพันธ์ หรือ Relational Databases แต่เราเรียกกลุ่มนี้ว่า SQL ในเชิงเปรียบเทียบกับกลุ่ม NoSQL เท่านั้นเอง

Relational Databases

ระบบจัดการฐานข้อมูลเชิงสัมพันธ์ หรือ RDBMS เป็นเทคโนโลยีที่เติบโตพัฒนาเต็มที่ต่อเนื่องมายาวนานหลายทศวรรษแล้ว มีผลิตภัณฑ์สินค้าครอบคลุมทุกช่วงการใช้งาน ข้อมูลในฐานข้อมูลกลุ่มนี้จะเก็บอยู่ในรูปแบบตาราง คือจัดเป็นคอลัมน์และแถว โดยจำเป็นต้องมีโครงสร้างข้อมูลชัดเจน

ข้อดีของระบบฐานข้อมูลแบบนี้ คือ ได้รับการพัฒนามาจนสมบูรณ์มากแล้ว เหมาะสำหรับงาน OLTP ที่จำเป็นต้องมีการควบคุมการอ่านเขียนข้อมูลเดียวกันจากหลายๆ รายการพร้อมกันเป็นจำนวนมาก ภาษาที่ใช้ในการเรียกค้นข้อมูล (SQL) ก็เป็นที่นิยมแพร่หลาย สามารถเรียกค้นข้อมูลจากหลายๆ เงื่อนไขพร้อมกันได้ มีเครื่องมือพัฒนา มีเทคโนโลยีอื่นๆ รองรับเป็นจำนวนมาก

ข้อเสีย คือ การที่จำเป็นต้องระบุโครงสร้างข้อมูลไว้ล่วงหน้า ทำให้ขาดความยืดหยุ่นในการรองรับข้อมูลชนิดอื่นๆ ที่ไม่ใช่ข้อมูลเชิงโครงสร้าง การปรับเปลี่ยนโครงสร้างข้อมูลทำได้ยาก และเมื่อมีจำนวนข้อมูลเพิ่มมากขึ้น รูปแบบการขยายตัว โดยมากมักอยู่ในแบบ scale up โดยมีข้อจำกัดเรื่องการเขียนข้อมูล มักจะถูกจำกัดอยู่ที่โหนดใดโหนดหนึ่งเท่านั้น ทำให้เมื่อจำนวนข้อมูลและโหลดการทำงานเพิ่มขึ้นถึงจุดหนึ่ง จะพบปัญหาในด้านประสิทธิภาพการทำงาน

Analytical Databases

เทคโนโลยีฐานข้อมูลอีกกลุ่มหนึ่ง ซึ่งถูกพัฒนาต่อยอดมาจาก RDBMS คือฐานข้อมูลสำหรับการวิเคราะห์ หรือ OLAP (Online Analytical Processing) โดยทำการปรับแต่งฐานข้อมูล เพื่อให้เหมาะสมกับการวิเคราะห์ข้อมูล นั่นคือการคำนวณค่าต่างๆ ไว้ล่วงหน้า และการจัดรูปแบบโครงสร้างข้อมูลเป็นแบบหลายมิติ multi-dimensional เพื่อเปิดโอกาสให้ผู้ใช้ สามารถเลือกวิเคราะห์ข้อมูลตามมิติต่างๆ ที่ต้องการได้โดยสะดวก
โครงสร้างข้อมูลของ OLAP อาจเป็นรูปแบบที่ซับซ้อนมากขึ้น แต่ก็ยังจำเป็นต้องมีการกำหนดไว้ล่วงหน้า และฐานข้อมูลในลักษณะนี้กลายมาเป็นหัวใจหลักของระบบ Business Intelligence โดยทำหน้าที่เป็น Data Warehouse หรือ Data Mart เป็นศูนย์กลางของระบบ และมีข้อดีและข้อเสียโดยรวมไม่แตกต่างจาก Relational Databases เท่าใดนัก

NoSQL

กลุ่มต่อมาคือกลุ่มที่เรียกว่า NoSQL (Not Only SQL) คือกลุ่มระบบฐานข้อมูลที่ไม่ได้จัดเก็บข้อมูลในรูปแบบตารางที่มี data model ถูกกำหนดไว้ชัดเจนล่วงหน้าเหมือนอย่างระบบ RDBMS
แรงผลักดันของการออกแบบฐานข้อมูลในกลุ่มนี้ ก็เพื่อให้มีการออกแบบฐานข้อมูลทำได้ง่ายขึ้น การ Scale Out ทำได้ดีกว่าเดิม และมีประสิทธิภาพในการทำงาน “บางประเภท” ดีกว่าระบบฐานข้อมูลแบบ RDBMS

ฐานข้อมูลในกลุ่มนี้ ความจริงแล้วมีหลายประเภท ขึ้นอยู่กับสถาปัตยกรรมและรูปแบบในการจัดเก็บข้อมูล

nosql

ที่มาของภาพ: https://kvaes.wordpress.com/2015/01/21/database-variants-explained-sql-or-nosql-is-that-really-the-question/

แบ่งออกเป็นประเภทหลักๆ ได้ดังนี้

  • Key-Value
  • Column-Family
  • Document
  • Graph

 

Key-Value Databases

ฐานข้อมูลแบบนี้มีรูปแบบโครงสร้างข้อมูลง่ายที่สุด คือเป็นการจับคู่ระหว่างข้อมูลที่เป็นกุญแจ และตัวข้อมูลเอง ไม่มีข้อกำหนดว่าคีย์ต้องเป็นข้อมูลอะไร หรือส่วนที่เป็น value ต้องเป็นข้อมูลรูปแบบไหน เรียกได้ว่าเป็นโครงสร้างข้อมูลแบบ schema-free มีข้อดีคือทำงานได้รวดเร็วมาก สามารถขยายขนาดให้ใหญ่มากๆ ได้ง่าย มีโมเดลที่ทำงานได้ง่ายและกระจายโหลดการทำงานได้สะดวก
ข้อเสียก็คือ รูปแบบโครงสร้างข้อมูลอย่างง่ายนี้ ไม่ได้เหมาะกับข้อมูลทุกประเภท และการควบคุมข้อมูลหรือทำความเข้าใจกับข้อมูล เป็นหน้าที่โดยตรงของแอพลิเคชั่นที่เรียกใช้โดยเฉพาะ
ตัวอย่างของระบบฐานข้อมูลในแบบ key-value ได้แก่ Dynamo ของ Amazon, Redis, Riak, Memcache และ SimpleDB

Column-Family Databases

ฐานข้อมูลแบบนี้ ดูเผินๆ อาจจะมีรูปแบบคล้ายคลึงกับตารางข้อมูลในแบบ relational แต่มีความแตกต่างกันอยู่พอสมควร โดยที่ข้อมูลในแต่ละแถว อาจมีจำนวนและรูปแบบคอลัมน์แตกต่างกันได้ แต่ละแถวจึงถูกเรียกว่า column-family ในแต่ละคอลัมน์ ข้อมูลจะเป็นแบบ key-value pair

Column-Family (หรือบางทีอาจเรียก wide-column หรือ column-oriented) มีความสามารถ scale ได้น้อยกว่า ฐานข้อมูลแบบ Key-Value แต่ข้อดีก็คือ สามารถรองรับรูปแบบข้อมูลที่ซับซ้อนกว่าแบบ KV
ตัวอย่างฐานข้อมูลแบบ Column-Family ได้แก่ Google BigTable, HBase, และ Cassandra

Document Databases

รูปแบบฐานข้อมูลแบบ document นี้ได้รับแรงบันดาลใจจากระบบจัดการเอกสารของ Lotus Notes โดยทำการรวบรวมค่า key-value หลายเวอร์ชั่นมารวมกันเป็นคอลเล็กชั่น แล้วประกอบกันเป็นเอกสาร โดยมีรูปแบบลักษณะคล้าย JSON (JavaScript Object Notation)

จุดเด่นของฐานข้อมูลแบบนี้คือความยืดหยุ่นในแง่ของโครงสร้างข้อมูล เพราะข้อมูลเอกสารแต่ละชิ้นอาจมีความแตกต่างกันได้หลากหลายมาก และรองรับรูปแบบข้อมูลที่ซับซ้อน เช่นการจัดการเอกสาร การเก็บข้อมูลการใช้งานแต่ละ session เป็นต้น แต่ในขณะเดียวกันก็มีข้อเสียสำคัญคือ ประสิทธิภาพในการเรียกค้นข้อมูลยังไม่ดีนักและยังขาดมาตรฐานการใช้งานอยู่

ตัวอย่างฐานข้อมูลแบบ Document ได้แก่ CouchDB และ MongoDB

Graph Databases

ฐานข้อมูลแบบ graph มีลักษณะแตกต่างจากฐานข้อมูล NoSQL อื่นๆ ค่อนข้างมาก เหมาะกับการเก็บข้อมูลความสัมพันธ์ของโหนดต่างๆ ตัวอย่างที่เห็นได้ชัดที่สุดคือความสัมพันธ์ในเครือข่ายสังคมอย่าง facebook โดยที่แต่ละโหนดมีความสัมพันธ์กับโหนดอื่นๆ ได้ในหลากหลายรูปแบบ

ถึงแม้ว่าเราจะสามารถออกแบบฐานข้อมูลที่เก็บความสัมพันธ์เหล่านั้นด้วยโครงสร้างแบบ Relational ได้ก็ตาม แต่เมื่อจำนวนโหนดเพิ่มมากขึ้น จำนวนความสัมพันธ์เพิ่มมากเป็นทวีคูณ การใช้ภาษาสืบค้นข้อมูลอย่าง SQL ต้องใช้เวลานานมาก ฐานข้อมูลแบบ Graph จะใช้อัลกอริทึมในการค้นหาเส้นทางที่สั้นที่สุดเพื่อเพิ่มประสิทธิภาพในการเรียกค้นข้อมูล

ตัวอย่างฐานข้อมูลแบบ Graph ได้แก่ Neo4J, InfoGrid และ Infinite Graph

NoSQL ในภาพรวม

ยังมีระบบฐานข้อมูล NoSQL อีกหลายแบบ ที่ไม่ได้กล่าวถึงในที่นี้ แต่โดยรวมแล้วฐานข้อมูลในกลุ่มนี้มีลักษณะสำคัญร่วมกันคือ

  • มีความยืดหยุ่นในแง่ของโครงสร้างข้อมูลมากกว่าฐานข้อมูลเชิงสัมพันธ์
  • สามารถขยายตัวและกระจายโหลดการเก็บข้อมูลไปบนคอมพิวเตอร์จำนวนมากได้ดีกว่า
  • มีประสิทธิภาพสูงมากในงานเฉพาะด้าน หากเลือกใช้ให้เหมาะกับงาน
  • การควรคุมโครงสร้างข้อมูล จำเป็นต้องขึ้นอยู่กับแอพลิเคชั่นที่ใช้
  • ความยืดหยุ่นและประสิทธิภาพของ NoSQL แลกมาด้วย การที่ไม่สามารถทำตาม ACID ได้ทั้งหมด จึงไม่เหมาะกับการใช้งานด้าน transaction
  • NoSQL เหมาะกับการเก็บข้อมูล แต่ไม่สามารถทำงานบางอย่างได้ดีนัก อย่างเช่น การทำ Reporting, Aggregation หรือ Analytics

 

nosql-databases

ที่มาของภาพ: http://www.tomsitpro.com/articles/rdbms-sql-cassandra-dba-developer,2-547-2.html

สรุป

เทคโนโลยีฐานข้อมูลเกิดนวัตกรรมใหม่เพิ่มขึ้นมากในช่วงไม่กี่ปีที่ผ่านมา เพื่อตอบสนองต่อความต้องการในการจัดการข้อมูลที่เปลี่ยนแปลงไป ทั้งในแง่ของปริมาณข้อมูลที่มากขึ้น และรูปแบบโครงสร้างข้อมูลที่หลากหลายซับซ้อนและยากต่อการคาดเดาได้ล่วงหน้า

ในขณะที่เทคโนโลยีดั้งเดิมที่คุ้นเคยกันมาก่อน ก็ได้รับการพัฒนามายาวนาน ถึงแม้ว่าอาจตอบสนองความต้องการใหม่ๆ บางอย่างได้ไม่ดีนัก แต่ก็ยังมีงานที่เหมาะสมกับเทคโนโลยีแบบเดิมอยู่

การทำความเข้าใจถึงความแตกต่างและข้อดีข้อเสียของเทคโนโลยีแต่ละกลุ่ม จะทำให้เราสามารถวางแผน เลือกใช้ พัฒนาบุคลากรและระบบ ให้สอดคล้องกับเป้าหมายทางธุรกิจได้เต็มประสิทธิภาพ

1 2 3 6