บทความ

กำลังแสดงโพสต์จาก มิถุนายน, 2020

ทำ dashboard บน Data Studio ให้ผู้ใช้ เห็นข้อมูลบน BigQuery เฉพาะส่วนของตัวเอง

รูปภาพ
หลายๆ องค์กร มีการใช้งาน BigQuery เป็น data warehouse ที่เก็บข้อมูลส่วนกลางขนาดใหญ่ การออกแบบ data warehouse ให้รองรับการใช้งานจากผู้ใช้หลายกลุ่ม สามารถทำได้หลายวิธี เช่นการ กำหนดสิทธิ์ที่ระดับ dataset  หรือการ สร้าง view เพื่อให้ผู้ใช้ เห็นเฉพาะผลลัพธ์ของ view นั้นๆ โดยไม่สามารถเข้าถึงข้อมูลทั้ง table ได้ อีกกรณีหนึ่งก็คือ การทำ dashboard ให้ผู้ใช้แต่ละคนเข้ามาใช้งาน dashboard เดียวกัน แต่ข้อมูลที่แสดงนั้น จะถูกดึงตามผู้ใช้งานที่กำลังเปิด dashboard อยู่ คือเห็นเฉพาะข้อมูลที่เกี่ยวข้องกับตัวเองเท่านั้น วิธีนี้มีข้อดีคือ เราจะสร้างและดูแล dashboard แค่ตัวเดียว โดยที่ผู้ใช้ก็จะเห็นข้อมูลของตัวเองเท่านั้น ไม่เห็นข้อมูลของผู้อื่น ไม่ต้องทำ dashboard แยกสำหรับผู้ใช้แต่ละกลุ่ม หรือแต่ละคน การ implement ในลักษณะนี้ อธิบายได้ด้วยแผนภาพนี้ครับ ในตัวอย่าง เรามีข้อมูลอยู่ 2 table คือ data_by_region (d) เป็นตัวอย่างข้อมูลที่แสดงเคสผู้ป่วย COVID-19 ในอิตาลี มี schema คือ date : วันที่เจอเคส region_name : ภูมิภาคที่เจอเคส region_acl_table (a) เป็นตารางที่ใช้ระบุว่า user ไหนสามารถดูข้อมูลจาก regio

การย้ายข้อมูลจาก Google Drive ไป Cloud Storage

รูปภาพ
Google Drive เป็นพื้นที่เก็บข้อมูลใน cloud ที่ผู้ใช้ทั่วไปสามารถเข้าไป สร้างเอกสาร, upload และแชร์เอกสารให้เพื่อนได้ โดยสะดวก ด้วยความง่าย และมี feature ครอบคลุมการใช้งานทั่วๆ ไป แค่สมัคร account แล้วก็เริ่มใช้งานได้เลย มันจึงเหมาะกับการเป็นที่รับ-ส่ง ไฟล์ แบบเร็วๆ Google Cloud Storage เป็นบริการเก็บข้อมูลบน cloud อีกตัวหนึ่งจาก Google อยู่ในกลุ่มบริการของ Google Cloud Platform ที่มีออกแบบมาสำหรับงานระบบหรือ application ในการใช้งาน Google Cloud Storage นอกจากการสมัคร account แล้ว จะต้องตั้ง project สร้าง bucket ซึ่งต้องตั้งชื่อ เลือก location ของข้อมูล เลือก class ของ storage จึงจะเริ่มใช้งานได้ ด้วยการจัดการที่มีเรื่องต้องเข้าใจเยอะ Cloud Storage จึงเหมาะกับการเก็บข้อมูลสำหรับ application มากกว่าที่จะให้ user ทั่วไปเข้ามาใช้งาน ในกรณีของผม ที่มีลูกค้าต้องการส่งไฟล์จำนวนประมาณ 1.3 แสน ไฟล์ มาให้เพื่อทำงานอย่างหนึ่ง ผมจึงสร้าง folder บน Google Drive และให้ลูกค้า upload ไฟล์เข้ามาให้ (ในกรณีนี้ ลูกค้าที่เป็นคน upload จะใช้งาน Google Drive ได้ง่ายกว่า Cloud Storage) แต่งานที่จะทำนั้น จะเร

ตั้งค่าแจ้งเตือนเมื่อข้อมูล Cloud Storage ถูกตั้งค่าเป็นสาธารณะ ด้วย Cloud Monitoring

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