Docstoc

Parallel Database

Document Sample
Parallel Database Powered By Docstoc
					               Parallel Database
Introduction
Process Structure
Hardware Performance

ประสิทธิภาพขององค์ประกอบฮาร์ดแวร์ ตามกฎของ Moor ได้กล่าวไว้ว่า
processor
   - ความจุของโปรเซสเซอร์จะเพิ่มขึ้น 25% ทุกๆ ปี
   - ความเ ร็วของโปรเซสเซอร์เพิ่มขึ้นสองเท่าในเวลา 3 ปี
Memory
    - ความจุของหน่วยความเพิ่มขึ้น 60% ทุกๆปี
    - วงรอบการทางานลดลง 1/3 เท่า ใน เวลา 10 ปี
Disc
   - ความจุของ Disc จะเพิ่มขึ้น 25% ทุกๆ ปี
   - วงรอบการทางานลดลง 1/3 เท่า ใน เวลา 10 ปี
สาเหตุที่ต้องมีการเข้าถึงข้อมูลแบบ   Parallel




สาเหตุที่ทาการเข้าถึงข้อมูลแบบ Parallel
จากรูปจะเห็นได้ ว่าเมื่อเราทาการ scan ข้อมูล 1 Terabyte โดยไม่ได้ใช้วิธีเข้าถึงข้อมูลแบบ
Parallel
จะต้องใช้เวลาถึง 1.2 วัน แต่ถ้าเราใช้วิธีการเข้าถึ งเข้ามูลแบบ Parallel โดยแบ่งออกเป็น
1000 Partition จะใช้เวลาเพียง 1.5 นาที
          การเข้าถึงข้อมูลแบบ Parallel จะแบ่ง Partition ออกเป็นชิ้นเล็ก ๆ
เพื่อแก้ปัญหาข้อมูลที่มีขนาดใหญ่
สิ่งที่ต้องการ
1. เพื่อสร้าง Processor ที่มีความเร็วไม่จากัด จากหลายๆ โปรเซสเซอร์ที่มีความเร็วจากัด
2. สร้าง หน่วยความจาที่ขนาดไม่จากัดจากหน่วยความจาหลาย ๆ ชิ้น ที่มีความเร็วจากัด

Parallel System
Parallel database Systems ประกอบด้วย Multiple Processor และ Multiple Disc
เชื่อมต่อกับ Internet ความเร็วสูง
การวัดประสิ ทธิภาพของ Parallel database Systems มี 2 อย่าง
1. throughput จานวนงานที่ทาได้ใน 1 ช่วงเวลา
2.response time ระยะเวลาสามารถที่ทางานได้สาเร็จ 1 งาน

Parallelism : Speedup , Scale up

Speedup
Speedup: constant problem, growing system ปัญหาที่คงที่
Speedup = small-system-elapsed-time
               big-system-elapsed-time
Linear Speedup : Twice as much hardware can perform the task in haft the elapse time
(2 เท่าของ hardware ทางาน ครึ่งหนึ่ง ในเวลาที่ผ่านไป )
                       ( i.e., speedup = number of processors.)
Scale Up
•Scaleup : ability to grow both the system/problem
        scaleup = 1-system-elapsed-time-on-1-problem
                      N-system-elapsed-time-on-N-problem
Linear Scaleup: Twice as much hardware can (2 เท่าของ hardware ทางานไ ด้ 2
เท่าของเวลาที่ผ่านไป )
                 perform twice as large as a task in the same
                 elapsed time (i.e., scaleup = 1)
Parellelism: Speedup & Scaleup




  Speed – up ยิ่งมี resource มาก
    ยิ่งใช้เวลาประมวลผลน้อยลง
         (ในปริมาณงานเท่ากัน )




     Scale up ยิ่งมี resorce มาก
    ยิ่งทางานได้ปริมาณที่เพิ่มขึ้น
           (ในเวลาที่เท่ากัน )
Parallelism : Goal => Performance

Parallelism :Goal = Performance
1: parallel system ทางานได้เร็วกว่า serial system
2: parallel system ให้ผลลัพธ์เป็น near linear speed up หรือ near linear scaleup หรือ
ทั้งสองอย่าง
อุปสรรคในทา Parallelism

อุปสรรคของ Parallelism มีดังนี้
Start up ใช้เวลาในการเริ่ม Parallel Operation นาน
เนื่องจากต้องทาการสร้างและทาการติดต่อ Overhead
Interference เมื่อทากา รเข้าถึงข้อมูลด้วยการ แชร์ ทรัพยากร แต่ละ Process จะทางานช้าลง
Skew เวลาตอบสนองของ Parallel Process ไม่แน่นอน อาจจะ ช้าบ้าง เร็วบ้าง
Hardware Architectures

Shared Memory




- processor และ disk เข้าถึง memory โดยทาง bus หรือ interconnection network
    - การสื่อสารที่มีประสิทธิภาพระหว่าง Processors -ข้อมูลที่ share memory
        สามารถเข้าถึง โดยโปรเซสเซอร์ต่างๆ โดยไม่ต้องใช้ Software
    - ข้อเสีย architecture ไม่สามารถขยายเป็น 32 หรือ 64 Processor เพราะ bus หรือ
        การเชื่อมต่อ network กลายเป็นปัญหา คอขวด
    - ที่ใช้กันอย่างกว้างขวาง คือ 4 to 8 Processor
       Shared Disk




-ทุก Processor สามารถเข้าถึง ทุก disk โดยทาง การเชื่อมต่อ network แต่ processors
แต่ละตัว มี mem เป็นของตัวเอง
    - หน่วยความจา bus ไม่เกิดคอขวด
    Architecture หา degree อื่น ถ้ามีการล้ มเหลว-
    ถ้าตัวประมวลผลล้มเหลวตัวประมวลผลอื่นคงจะสามารถยึด .หน้าที่นั้น
    เพราะฐานข้อมูลอยู่บน disk ที่สามารถเข้าถึงจากทุก Processor
    - ข้อเสีย bottleneck จะเกิดขึ้นขณะทาการเชื่อมต่อกับ disk ของระบบย่อย
    - Share disk system สามารถ ปริมาณบางสิ่งมากกว่าจานวนโปรเซสเซอร์
         แต่การสื่อสารระหว่าง Processor ช้าลง
       Shared Nothing




- การเข้าถึงข้อมูล จาก localdisk ไม่ผ่าน interconnection network
ด้วยวิธีสิ่งรบกวนน้อยที่สุดของ resource share
    - Share Nothing multiprocessor สามารถ scale up ถึง 1000 processors
         ปราศจากสิ่งร บกวน
    - ข้อด้อยหลัก ราคาของการสื่อสาร และ การเข้าถึง disk ส่งข้อมูลเกี่ยวข้องกับ
         software ที่ ทั้งสอง
Kinds of Parallel Execution




การจัดการข้อมูลใน Parallel System มี 2 อย่าง คือ
การจัดการแบบ Pipeline Parallelism

การจัดการแบบ Partition Parallelism
Types of DB parallelism
ชนิดของ Database Parallelism มี 4 ชนิด
Intra-operator parallelism

Inter-operator parallelism

Intra- query parallelism

Inter-query parallelism
Data Partitioning Strategies

       Round Robin Partitioning




                     จะมีการแบ่งข้อมูลเก็บไว้ในแต่ละ Partition โดยใช้วิธี i mod n
       จากรูป n=4
       ข้อมูลในช่องที่   1 mod 4 =1 ก็จะเก็บไว้ใน   Partition ที่ 0
       ข้อมูลในช่องที่   2 mod 4 =2 ก็จะเก็บไว้ใน   Partition ที่ 1
       ข้อมูลในช่องที่   3 mod 4 =3 ก็จะเก็บไว้ใน   Partition ที่ 2
       ข้อมูลในช่องที่   4 mod 4 =0 ก็จะเก็บไว้ใน   Partition ที่ 3
       ข้อมูลในช่องที่   5 mod 4 =1 ก็จะเก็บไว้ใน   Partition ที่ 0
Hash Partitioning




      ข้อมูลในแต่ละแถวจะใช้ hash function เป็นตัวกลางในการจัดการข้อมูล
      ว่า จะให้ไปเก็บใน Partition ใด โดยสุ่มเอาว่าจะเก็บไว้ใน Partition ใด
Range Partitioning




      จัดเก็บข้อมูลตามเงื่อนไขที่กาหนด ดังรูป
      จะมีการจัดเก็บข้อมูลตามตัวอักษรในภาษาอังกฤษ
      ทาให้สามารถทาการค้นหาข้อมูลได้รวดเร็ว
      ถ้าระบุเงื่อนไขตามที่กาหนดไว้ใน แต่ละ Partition
ข้อเปรียบเทียบ Data Partitioning ทั้ง 3 แบบ

       Range Partitioning
       ข้อดี เป็นวิธีจัดเก็บที่ง่าย (โดยใช้วิธีการคานวณ i mod n)
       ข้อเสีย การค้นหาข้อมูลทาได้ยาก
       Has Partitioning
       ข้อดี สามารถทาการเข้าข้อมูลได้โดยตรง
       ข้อเสีย การจั ดเก็บข้อมูลเป็นแบบสุ่ม เนื่องจาก hashing function
       จะจัดการเก็บข้อมูลให้เอง
       Round Robin Partitioning
       ข้อดี สามารถทาการค้นหาข้อมูลตามเงื่อนไขที่ทาการจัดเก็บได้รวดเร็ว
       ข้อเสีย ถ้าข้อมูลที่ต้องการค้นหาไม่ตรงกับที่เงื่อนจัดเก็บไว้
       จะต้องทาการค้นหาจากทุก Partition
ตัวอย่างการแบ่ง Partition โดยใช้วิธี Range Partitioning
จากรูปที่ จะเห็นว่ามีการแบ่ง partition เป็น 4 partition ซึ่งจัดเก็บไว้ตามเงื่อนไข
GPA หากต้องการค้นหาคนที่มี GPA ตั้งแต่ 2 ขึ้นไป ก็จะทาการค้นหาเพียงแค่ 2
partion คื อ partion ที่ 2 และ 3 แต่ถ้าต้องการ ค้นหา ข้อมูล MAJOR
จะต้องทาการค้นหาจาก Partion ทั้งหมด เนื่องจากไม่ได้แบ่งข้อมูลตาม MAJOR
        จากตัวอย่างนี้แสดงให้เห็นถึงข้อดีของ Range Partition
ว่าสามารถค้นหาข้อมูลได้เร็วถ้ามีการแบ่ง partition ไว้ตามเงื่อนไข
แต่ถ้าต้องการค้นหาข้อมูลที่ไม่ตรงตามเงื่อนไขที่ทาการแบ่ง       partition เอาไว้
จะต้องค้นหาจากทุก partition
Optimality




ตัวอย่าง DBMS

บริษัทออราเ คิ ล
ออราเคิล 7.2 ซึ่งเน้นการปรับปรุงประสิทธิภาพในการทาคั่วรี่แบบพาราเลลบนเครื่อง   SMP
และ MPP แพลตฟอร์ม

IBM
ได้เสนอผลิตภัณฑ์ DB2/6000 โดยที่เวอร์ชั่นแรกสุดของ DB2
ใช้คุณสมบัติของระบบพาราเลล และการจัดลาดับของ MPP แพลตฟอร์ม

อินฟอร์มิก
Informix-Online 7.1 ซึ่งใช้ผลิตการ พาราเลลทางานบน Dynamic Scalable Architecture
(DSA) เพื่อสนับสนุนระบบฐานข้อมูลในการใช้ป ระโยชน์ MPP แพลตฟอร์ม
และรวมหน้าที่หลักนี้ลงไปในรุ่น เบต้า ของ Informix-Online Extended Parallel
Server (XPS) เวอร์ชั่น 8.0