top of page

Data Dictionary คือสิ่งสำคัญที่หลายองค์กรมองข้าม


Data Dictionary

Data Dictionary คือสิ่งสำคัญที่หลายองค์กรมองข้าม

Data Dictionary แปลเป็นไทยว่า พจนานุกรมข้อมูล ซึ่งเป็นสิ่งที่ใช้แสดงรายละเอียดต่างๆ ในฐานข้อมูล หรือ Database เช่น Relation Name, รายละเอียดข้างในตัวข้อมูล หรือ Data Description, ประเภทของข้อมูล, ขนาดของข้อมูล หรือแม้กระทั่งตัวอย่างของข้อมูลนั้นๆ

ตัวอย่าง Data Dictionary

Data Dictionary Example

ความเป็นจริงแล้ว Data Dictionary มีความสำคัญอย่างมาก ในเชิงการจัดการข้อมูล และการเข้าใจระบบฐานข้อมูล หากไม่มี Data Dictionary จะส่งผลให้ เมื่อใดก็ตามที่จำเป็นต้องใช้ข้อมูล จะต้องใช้เวลาในการทำความเข้าใจระบบ และทำความเข้าใจข้อมูลระดับหนึ่ง ไม่ว่าจะเป็นการเชื่อมข้อมูลเข้ากับระบบใหม่ หรือจะเป็นการนำข้อมูลไปวิเคราะห์ต่อไป

Data Dictionary เป็นสิ่งพื้นฐาน Database ทุกโปรแกรม ที่ทำหน้าที่เป็นตัวสร้าง หรือเก็บข้อมูล เช่น โปรแกรม ERP จะมีต้องมี Data Dictionary เป็นตัวกำกับ

แต่ทั้งนี้จากประสบการณ์ของทีมงาน Coraline พบว่า หลายๆ องค์กร ไม่มี Data Dictionary เพราะการขอมี Data Dictionary นั้นหมายถึง ค่าใช้จ่ายส่วนเกิน ที่จะต้องจ่ายให้กับผู้พัฒนาระบบ ตัวอย่างเช่น หากซื้อ ERP ยี่ห้อหนึ่งมา และต้องการ Data Dictionary ก็จะมีค่าใช้จ่ายนอกเหนือจากค่า License และค่า Implement

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

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

หากถามว่า Data Dictionary จำเป็นหรือไม่ ก็ต้องตอบว่า จำเป็นอย่างมาก แต่การได้มาซื้อ Data Dictionary นั้น นำมาซึ่งค่าใช้จ่ายราคาแพง ถ้าเป็นเช่นนั้น ก็อาจจะต้องประเมินความคุ้มค่าในการลงทุนด้วยเช่นกัน

ปัญหานี้แก้อย่างไร ทางแก้ในเชิงเทคนิค มี 2 ทาง

1. ซื้อ Data Dictionary มาจาก Vendor เจ้าของโปรแกรม

2. แกะ Data Dictionary ขึ้นมา และใช้เป็นส่วนกลาง

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

สุดท้ายนี้ ต้องบอกว่า ถ้าพื้นฐานไม่แน่น ก็ยากที่จะต่อยอดไปได้ไกล ดังนั้น ก่อนที่จะสร้าง Data Lake ก่อนที่จะไป Machine Learning ก่อนที่จะ Implement Hadoop ย้อนกลับมาว่า แต่ละระบบที่สร้าง และเก็บข้อมูลอยู่นั้น มี Data Dictionary แล้วหรือยัง?

แท็ก:

< Previous
Next >
bottom of page