āĻ†āĻŽāĻ°āĻž āĻ¸āĻžāĻŦāĻ˛āĻžāĻ‡āĻŸā§‡ PostgreSQL āĻ āĻ˛āĻŋāĻ–āĻŋ: 1 āĻšā§‹āĻ¸ā§āĻŸ, 1 āĻĻāĻŋāĻ¨, 1TBā§ˇ

āĻ¸āĻŽā§āĻĒā§āĻ°āĻ¤āĻŋ āĻ†āĻŽāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻŦāĻ˛ā§‡āĻ›āĻŋ āĻ•āĻŋāĻ­āĻžāĻŦā§‡, āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻ°ā§‡āĻ¸āĻŋāĻĒāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻ¸āĻ•āĻŋāĻ‰āĻāĻ˛ āĻĒāĻ āĻŋāĻ¤ āĻĒā§āĻ°āĻļā§āĻ¨ā§‡āĻ° āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻŦā§ƒāĻĻā§āĻ§āĻŋ PostgreSQL āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻĨā§‡āĻ•ā§‡āĨ¤ āĻ†āĻœ āĻ†āĻŽāĻ°āĻž āĻ•āĻĨāĻž āĻŦāĻ˛āĻŦ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ°ā§‡āĻ•āĻ°ā§āĻĄāĻŋāĻ‚ āĻ†āĻ°āĻ“ āĻĻāĻ•ā§āĻˇāĻ¤āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ā§‡ āĻ•ā§‹āĻ¨ā§‹ "āĻŸā§āĻ‡āĻ¸ā§āĻŸ" āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ¨āĻž āĻ•āĻ°ā§‡āĻ‡ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡ - āĻ•ā§‡āĻŦāĻ˛ āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻĄā§‡āĻŸāĻž āĻĒā§āĻ°āĻŦāĻžāĻšāĻ•ā§‡ āĻ¸āĻ‚āĻ—āĻ āĻŋāĻ¤ āĻ•āĻ°ā§‡āĨ¤

āĻ†āĻŽāĻ°āĻž āĻ¸āĻžāĻŦāĻ˛āĻžāĻ‡āĻŸā§‡ PostgreSQL āĻ āĻ˛āĻŋāĻ–āĻŋ: 1 āĻšā§‹āĻ¸ā§āĻŸ, 1 āĻĻāĻŋāĻ¨, 1TBā§ˇ

#1 āĻ¸ā§‡āĻ•āĻļāĻ¨āĻŋāĻ‚

āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻāĻŦāĻ‚ āĻ•ā§‡āĻ¨ āĻāĻŸāĻž āĻ¸āĻ‚āĻ—āĻ āĻŋāĻ¤ āĻŽā§‚āĻ˛ā§āĻ¯ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ—āĻ•ā§ƒāĻ¤ āĻŦāĻŋāĻ­āĻžāĻœāĻ¨ "āĻ¤āĻ¤ā§āĻ¤ā§āĻŦā§‡" āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻāĻ–āĻžāĻ¨ā§‡ āĻ†āĻŽāĻ°āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ•āĻŋāĻ›ā§ āĻĒāĻ¨ā§āĻĨāĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ—ā§‡āĻ° āĻ…āĻ¨ā§āĻļā§€āĻ˛āĻ¨ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ•āĻĨāĻž āĻŦāĻ˛āĻŦ āĻļāĻ¤ āĻļāĻ¤ PostgreSQL āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒāĻ°ā§āĻ¯āĻŦā§‡āĻ•ā§āĻˇāĻŖ āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻž.

"āĻŦāĻŋāĻ—āĻ¤ āĻĻāĻŋāĻ¨ā§‡āĻ° āĻœāĻŋāĻ¨āĻŋāĻ¸..."

āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ•āĻ­āĻžāĻŦā§‡, āĻ¯ā§‡āĻ•ā§‹āĻ¨ā§‹ MVP-āĻāĻ° āĻŽāĻ¤ā§‹, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒāĻŸāĻŋ āĻŽā§‹āĻŸāĻžāĻŽā§āĻŸāĻŋ āĻšāĻžāĻ˛āĻ•āĻž āĻ˛ā§‹āĻĄā§‡āĻ° āĻ…āĻ§ā§€āĻ¨ā§‡ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ - āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĻāĻļāĻŸāĻŋ āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒāĻ°ā§āĻ¯āĻŦā§‡āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛, āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŸā§‡āĻŦāĻŋāĻ˛ āĻ¤ā§āĻ˛āĻ¨āĻžāĻŽā§‚āĻ˛āĻ•āĻ­āĻžāĻŦā§‡ āĻ•āĻŽāĻĒā§āĻ¯āĻžāĻ•ā§āĻŸ āĻ›āĻŋāĻ˛... āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¸āĻŽāĻ¯āĻŧ āĻ¯āĻ¤ āĻ—āĻĄāĻŧāĻŋāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¤āĻ¤āĻ‡ āĻ¨āĻŋāĻ°ā§€āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻž āĻšā§‹āĻ¸ā§āĻŸā§‡āĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻ†āĻ°āĻ“ āĻŦā§‡āĻļāĻŋ āĻšāĻ¤ā§‡ āĻšāĻ˛ā§‡āĻ›ā§‡ , āĻāĻŦāĻ‚ āĻ†āĻŦāĻžāĻ° āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻœāĻ¨ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻŋāĻ›ā§ āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§‡āĻ›āĻŋ āĻŸā§‡āĻŦāĻŋāĻ˛ 1.5TB āĻ†āĻ•āĻžāĻ°ā§‡, āĻ†āĻŽāĻ°āĻž āĻŦā§āĻāĻ¤ā§‡ āĻĒā§‡āĻ°ā§‡āĻ›āĻŋāĻ˛āĻžāĻŽ āĻ¯ā§‡ āĻ¯āĻĻāĻŋāĻ“ āĻāĻ­āĻžāĻŦā§‡ āĻŦā§‡āĻāĻšā§‡ āĻĨāĻžāĻ•āĻž āĻ¸āĻŽā§āĻ­āĻŦ, āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ āĻ–ā§āĻŦ āĻ…āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻœāĻ¨āĻ• āĻ›āĻŋāĻ˛āĨ¤

āĻ¸āĻŽāĻ¯āĻŧāĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻŽāĻšāĻžāĻ•āĻžāĻŦā§āĻ¯ā§‡āĻ° āĻŽāĻ¤ā§‹ āĻ›āĻŋāĻ˛, PostgreSQL 9.x āĻāĻ° āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻĒā§āĻ°āĻžāĻ¸āĻ™ā§āĻ—āĻŋāĻ• āĻ›āĻŋāĻ˛, āĻ¤āĻžāĻ‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻžāĻ°ā§āĻŸāĻŋāĻļāĻ¨āĻŋāĻ‚ "āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛āĻŋ" āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ - āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¸āĻžāĻ°āĻŖā§€ āĻ‰āĻ¤ā§āĻ¤āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ° āĻāĻŦāĻ‚ āĻŸā§āĻ°āĻŋāĻ—āĻžāĻ° āĻ—āĻ¤āĻŋāĻļā§€āĻ˛ āĻ¸āĻ™ā§āĻ—ā§‡ āĻ°āĻžāĻ‰āĻŸāĻŋāĻ‚ EXECUTE.

āĻ†āĻŽāĻ°āĻž āĻ¸āĻžāĻŦāĻ˛āĻžāĻ‡āĻŸā§‡ PostgreSQL āĻ āĻ˛āĻŋāĻ–āĻŋ: 1 āĻšā§‹āĻ¸ā§āĻŸ, 1 āĻĻāĻŋāĻ¨, 1TBā§ˇ
āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨āĻŸāĻŋ āĻ¯āĻĨā§‡āĻˇā§āĻŸ āĻ¸āĻ°ā§āĻŦāĻœāĻ¨ā§€āĻ¨ āĻšāĻ¯āĻŧā§‡ āĻ‰āĻ ā§‡āĻ›ā§‡ āĻ¯ā§‡ āĻāĻŸāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡ āĻ…āĻ¨ā§āĻŦāĻžāĻĻ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡:

  • āĻāĻ•āĻŸāĻŋ āĻ–āĻžāĻ˛āĻŋ "āĻšā§‡āĻĄāĻžāĻ°" āĻĒā§āĻ¯āĻžāĻ°ā§‡āĻ¨ā§āĻŸ āĻŸā§‡āĻŦāĻŋāĻ˛ āĻ˜ā§‹āĻˇāĻŖāĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛, āĻ¯āĻž āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°ā§‡āĻ›ā§‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ¸ā§‚āĻšāĻ• āĻāĻŦāĻ‚ āĻŸā§āĻ°āĻŋāĻ—āĻžāĻ°.
  • āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻĻā§ƒāĻˇā§āĻŸāĻŋāĻ•ā§‹āĻŖ āĻĨā§‡āĻ•ā§‡ āĻ°ā§‡āĻ•āĻ°ā§āĻĄāĻŸāĻŋ "āĻ°ā§āĻŸ" āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ āĻāĻŦāĻ‚ āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖāĻ­āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ āĻ°āĻžāĻ‰āĻŸāĻŋāĻ‚ āĻŸā§āĻ°āĻŋāĻ—āĻžāĻ° BEFORE INSERT āĻ°ā§‡āĻ•āĻ°ā§āĻĄāĻŸāĻŋ "āĻļāĻžāĻ°ā§€āĻ°āĻŋāĻ•āĻ­āĻžāĻŦā§‡" āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻŦāĻŋāĻ­āĻžāĻ—ā§‡ āĻĸā§‹āĻ•āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤ āĻ¯āĻĻāĻŋ āĻāĻ–āĻ¨āĻ“ āĻāĻŽāĻ¨ āĻ•āĻŋāĻ›ā§ āĻ¨āĻž āĻ›āĻŋāĻ˛, āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ¯āĻ¤āĻŋāĻ•ā§āĻ°āĻŽ āĻ§āĻ°āĻ˛āĻžāĻŽ āĻāĻŦāĻ‚...
  • â€Ļ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ CREATE TABLE ... (LIKE ... INCLUDING ...) āĻĒā§āĻ¯āĻžāĻ°ā§‡āĻ¨ā§āĻŸ āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡āĻ° āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸā§‡āĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ āĻĒāĻ›āĻ¨ā§āĻĻāĻ¸āĻ‡ āĻ¤āĻžāĻ°āĻŋāĻ–ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸ā§€āĻŽāĻžāĻŦāĻĻā§āĻ§āĻ¤āĻž āĻ¸āĻš āĻŦāĻŋāĻ­āĻžāĻ—āĻ¯āĻžāĻ¤ā§‡ āĻ¯āĻ–āĻ¨ āĻĄā§‡āĻŸāĻž āĻĒā§āĻ¨āĻ°ā§āĻĻā§āĻ§āĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻ–āĻ¨ āĻ•ā§‡āĻŦāĻ˛ āĻāĻŸāĻŋāĻ¤ā§‡ āĻĒāĻĄāĻŧāĻž āĻšāĻ¯āĻŧāĨ¤

PG10: āĻĒā§āĻ°āĻĨāĻŽ āĻĒā§āĻ°āĻšā§‡āĻˇā§āĻŸāĻž

āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ‰āĻ¤ā§āĻ¤āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ°ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻŦāĻŋāĻ­āĻžāĻœāĻ¨ āĻāĻ¤āĻŋāĻšāĻžāĻ¸āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ˛ā§‡āĻ–āĻžāĻ° āĻĒā§āĻ°āĻŦāĻžāĻš āĻŦāĻž āĻŦāĻŋāĻĒā§āĻ˛ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻ• āĻšāĻžāĻ‡āĻ˛ā§āĻĄ āĻĒāĻžāĻ°ā§āĻŸāĻŋāĻļāĻ¨ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻŽā§‹āĻ•āĻžāĻŦāĻŋāĻ˛āĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻĒāĻ¯ā§āĻ•ā§āĻ¤ āĻ¨āĻ¯āĻŧāĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ†āĻĒāĻ¨āĻŋ āĻŽāĻ¨ā§‡ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻ¯ā§‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻŦāĻŋāĻ­āĻžāĻ— āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ…ā§āĻ¯āĻžāĻ˛āĻ—āĻ°āĻŋāĻĻāĻŽ āĻ›āĻŋāĻ˛ āĻĻā§āĻŦāĻŋāĻ˜āĻžāĻ¤ āĻœāĻŸāĻŋāĻ˛āĻ¤āĻž, āĻ¯ā§‡ āĻāĻŸāĻŋ 100+ āĻŦāĻŋāĻ­āĻžāĻ—ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻœā§‡āĻ‡ āĻŦā§āĻāĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‡āĻ¨ āĻ•āĻŋāĻ­āĻžāĻŦā§‡...

PG10-āĻ āĻāĻ‡ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻŦā§āĻ¯āĻžāĻĒāĻ•āĻ­āĻžāĻŦā§‡ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ•āĻ°ā§‡ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ āĻ¨ā§‡āĻŸāĻŋāĻ­ āĻĒāĻžāĻ°ā§āĻŸāĻŋāĻļāĻ¨āĻŋāĻ‚. āĻ…āĻ¤āĻāĻŦ, āĻ†āĻŽāĻ°āĻž āĻ¸āĻžā§āĻšāĻ¯āĻŧāĻ¸ā§āĻĨāĻžāĻ¨ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻžāĻĨā§‡āĻ‡ āĻāĻŸāĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§‡āĻ›āĻŋ, āĻ•āĻŋāĻ¨ā§āĻ¤ā§...

āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛āĻŸāĻŋ āĻ–āĻ¨āĻ¨ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡ āĻāĻŸāĻŋ āĻĒāĻ°āĻŋāĻŖāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻāĻ‡ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖā§‡ āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻŦāĻŋāĻ­āĻžāĻœāĻŋāĻ¤ āĻŸā§‡āĻŦāĻŋāĻ˛āĻŸāĻŋ āĻšāĻ˛:

  • āĻ¸ā§‚āĻšāĻ• āĻŦāĻŋāĻŦāĻ°āĻŖ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°ā§‡ āĻ¨āĻž
  • āĻāĻŸāĻŋāĻ¤ā§‡ āĻŸā§āĻ°āĻŋāĻ—āĻžāĻ° āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°ā§‡ āĻ¨āĻž
  • āĻ•āĻžāĻ°ā§‹ "āĻŦāĻ‚āĻļ" āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¨āĻž
  • āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°āĻŦā§‡āĻ¨ āĻ¨āĻž INSERT ... ON CONFLICT
  • āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻ­āĻžāĻ— āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¨āĻž

āĻāĻ•āĻŸāĻŋ āĻ°ā§‡āĻ• āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ•āĻĒāĻžāĻ˛ā§‡ āĻāĻ•āĻŸāĻŋ āĻŦā§‡āĻĻāĻ¨āĻžāĻĻāĻžāĻ¯āĻŧāĻ• āĻ˜āĻž āĻĒā§‡āĻ¯āĻŧā§‡, āĻ†āĻŽāĻ°āĻž āĻŦā§āĻāĻ¤ā§‡ āĻĒā§‡āĻ°ā§‡āĻ›āĻŋāĻ˛āĻžāĻŽ āĻ¯ā§‡ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻŸāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ¨āĻž āĻ•āĻ°ā§‡ āĻāĻŸāĻŋ āĻ•āĻ°āĻž āĻ…āĻ¸āĻŽā§āĻ­āĻŦ āĻāĻŦāĻ‚ āĻ›āĻ¯āĻŧ āĻŽāĻžāĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻ°āĻ“ āĻ—āĻŦā§‡āĻˇāĻŖāĻž āĻ¸ā§āĻĨāĻ—āĻŋāĻ¤ āĻ•āĻ°ā§‡ āĻĻāĻŋāĻ¯āĻŧā§‡āĻ›āĻŋāĨ¤

PG10: āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻ¸ā§āĻ¯ā§‹āĻ—

āĻ¸ā§āĻ¤āĻ°āĻžāĻ‚, āĻ†āĻŽāĻ°āĻž āĻāĻ•ā§‡ āĻāĻ•ā§‡ āĻ‰āĻĻā§āĻ­ā§‚āĻ¤ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ—ā§āĻ˛āĻŋ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°ā§‡āĻ›āĻŋ:

  1. āĻ•āĻžāĻ°āĻŖ āĻŸā§āĻ°āĻŋāĻ—āĻžāĻ° āĻāĻŦāĻ‚ ON CONFLICT āĻ†āĻŽāĻ°āĻž āĻ–ā§āĻāĻœā§‡ āĻĒā§‡āĻ¯āĻŧā§‡āĻ›āĻŋ āĻ¯ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻ–āĻ¨āĻ“ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻāĻ–āĻžāĻ¨ā§‡ āĻāĻŦāĻ‚ āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡ āĻĻāĻ°āĻ•āĻžāĻ°, āĻ¤āĻžāĻ‡ āĻ†āĻŽāĻ°āĻž āĻ¤āĻžāĻĻā§‡āĻ° āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻŽāĻ§ā§āĻ¯āĻŦāĻ°ā§āĻ¤ā§€ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡āĻ›āĻŋ āĻĒā§āĻ°āĻ•ā§āĻ¸āĻŋ āĻŸā§‡āĻŦāĻŋāĻ˛.
  2. "āĻ°āĻžāĻ‰āĻŸāĻŋāĻ‚" āĻĨā§‡āĻ•ā§‡ āĻĒāĻ°āĻŋāĻ¤ā§āĻ°āĻžāĻŖ āĻĒā§‡āĻ¯āĻŧā§‡āĻ›ā§‡āĻ¨ āĻŸā§āĻ°āĻŋāĻ—āĻžāĻ°ā§‡ - āĻ…āĻ°ā§āĻĨāĻžā§Ž, āĻĨā§‡āĻ•ā§‡ EXECUTE.
  3. āĻ¤āĻžāĻ°āĻž āĻ†āĻ˛āĻžāĻĻāĻžāĻ­āĻžāĻŦā§‡ āĻāĻŸāĻŋ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ—ā§‡āĻ›ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸ā§‚āĻšā§€ āĻ¸āĻš āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ āĻŸā§‡āĻŦāĻŋāĻ˛āĻ¯āĻžāĻ¤ā§‡ āĻ¤āĻžāĻ°āĻž āĻĒā§āĻ°āĻ•ā§āĻ¸āĻŋ āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡āĻ“ āĻ‰āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻ¨āĻž āĻĨāĻžāĻ•ā§‡āĨ¤

āĻ†āĻŽāĻ°āĻž āĻ¸āĻžāĻŦāĻ˛āĻžāĻ‡āĻŸā§‡ PostgreSQL āĻ āĻ˛āĻŋāĻ–āĻŋ: 1 āĻšā§‹āĻ¸ā§āĻŸ, 1 āĻĻāĻŋāĻ¨, 1TBā§ˇ
āĻ…āĻŦāĻļā§‡āĻˇā§‡, āĻāĻ¤ āĻ•āĻŋāĻ›ā§āĻ° āĻĒāĻ°ā§‡, āĻ†āĻŽāĻ°āĻž āĻŽā§‚āĻ˛ āĻŸā§‡āĻŦāĻŋāĻ˛āĻŸāĻŋ āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻŦāĻŋāĻ­āĻžāĻœāĻ¨ āĻ•āĻ°ā§‡āĻ›āĻŋāĨ¤ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻŦāĻŋāĻ­āĻžāĻ— āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻāĻ–āĻ¨āĻ“ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ā§‡āĻ° āĻŦāĻŋāĻŦā§‡āĻ•ā§‡āĻ° āĻ•āĻžāĻ›ā§‡ āĻŦāĻžāĻ•āĻŋāĨ¤

"āĻ¸āĻ¯āĻŧāĻŋāĻ‚" āĻ…āĻ­āĻŋāĻ§āĻžāĻ¨

āĻ¯ā§‡ āĻ•ā§‹āĻ¨ā§‹ āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻŖāĻžāĻ¤ā§āĻŽāĻ• āĻŦā§āĻ¯āĻŦāĻ¸ā§āĻĨāĻžāĻ° āĻŽāĻ¤ā§‹, āĻ†āĻŽāĻžāĻĻā§‡āĻ°āĻ“ āĻ›āĻŋāĻ˛ "āĻ¤āĻĨā§āĻ¯" āĻāĻŦāĻ‚ "āĻ•āĻžāĻŸ" (āĻ…āĻ­āĻŋāĻ§āĻžāĻ¨)āĨ¤ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻāĻ‡ āĻ•ā§āĻˇāĻŽāĻ¤āĻžāĻ¤ā§‡ āĻ¤āĻžāĻ°āĻž āĻ…āĻ­āĻŋāĻ¨āĻ¯āĻŧ āĻ•āĻ°ā§‡āĻ›ā§‡, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ āĻļāĻ°ā§€āĻ° āĻ…āĻ¨ā§āĻ°ā§‚āĻĒ āĻ§ā§€āĻ°āĻ—āĻ¤āĻŋāĻ° āĻĒā§āĻ°āĻļā§āĻ¨ āĻŦāĻž āĻ•ā§āĻ¯ā§‹āĻ¯āĻŧāĻžāĻ°ā§€ āĻ¨āĻŋāĻœā§‡āĻ‡ āĻĒāĻžāĻ ā§āĻ¯.

"āĻ¤āĻĨā§āĻ¯āĻ—ā§āĻ˛āĻŋ" āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ āĻĻā§€āĻ°ā§āĻ˜āĻĻāĻŋāĻ¨ āĻ§āĻ°ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻĻāĻŋāĻ¨ āĻŦāĻŋāĻ­āĻžāĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛, āĻ¤āĻžāĻ‡ āĻ†āĻŽāĻ°āĻž āĻļāĻžāĻ¨ā§āĻ¤āĻ­āĻžāĻŦā§‡ āĻĒā§āĻ°āĻžāĻ¨ā§‹ āĻŦāĻŋāĻ­āĻžāĻ—āĻ—ā§āĻ˛āĻŋ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛ā§‡āĻ›āĻŋ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻŦāĻŋāĻ°āĻ•ā§āĻ¤ āĻ•āĻ°ā§‡āĻ¨āĻŋ (āĻ˛āĻ—!) āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ…āĻ­āĻŋāĻ§āĻžāĻ¨ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ›āĻŋāĻ˛...

āĻ¤āĻžāĻĻā§‡āĻ° āĻ…āĻ¨ā§‡āĻ• āĻ›āĻŋāĻ˛ āĻ¯ā§‡ āĻŦāĻ˛āĻ¤ā§‡ āĻ¨āĻž, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻ¨ā§āĻŽāĻžāĻ¨āĻŋāĻ• 100TB "āĻ¤āĻĨā§āĻ¯" āĻāĻ° āĻĢāĻ˛ā§‡ āĻāĻ•āĻŸāĻŋ 2.5TB āĻ…āĻ­āĻŋāĻ§āĻžāĻ¨ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ā§ˇ. āĻ†āĻĒāĻ¨āĻŋ āĻāĻ‡ āĻœāĻžāĻ¤ā§€āĻ¯āĻŧ āĻŸā§‡āĻŦāĻŋāĻ˛ āĻĨā§‡āĻ•ā§‡ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻŽāĻ¤ āĻ•āĻŋāĻ›ā§ āĻŽā§āĻ›āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‡āĻ¨ āĻ¨āĻž, āĻ†āĻĒāĻ¨āĻŋ āĻĒāĻ°ā§āĻ¯āĻžāĻĒā§āĻ¤ āĻ¸āĻŽāĻ¯āĻŧā§‡ āĻāĻŸāĻŋ āĻ¸āĻ‚āĻ•ā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‡āĻ¨ āĻ¨āĻž āĻāĻŦāĻ‚ āĻāĻŸāĻŋāĻ¤ā§‡ āĻ˛ā§‡āĻ–āĻž āĻ§ā§€āĻ°ā§‡ āĻ§ā§€āĻ°ā§‡ āĻ§ā§€āĻ° āĻšāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ¯āĻŧāĨ¤

āĻāĻ•āĻŸāĻŋ āĻ…āĻ­āĻŋāĻ§āĻžāĻ¨ā§‡āĻ° āĻŽāĻ¤ā§‹... āĻāĻ¤ā§‡, āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻāĻ¨ā§āĻŸā§āĻ°āĻŋ āĻ āĻŋāĻ• āĻāĻ•āĻŦāĻžāĻ° āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤... āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻ¸āĻ āĻŋāĻ•, āĻ•āĻŋāĻ¨ā§āĻ¤ā§!... āĻ•ā§‡āĻ‰ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĨāĻžāĻ•āĻ¤ā§‡ āĻŦāĻžāĻ§āĻž āĻĻāĻŋāĻšā§āĻ›ā§‡ āĻ¨āĻž āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĻāĻŋāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻĒā§ƒāĻĨāĻ• āĻ…āĻ­āĻŋāĻ§āĻžāĻ¨! āĻšā§āĻ¯āĻžāĻ, āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ…āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧāĻ¤āĻž āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ†āĻ¸ā§‡, āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧ:

  • āĻĻā§āĻ°ā§āĻ¤ āĻ˛āĻŋāĻ–ā§āĻ¨/āĻĒāĻĄāĻŧā§āĻ¨ āĻ›ā§‹āĻŸ āĻ…āĻ‚āĻļā§‡āĻ° āĻ†āĻ•āĻžāĻ°ā§‡āĻ° āĻ•āĻžāĻ°āĻŖā§‡
  • āĻ•āĻŽ āĻŽā§‡āĻŽāĻ°āĻŋ āĻ–āĻ°āĻš āĻ†āĻ°āĻ“ āĻ•āĻŽāĻĒā§āĻ¯āĻžāĻ•ā§āĻŸ āĻ¸ā§‚āĻšāĻ•ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡
  • āĻ•āĻŽ āĻĄā§‡āĻŸāĻž āĻ¸āĻžā§āĻšāĻ¯āĻŧ āĻ•āĻ°ā§āĻ¨ āĻĻā§āĻ°ā§āĻ¤ āĻĒā§āĻ°āĻžāĻ¨ā§‹ āĻ…āĻĒāĻ¸āĻžāĻ°āĻŖ āĻ•ā§āĻˇāĻŽāĻ¤āĻžāĻ° āĻ•āĻžāĻ°āĻŖā§‡

āĻĒā§āĻ°ā§‹ āĻœāĻŸāĻŋāĻ˛ āĻŦā§āĻ¯āĻŦāĻ¸ā§āĻĨāĻžāĻ° āĻĢāĻ˛ā§‡ CPU āĻ˛ā§‹āĻĄ ~30%, āĻĄāĻŋāĻ¸ā§āĻ• āĻ˛ā§‹āĻĄ ~50% āĻ•āĻŽā§‡āĻ›ā§‡:

āĻ†āĻŽāĻ°āĻž āĻ¸āĻžāĻŦāĻ˛āĻžāĻ‡āĻŸā§‡ PostgreSQL āĻ āĻ˛āĻŋāĻ–āĻŋ: 1 āĻšā§‹āĻ¸ā§āĻŸ, 1 āĻĻāĻŋāĻ¨, 1TBā§ˇ
āĻāĻ•āĻ‡ āĻ¸āĻŽāĻ¯āĻŧā§‡, āĻ†āĻŽāĻ°āĻž āĻ•āĻŽ āĻ˛ā§‹āĻĄ āĻ¸āĻš āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡ āĻ āĻŋāĻ• āĻāĻ•āĻ‡ āĻœāĻŋāĻ¨āĻŋāĻ¸ āĻ˛āĻŋāĻ–āĻ¤ā§‡ āĻĨāĻžāĻ•āĻŋāĨ¤

#2 āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻŦāĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻŦāĻ‚ āĻ°āĻŋāĻĢā§āĻ¯āĻžāĻ•ā§āĻŸāĻ°āĻŋāĻ‚

āĻ¤āĻžāĻ‡ āĻ†āĻŽāĻ°āĻž āĻ¯āĻž āĻ†āĻ›ā§‡ āĻ¤āĻž āĻ¸ā§āĻĨāĻŋāĻ° āĻ•āĻ°ā§‡āĻ›āĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĻāĻŋāĻ¨ā§‡āĻ° āĻ¨āĻŋāĻœāĻ¸ā§āĻŦ āĻŦāĻŋāĻ­āĻžāĻ— āĻ†āĻ›ā§‡ āĻ¤āĻĨā§āĻ¯ āĻ¸āĻšāĨ¤ āĻ†āĻ¸āĻ˛ā§‡, CHECK (dt = '2018-10-12'::date) — āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻ­āĻžāĻœāĻ¨ āĻ•ā§€ āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻŦāĻŋāĻ­āĻžāĻ—ā§‡ āĻĒāĻĄāĻŧāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻļāĻ°ā§āĻ¤ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻžāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ°āĻŋāĻĒā§‹āĻ°ā§āĻŸ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ¤āĻžāĻ°āĻŋāĻ–ā§‡āĻ° āĻĒā§āĻ°ā§‡āĻ•ā§āĻˇāĻžāĻĒāĻŸā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¤āĻžāĻ‡ "āĻ…-āĻŦāĻŋāĻ­āĻžāĻœāĻ¨ āĻ¸āĻŽāĻ¯āĻŧ" āĻĨā§‡āĻ•ā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸ā§‚āĻšā§€āĻ—ā§āĻ˛āĻŋ āĻ¸āĻŦ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ (āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°, āĻ¤āĻžāĻ°āĻŋāĻ–, āĻĒāĻ°āĻŋāĻ•āĻ˛ā§āĻĒāĻ¨āĻž āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ), (āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°, āĻ¤āĻžāĻ°āĻŋāĻ–, āĻĒā§āĻ˛ā§āĻ¯āĻžāĻ¨ āĻ¨ā§‹āĻĄ), (āĻ¤āĻžāĻ°āĻŋāĻ–, āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻļā§āĻ°ā§‡āĻŖā§€, āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°)...

āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ–āĻ¨ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻŦāĻŋāĻ­āĻžāĻ—ā§‡āĻ‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻŦāĻ¸āĻŦāĻžāĻ¸ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ•āĻĒāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ…āĻ¨ā§āĻ°ā§‚āĻĒ āĻ¸ā§‚āĻšāĻ•... āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻŦāĻŋāĻ­āĻžāĻ—ā§‡ āĻ¤āĻžāĻ°āĻŋāĻ– āĻāĻ•āĻŸāĻŋ āĻ§ā§āĻ°ā§āĻŦāĻ•... āĻĻā§‡āĻ–āĻž āĻ¯āĻžāĻšā§āĻ›ā§‡ āĻ¯ā§‡ āĻāĻ–āĻ¨ āĻ†āĻŽāĻ°āĻž āĻāĻ‡ āĻœāĻžāĻ¤ā§€āĻ¯āĻŧ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ¸ā§‚āĻšāĻ•ā§‡ āĻ†āĻ›āĻŋ āĻļā§āĻ§ā§ āĻāĻ•āĻŸāĻŋ āĻ§ā§āĻ°ā§āĻŦāĻ• āĻ˛āĻŋāĻ–ā§āĻ¨ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°āĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻšāĻŋāĻ¸āĻžāĻŦā§‡, āĻ¯āĻž āĻāĻ° āĻ­āĻ˛āĻŋāĻ‰āĻŽ āĻāĻŦāĻ‚ āĻāĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ‰āĻ­āĻ¯āĻŧāĻ‡ āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻ•āĻ°ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ•ā§‹āĻ¨ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻ†āĻ¨ā§‡ āĻ¨āĻžāĨ¤ āĻ¤āĻžāĻ°āĻž āĻ¨āĻŋāĻœā§‡āĻ° āĻ•āĻžāĻ›ā§‡ āĻ°ā§‡āĻ• āĻ°ā§‡āĻ–ā§‡ āĻ—ā§‡āĻ˛, āĻ‰āĻĢ...

āĻ†āĻŽāĻ°āĻž āĻ¸āĻžāĻŦāĻ˛āĻžāĻ‡āĻŸā§‡ PostgreSQL āĻ āĻ˛āĻŋāĻ–āĻŋ: 1 āĻšā§‹āĻ¸ā§āĻŸ, 1 āĻĻāĻŋāĻ¨, 1TBā§ˇ
āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœā§‡āĻļāĻžāĻ¨ā§‡āĻ° āĻĻāĻŋāĻ•āĻŸāĻŋ āĻ¸ā§āĻ¸ā§āĻĒāĻˇā§āĻŸ - āĻ¸āĻšāĻœ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸ā§‚āĻšā§€ āĻĨā§‡āĻ•ā§‡ āĻ¤āĻžāĻ°āĻŋāĻ– āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ° āĻ¸āĻ°āĻžāĻ¨ āĻŦāĻŋāĻ­āĻžāĻœāĻŋāĻ¤ āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡āĨ¤ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ­āĻ˛āĻŋāĻ‰āĻŽ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž, āĻ˛āĻžāĻ­ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ 1TB/āĻ¸āĻĒā§āĻ¤āĻžāĻš!

āĻāĻ–āĻ¨ āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻŦā§‡āĻ¨ āĻ¯ā§‡ āĻāĻ‡ āĻŸā§‡āĻ°āĻžāĻŦāĻžāĻ‡āĻŸāĻŸāĻŋ āĻāĻ–āĻ¨āĻ“ āĻ•ā§‹āĻ¨āĻ“āĻ­āĻžāĻŦā§‡ āĻ°ā§‡āĻ•āĻ°ā§āĻĄ āĻ•āĻ°āĻž āĻ›āĻŋāĻ˛āĨ¤ āĻ…āĻ°ā§āĻĨāĻžā§Ž āĻ†āĻŽāĻ°āĻžāĻ“ āĻĄāĻŋāĻ¸ā§āĻ• āĻāĻ–āĻ¨ āĻ•āĻŽ āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤! āĻāĻ‡ āĻ›āĻŦāĻŋāĻŸāĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ°āĻ­āĻžāĻŦā§‡ āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ° āĻĨā§‡āĻ•ā§‡ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻĒā§āĻ°āĻ­āĻžāĻŦ āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ, āĻ¯āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻŽāĻ°āĻž āĻāĻ• āĻ¸āĻĒā§āĻ¤āĻžāĻš āĻ‰āĻ¤ā§āĻ¸āĻ°ā§āĻ— āĻ•āĻ°ā§‡āĻ›āĻŋ:

āĻ†āĻŽāĻ°āĻž āĻ¸āĻžāĻŦāĻ˛āĻžāĻ‡āĻŸā§‡ PostgreSQL āĻ āĻ˛āĻŋāĻ–āĻŋ: 1 āĻšā§‹āĻ¸ā§āĻŸ, 1 āĻĻāĻŋāĻ¨, 1TBā§ˇ

#3āĨ¤ āĻĒāĻŋāĻ• āĻ˛ā§‹āĻĄ "āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŖ"

āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻŦāĻĄāĻŧ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻšāĻ˛ āĻ…āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ‡āĻœā§‡āĻļāĻ¨ āĻ•āĻŋāĻ›ā§ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ āĻ¯āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ¨ā§‡āĻ‡āĨ¤ āĻ•āĻ–āĻ¨āĻ“ āĻ•āĻ–āĻ¨āĻ“ "āĻ•āĻžāĻ°āĻŖ āĻ¤āĻžāĻ°āĻž āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ•āĻ°ā§‡āĻ¨āĻŋ", āĻ•āĻ–āĻ¨āĻ“ āĻ•āĻ–āĻ¨āĻ“ "āĻāĻŸāĻŋ āĻ¸āĻšāĻœ āĻ›āĻŋāĻ˛", āĻ¤āĻŦā§‡ āĻļā§€āĻ˜ā§āĻ° āĻŦāĻž āĻĒāĻ°ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻāĻŸāĻŋ āĻĨā§‡āĻ•ā§‡ āĻŽā§āĻ•ā§āĻ¤āĻŋ āĻĒā§‡āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤

āĻ†āĻ—ā§‡āĻ° āĻ›āĻŦāĻŋ āĻœā§āĻŽ āĻ‡āĻ¨ āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻĻā§‡āĻ–ā§āĻ¨ āĻ¯ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻĄāĻŋāĻ¸ā§āĻ• āĻ†āĻ›ā§‡ āĻĄāĻŦāĻ˛ āĻĒā§āĻ°āĻļāĻ¸ā§āĻ¤āĻ¤āĻž āĻ¸āĻ™ā§āĻ—ā§‡ āĻ˛ā§‹āĻĄ āĻ…āĻ§ā§€āĻ¨ā§‡ "āĻĒāĻžāĻŽā§āĻĒ" āĻ¸āĻ‚āĻ˛āĻ—ā§āĻ¨ āĻ¨āĻŽā§āĻ¨āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡, āĻ¯āĻž āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ­āĻžāĻŦā§‡ "āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨āĻ—āĻ¤āĻ­āĻžāĻŦā§‡" āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻ• āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ˜āĻŸāĻŦā§‡ āĻ¨āĻž:

āĻ†āĻŽāĻ°āĻž āĻ¸āĻžāĻŦāĻ˛āĻžāĻ‡āĻŸā§‡ PostgreSQL āĻ āĻ˛āĻŋāĻ–āĻŋ: 1 āĻšā§‹āĻ¸ā§āĻŸ, 1 āĻĻāĻŋāĻ¨, 1TBā§ˇ

āĻāĻ‡ āĻ…āĻ°ā§āĻœāĻ¨ āĻ•āĻ°āĻž āĻŦā§‡āĻļ āĻ¸āĻšāĻœ. āĻ†āĻŽāĻ°āĻž āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ āĻŽāĻ¨āĻŋāĻŸāĻ°āĻŋāĻ‚ āĻļā§āĻ°ā§ āĻ•āĻ°ā§‡āĻ›āĻŋ āĻĒā§āĻ°āĻžāĻ¯āĻŧ 1000 āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°, āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻĒā§ƒāĻĨāĻ• āĻ˛āĻœāĻŋāĻ•ā§āĻ¯āĻžāĻ˛ āĻĨā§āĻ°ā§‡āĻĄ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĨā§āĻ°ā§‡āĻĄ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻĢā§āĻ°āĻŋāĻ•ā§‹āĻ¯āĻŧā§‡āĻ¨ā§āĻ¸āĻŋāĻ¤ā§‡ āĻĄā§‡āĻŸāĻžāĻŦā§‡āĻ¸ā§‡ āĻĒāĻžāĻ āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻœāĻŽāĻž āĻšāĻ“āĻ¯āĻŧāĻž āĻ¤āĻĨā§āĻ¯ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§‡, āĻāĻ‡āĻ°āĻ•āĻŽ āĻ•āĻŋāĻ›ā§:

setInterval(sendToDB, interval)

āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻāĻ–āĻžāĻ¨ā§‡ āĻ…āĻŦāĻŋāĻ•āĻ˛ āĻ¯ā§‡ āĻŽāĻŋāĻĨā§āĻ¯āĻž āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĨā§āĻ°ā§‡āĻĄ āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻāĻ•āĻ‡ āĻ¸āĻŽāĻ¯āĻŧā§‡ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻ‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻĒāĻžāĻ āĻžāĻ¨ā§‹āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻ¸āĻŦāĻ¸āĻŽāĻ¯āĻŧ "āĻŦāĻŋāĻ¨ā§āĻĻā§āĻ¤ā§‡" āĻŽāĻŋāĻ˛ā§‡ āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻ‰āĻĢ #2...

āĻ­āĻžāĻ—ā§āĻ¯āĻ•ā§āĻ°āĻŽā§‡, āĻāĻŸāĻŋ āĻ āĻŋāĻ• āĻ•āĻ°āĻž āĻŦā§‡āĻļ āĻ¸āĻšāĻœ, āĻāĻ•āĻŸāĻŋ "āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹" āĻ°āĻžāĻ¨-āĻ†āĻĒ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡ āĻ¸āĻŽāĻ¯āĻŧ āĻĻā§āĻŦāĻžāĻ°āĻž:

setInterval(sendToDB, interval * (1 + 0.1 * (Math.random() - 0.5)))

#4āĨ¤ āĻ†āĻŽāĻ°āĻž āĻ¯āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ¤āĻž āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻ•āĻ°āĻŋ

āĻ¤ā§ƒāĻ¤ā§€āĻ¯āĻŧ āĻĒā§āĻ°āĻĨāĻžāĻ—āĻ¤ āĻšāĻžāĻ‡āĻ˛ā§‹āĻĄ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ•ā§‹āĻ¨ āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ¤āĻŋāĻ¨āĻŋ āĻĒāĻžāĻ°ā§‡ āĻšāĻ¤ā§‡āĨ¤

āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ˛ā§āĻ¯āĻžāĻ¨ āĻ¨ā§‹āĻĄāĻ—ā§āĻ˛āĻŋāĻ° āĻĒāĻ°āĻŋāĻĒā§āĻ°ā§‡āĻ•ā§āĻˇāĻŋāĻ¤ā§‡ āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻŖ āĻ•āĻ°āĻž āĻ¸āĻŽā§āĻ­āĻŦ āĻ•āĻ°ā§‡āĻ›āĻŋ (āĻāĻ‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ Seq Scan on users), āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ…āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§‡ āĻŽāĻ¨ā§‡ āĻ•āĻ°ā§āĻ¨ āĻ¯ā§‡ āĻ¤āĻžāĻ°āĻž āĻŦā§‡āĻļāĻŋāĻ°āĻ­āĻžāĻ— āĻ…āĻ‚āĻļā§‡ āĻāĻ•āĻ‡ - āĻ¤āĻžāĻ°āĻž āĻ­ā§āĻ˛ā§‡ āĻ—ā§‡āĻ›ā§‡āĨ¤

āĻ¨āĻž, āĻ…āĻŦāĻļā§āĻ¯āĻ‡, āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡ āĻ†āĻŦāĻžāĻ° āĻ•āĻŋāĻ›ā§āĻ‡ āĻ˛ā§‡āĻ–āĻž āĻšāĻ¯āĻŧ āĻ¨āĻž, āĻāĻŸāĻŋ āĻŸā§āĻ°āĻŋāĻ—āĻžāĻ°āĻŸāĻŋ āĻ•ā§‡āĻŸā§‡ āĻĻā§‡āĻ¯āĻŧ INSERT ... ON CONFLICT DO NOTHING. āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ‡ āĻĄā§‡āĻŸāĻž āĻāĻ–āĻ¨āĻ“ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡ āĻĒā§ŒāĻāĻ›āĻžāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻ…āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻĻā§āĻŦāĻ¨ā§āĻĻā§āĻŦ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒāĻĄāĻŧāĻž āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡. āĻ‰āĻĢ #3...

āĻ•ā§āĻ¯āĻžāĻļāĻŋāĻ‚ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻžāĻ° āĻ†āĻ—ā§‡/āĻĒāĻ°ā§‡ āĻĄā§‡āĻŸāĻžāĻŦā§‡āĻ¸ā§‡ āĻĒāĻžāĻ āĻžāĻ¨ā§‹ āĻ°ā§‡āĻ•āĻ°ā§āĻĄā§‡āĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ° āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āĻ¯ āĻ¸ā§āĻĒāĻˇā§āĻŸ:

āĻ†āĻŽāĻ°āĻž āĻ¸āĻžāĻŦāĻ˛āĻžāĻ‡āĻŸā§‡ PostgreSQL āĻ āĻ˛āĻŋāĻ–āĻŋ: 1 āĻšā§‹āĻ¸ā§āĻŸ, 1 āĻĻāĻŋāĻ¨, 1TBā§ˇ

āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœ āĻ˛ā§‹āĻĄā§‡āĻ° āĻ¸āĻšāĻ—āĻžāĻŽā§€ āĻĄā§āĻ°āĻĒ:

āĻ†āĻŽāĻ°āĻž āĻ¸āĻžāĻŦāĻ˛āĻžāĻ‡āĻŸā§‡ PostgreSQL āĻ āĻ˛āĻŋāĻ–āĻŋ: 1 āĻšā§‹āĻ¸ā§āĻŸ, 1 āĻĻāĻŋāĻ¨, 1TBā§ˇ

āĻŽā§‹āĻŸā§‡

"āĻŸā§‡āĻ°āĻžāĻŦāĻžāĻ‡āĻŸ-āĻĒā§āĻ°āĻ¤āĻŋ-āĻĻāĻŋāĻ¨" āĻļā§āĻ§ā§ āĻ­āĻ¯āĻŧāĻ™ā§āĻ•āĻ° āĻļā§‹āĻ¨āĻžāĻšā§āĻ›ā§‡āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ āĻŋāĻ•āĻ āĻžāĻ• āĻ•āĻ°ā§‡āĻ¨ āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ āĻ āĻŋāĻ• 2^40 āĻŦāĻžāĻ‡āĻŸ / 86400 āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ = ~12.5MB/sāĻ¯ā§‡ āĻāĻŽāĻ¨āĻ•āĻŋ āĻĄā§‡āĻ¸ā§āĻ•āĻŸāĻĒ IDE āĻ¸ā§āĻ•ā§āĻ°ā§ āĻ°āĻžāĻ–āĻž. 🙂

āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦ āĻ¸āĻšāĻ•āĻžāĻ°ā§‡, āĻāĻŽāĻ¨āĻ•āĻŋ āĻĻāĻŋāĻ¨ā§‡āĻ° āĻŦā§‡āĻ˛āĻžāĻ¯āĻŧ āĻ˛ā§‹āĻĄā§‡āĻ° āĻĻāĻļāĻ—ā§āĻŖ "āĻ¤āĻŋāĻ°ā§āĻ¯āĻ•" āĻ¸āĻš, āĻ†āĻĒāĻ¨āĻŋ āĻ¸āĻšāĻœā§‡āĻ‡ āĻ†āĻ§ā§āĻ¨āĻŋāĻ• āĻāĻ¸āĻāĻ¸āĻĄāĻŋāĻ—ā§āĻ˛āĻŋāĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻžāĻ—ā§āĻ˛āĻŋ āĻĒā§‚āĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤

āĻ†āĻŽāĻ°āĻž āĻ¸āĻžāĻŦāĻ˛āĻžāĻ‡āĻŸā§‡ PostgreSQL āĻ āĻ˛āĻŋāĻ–āĻŋ: 1 āĻšā§‹āĻ¸ā§āĻŸ, 1 āĻĻāĻŋāĻ¨, 1TBā§ˇ

āĻ‰āĻ¤ā§āĻ¸: www.habr.com

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨