จัดการข้อมูล Mac Address ให้อยู่หมัดด้วย PostgreSQL
บทนำ เมื่อต้องจัดการข้อมูลที่เกี่ยวข้องกับระบบเครือข่ายใน PostgreSQL MAC Address จะมีบทบาทสำคัญในการติดตามอุปกรณ์ บันทึกกิจกรรมเครือข่าย และจัดการความปลอดภัย รู้หรือไม่ PostgreSQL มีประเภทข้อมูล macaddr ในตัวเพื่อจัดการ MAC Address อย่างมีประสิทธิภาพ บทความนี้เราจะอธิบายเกี่ยวกับ: Mac Address คืออะไร 2.เหตุใดคุณจึงควรใช้ macaddr แทนฟิลด์ข้อความ 3.วิธีจัดเก็บ ค้นหา และจัดรูปแบบที่อยู่ MAC ใน PostgreSQL 4.แนวทางปฏิบัติที่ดีที่สุดสำหรับการสร้างดัชนีและเพิ่มประสิทธิภาพการค้นหา MAC Address Mac Address คืออะไร MAC address (Media Access Control Address) คือ หมายเลขประจำเครื่องเฉพาะ ที่ใช้ระบุอุปกรณ์เครือข่าย (Network Interface) เช่น คอมพิวเตอร์, โทรศัพท์มือถือ, เราเตอร์, Wi-Fi card ฯลฯ ในระดับ Layer 2 ของ OSI Model (Data Link Layer) โดยมีรูปแบบ รหัสแบบ 16 ตัวอักษร (6 ไบต์ = 48 บิต) เขียนในรูป เลขฐาน 16 (Hexadecimal) เช่น 00:1A:2B:3C:4D:5E โดยค่า mac address จะบ่งบอกถึง ส่วนของ MAC Address ขนาด ความหมาย OUI (Organizationally Unique Identifier) 3 ไบต์แรก ระบุผู้ผลิต (เช่น Apple, Intel) NIC Specific 3 ไบต์หลัง รหัสเฉพาะของการ์ดอุปกรณ์นั้น เหตุใดคุณจึงควรใช้ macaddr แทนฟิลด์ข้อความ เราก็จะเกิดคำถามว่าทำไม Postgres ต้องมีการข้อมูลประเภท macaddr สร้างในเมื่อเราสามารถใช้ข้อมูลประเภท text ได้ซึ่งประโยชน์ของข้อมูลประเภท macaddr คือ ประสิทธิภาพการจัดเก็บ ใช้เพียง 6 ไบต์แทนการแสดงข้อความที่ยาวกว่า การจัดรูปแบบอัตโนมัติ รับประกันรูปแบบมาตรฐาน (08:00:2b:01:02:03) การค้นหาที่รวดเร็วยิ่งขึ้น รองรับการสร้างดัชนีที่มีประสิทธิภาพสำหรับการค้นหาอย่างรวดเร็ว การรองรับการเปรียบเทียบในตัว อนุญาตให้มีการเปรียบเทียบ =, สำหรับการเรียงลำดับและการกรอง วิธีจัดเก็บ ค้นหา และจัดรูปแบบที่อยู่ MAC ใน PostgreSQL 1.การสรา้งตารางที่มีcolcumn ที่มีข้อมูลประเภท macaddr CREATE TABLE devices ( id SERIAL PRIMARY KEY, device_name TEXT NOT NULL, mac_address MACADDR UNIQUE ); หมายเหตุต้องมีการกำหนดข้อจำกัด ค่า mac_address เป็น UNIQUE เพื่อป้องกันการเก็บค่า mac address ซ้ำ 2.การเก็บข้อมูล macaddr ดำเนินการผ่านคำสั่ง INSERT INTO devices (device_name, mac_address) VALUES ('Router', '08:00:2b:01:02:03'); หมายเหตุในกรณีที่เราบันทึกค่า mac address ที่ไม่มี colon(08002b010203) เมื่อบันทึกลงฐานข้อมูลจะมีการจัด format ให้ถูกต้อง 3.การเรียกดูข้อมูลผ่านคำสั่ง SELECT * FROM devices WHERE mac_address = '08:00:2b:01:02:03'; แนวทางปฏิบัติที่ดีที่สุดสำหรับการสร้างดัชนีและเพิ่มประสิทธิภาพการค้นหา MAC Address เราสามารถเพิ่มประสิทธิธภาพในการเรียกดูข้อมูลประเภท macaddr ผ่านการสรา้ง index CREATE INDEX mac_index ON devices (mac_address); การจัดรูปแบบ MAC Address โดยลบเฉพาะของผู้จำหน่ายของที่อยู่ MAC การตัดทอนที่อยู่ MAC (โดยเก็บเฉพาะตัวระบุเฉพาะขององค์กรหรือ OUI): SELECT macaddr_trunc(mac_address) FROM devices; จะได้ผลลัพธ์เป็น 08:00:2b:00:00:00 ส่งท้าย Postgres ได้ให้ประเภทข้อมูล macaddr ซึ่งช่วยให้จัดการข้อมูลเกี่ยวกับการจัดการอุปกรณ์เครือข่ายการใช้งานจริงในการจัดเก็บที่อยู่ MAC ใน PostgreSQL การรักษาความปลอดภัยเครือข่ายเพื่อติดตามอุปกรณ์ที่เข้าถึงเครือข่าย การใช้งาน IoT (Internet of Things) เพื่อตรวจสอบอุปกรณ์อัจฉริยะด้วยที่อยู่ MAC เฉพาะ การจัดการสินค้าคงคลังและสินทรัพย์ ระบุฮาร์ดแวร์ที่เป็นของบริษัท ระบบควบคุมการเข้าถึงในการรับรองผู้ใช้ตามที่อยู่ MAC ของอุปกรณ์

บทนำ
เมื่อต้องจัดการข้อมูลที่เกี่ยวข้องกับระบบเครือข่ายใน PostgreSQL MAC Address จะมีบทบาทสำคัญในการติดตามอุปกรณ์ บันทึกกิจกรรมเครือข่าย และจัดการความปลอดภัย รู้หรือไม่ PostgreSQL มีประเภทข้อมูล macaddr ในตัวเพื่อจัดการ MAC Address อย่างมีประสิทธิภาพ
บทความนี้เราจะอธิบายเกี่ยวกับ:
- Mac Address คืออะไร
2.เหตุใดคุณจึงควรใช้ macaddr แทนฟิลด์ข้อความ
3.วิธีจัดเก็บ ค้นหา และจัดรูปแบบที่อยู่ MAC ใน PostgreSQL
4.แนวทางปฏิบัติที่ดีที่สุดสำหรับการสร้างดัชนีและเพิ่มประสิทธิภาพการค้นหา MAC Address
Mac Address คืออะไร
MAC address (Media Access Control Address) คือ หมายเลขประจำเครื่องเฉพาะ ที่ใช้ระบุอุปกรณ์เครือข่าย (Network Interface) เช่น คอมพิวเตอร์, โทรศัพท์มือถือ, เราเตอร์, Wi-Fi card ฯลฯ ในระดับ Layer 2 ของ OSI Model (Data Link Layer) โดยมีรูปแบบ รหัสแบบ 16 ตัวอักษร (6 ไบต์ = 48 บิต) เขียนในรูป เลขฐาน 16 (Hexadecimal) เช่น
00:1A:2B:3C:4D:5E
โดยค่า mac address จะบ่งบอกถึง
ส่วนของ MAC Address | ขนาด | ความหมาย |
---|---|---|
OUI (Organizationally Unique Identifier) | 3 ไบต์แรก | ระบุผู้ผลิต (เช่น Apple, Intel) |
NIC Specific | 3 ไบต์หลัง | รหัสเฉพาะของการ์ดอุปกรณ์นั้น |
เหตุใดคุณจึงควรใช้ macaddr แทนฟิลด์ข้อความ
เราก็จะเกิดคำถามว่าทำไม Postgres ต้องมีการข้อมูลประเภท macaddr สร้างในเมื่อเราสามารถใช้ข้อมูลประเภท text ได้ซึ่งประโยชน์ของข้อมูลประเภท macaddr คือ
- ประสิทธิภาพการจัดเก็บ ใช้เพียง 6 ไบต์แทนการแสดงข้อความที่ยาวกว่า
- การจัดรูปแบบอัตโนมัติ รับประกันรูปแบบมาตรฐาน (08:00:2b:01:02:03)
- การค้นหาที่รวดเร็วยิ่งขึ้น รองรับการสร้างดัชนีที่มีประสิทธิภาพสำหรับการค้นหาอย่างรวดเร็ว
- การรองรับการเปรียบเทียบในตัว อนุญาตให้มีการเปรียบเทียบ =, <, > สำหรับการเรียงลำดับและการกรอง
วิธีจัดเก็บ ค้นหา และจัดรูปแบบที่อยู่ MAC ใน PostgreSQL
1.การสรา้งตารางที่มีcolcumn ที่มีข้อมูลประเภท macaddr
CREATE TABLE devices (
id SERIAL PRIMARY KEY,
device_name TEXT NOT NULL,
mac_address MACADDR UNIQUE
);
หมายเหตุต้องมีการกำหนดข้อจำกัด ค่า mac_address เป็น UNIQUE เพื่อป้องกันการเก็บค่า mac address ซ้ำ
2.การเก็บข้อมูล macaddr ดำเนินการผ่านคำสั่ง
INSERT INTO devices (device_name, mac_address)
VALUES ('Router', '08:00:2b:01:02:03');
หมายเหตุในกรณีที่เราบันทึกค่า mac address ที่ไม่มี colon(08002b010203) เมื่อบันทึกลงฐานข้อมูลจะมีการจัด format ให้ถูกต้อง
3.การเรียกดูข้อมูลผ่านคำสั่ง
SELECT * FROM devices WHERE mac_address = '08:00:2b:01:02:03';
แนวทางปฏิบัติที่ดีที่สุดสำหรับการสร้างดัชนีและเพิ่มประสิทธิภาพการค้นหา MAC Address
เราสามารถเพิ่มประสิทธิธภาพในการเรียกดูข้อมูลประเภท macaddr ผ่านการสรา้ง index
CREATE INDEX mac_index ON devices (mac_address);
- การจัดรูปแบบ MAC Address โดยลบเฉพาะของผู้จำหน่ายของที่อยู่ MAC การตัดทอนที่อยู่ MAC (โดยเก็บเฉพาะตัวระบุเฉพาะขององค์กรหรือ OUI):
SELECT macaddr_trunc(mac_address) FROM devices;
จะได้ผลลัพธ์เป็น 08:00:2b:00:00:00
ส่งท้าย
Postgres ได้ให้ประเภทข้อมูล macaddr ซึ่งช่วยให้จัดการข้อมูลเกี่ยวกับการจัดการอุปกรณ์เครือข่ายการใช้งานจริงในการจัดเก็บที่อยู่ MAC ใน PostgreSQL
- การรักษาความปลอดภัยเครือข่ายเพื่อติดตามอุปกรณ์ที่เข้าถึงเครือข่าย
- การใช้งาน IoT (Internet of Things) เพื่อตรวจสอบอุปกรณ์อัจฉริยะด้วยที่อยู่ MAC เฉพาะ
- การจัดการสินค้าคงคลังและสินทรัพย์ ระบุฮาร์ดแวร์ที่เป็นของบริษัท
- ระบบควบคุมการเข้าถึงในการรับรองผู้ใช้ตามที่อยู่ MAC ของอุปกรณ์