PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

PostgreSQL में भारी मात्रा में डेटा लोड करने का सबसे अच्छा तरीका क्या है?

नहीं करें अनुक्रमणिका का उपयोग करें अद्वितीय एकल संख्यात्मक कुंजी को छोड़कर।

यह हमारे द्वारा प्राप्त सभी डीबी सिद्धांत के साथ फिट नहीं है लेकिन डेटा के भारी भार के साथ परीक्षण इसे प्रदर्शित करता है। यहाँ एक तालिका में 2 अरब पंक्तियों तक पहुँचने के लिए एक बार में 100M भार का परिणाम है, और हर बार परिणामी तालिका पर विभिन्न प्रश्नों का एक समूह है। पहला ग्राफ़िक 10 गीगाबिट NAS (150MB/s) के साथ, दूसरा 4 SSD के साथ RAID 0 (R/W @ 2GB/s) में।

यदि आपके पास नियमित डिस्क पर एक तालिका में 200 मिलियन से अधिक पंक्तियाँ हैं, तो यदि आप अनुक्रमणिका भूल जाते हैं तो यह तेज़ है। SSD की सीमा 1 बिलियन है।

मैंने इसे बेहतर परिणामों के लिए विभाजन के साथ भी किया है लेकिन PG9.2 के साथ यदि आप संग्रहीत कार्यविधियों का उपयोग करते हैं तो उनसे लाभ प्राप्त करना मुश्किल है। आपको एक बार में केवल 1 पार्टिशन में लिखने/पढ़ने का भी ध्यान रखना है। हालाँकि विभाजन आपकी तालिकाओं को 1 बिलियन पंक्ति की दीवार के नीचे रखने का तरीका है। यह बहुत . में भी मदद करता है अपने लोड को मल्टीप्रोसेस करने के लिए। एसएसडी के साथ, एकल प्रक्रिया मुझे 18,000 पंक्तियों/एस (कुछ प्रसंस्करण कार्य शामिल के साथ) डालने (प्रतिलिपि) करने देती है। 6 सीपीयू पर मल्टीप्रोसेसिंग के साथ, यह 80,000 पंक्तियों/सेकेंड तक बढ़ता है।

दोनों को ऑप्टिमाइज़ करने के लिए परीक्षण करते समय अपना CPU और IO उपयोग देखें।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. (एक टेबल) पंक्तियाँ डालें

  2. समारोह न्यूनतम (uuid) postgresql में मौजूद नहीं है

  3. वर्ष त्रुटि देता है

  4. सभी परीक्षण फ़ाइलों के लिए पहले जैस्मीन कैसे चलाएं

  5. 'संघ' पर या उसके पास PostgreSQL सिंटैक्स त्रुटि