Teradata - อัลกอริทึมการแฮช
แถวถูกกำหนดให้กับ AMP หนึ่ง ๆ ตามค่าดัชนีหลัก Teradata ใช้อัลกอริทึมการแฮชเพื่อกำหนดว่า AMP ใดรับแถวนั้น
ต่อไปนี้เป็นแผนภาพระดับสูงเกี่ยวกับอัลกอริทึมการแฮช
ต่อไปนี้เป็นขั้นตอนในการแทรกข้อมูล
ลูกค้าส่งคำถาม
ตัวแยกวิเคราะห์รับแบบสอบถามและส่งผ่านค่า PI ของเรกคอร์ดไปยังอัลกอริทึมการแฮช
อัลกอริทึมการแฮชแฮชค่าดัชนีหลักและส่งกลับตัวเลข 32 บิตเรียกว่า Row Hash
บิตลำดับที่สูงกว่าของแฮชแถว (16 บิตแรก) ถูกใช้เพื่อระบุรายการแม็พแฮช แฮชแมปมีหนึ่ง AMP # Hash map คืออาร์เรย์ของที่เก็บข้อมูลซึ่งมี AMP # ที่เฉพาะเจาะจง
BYNET ส่งข้อมูลไปยัง AMP ที่ระบุ
AMP ใช้แฮช Row 32 บิตเพื่อค้นหาแถวภายในดิสก์
หากมีเร็กคอร์ดใด ๆ ที่มีแฮชแถวเดียวกันก็จะเพิ่มรหัสเฉพาะซึ่งเป็นตัวเลข 32 บิต สำหรับแฮชแถวใหม่ ID เฉพาะจะถูกกำหนดเป็น 1 และจะเพิ่มขึ้นเมื่อใดก็ตามที่มีการแทรกเร็กคอร์ดที่มีแฮชแถวเดียวกัน
การรวมกันของ Row hash และ Uniqueness ID เรียกว่า Row ID
Row ID นำหน้าแต่ละระเบียนในดิสก์
แต่ละแถวของตารางใน AMP จะเรียงลำดับตามเหตุผลตามรหัสแถว
วิธีจัดเก็บตาราง
ตารางจะเรียงลำดับตามรหัสแถว (แฮชแถว + รหัสเฉพาะ) แล้วจัดเก็บไว้ใน AMP รหัสแถวจะถูกเก็บไว้กับแถวข้อมูลแต่ละแถว
แถวแฮช | รหัสเอกลักษณ์ | พนักงาน | ชื่อจริง | นามสกุล |
---|---|---|---|---|
2A01 2611 | 0000 0001 | 101 | ไมค์ | เจมส์ |
2A01 2612 | 0000 0001 | 104 | อเล็กซ์ | สจวร์ต |
2A01 2613 | 0000 0001 | 102 | โรเบิร์ต | วิลเลียมส์ |
2A01 2614 | 0000 0001 | 105 | โรเบิร์ต | เจมส์ |
2A01 2615 | 0000 0001 | 103 | ปีเตอร์ | พอล |