⧍⧭ āĻĄāĻŋāϏ⧇, ⧍ā§Ļ⧍ā§Ģ¡8 āĻŽāĻŋāύāĻŋāϟ āĻĒāĻĄāĻŧāϤ⧇

āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚ā§Ÿā§‡āϰ āϜāĻ¨ā§āϝ PostgreSQL āϰāĻŋāĻĄ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻž: āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄāϗ⧁āϞ⧋āϕ⧇ āĻĻā§āϰ⧁āϤ āϰāĻžāϖ⧁āύ

āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚ā§Ÿā§‡āϰ āϜāĻ¨ā§āϝ PostgreSQL āϰāĻŋāĻĄ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻž āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄāϗ⧁āϞ⧋ āĻĻā§āϰ⧁āϤ āϰāĻžāϖ⧁āύ āĻāĻŦāĻ‚ āϧ⧀āϰ āĻ•ā§ā§Ÿā§‡āϰāĻŋ, āĻ¸ā§āĻĒāĻžāχāĻ• āĻ“ āϞāĻ• āĻĒā§āϰ⧇āϏāĻžāϰ āĻĨ⧇āϕ⧇ āφāĻĒāύāĻžāϰ āĻĒā§āϰāĻžāχāĻŽāĻžāϰāĻŋ āĻĄāĻžāϟāĻžāĻŦ⧇āϏāϕ⧇ āϰāĻ•ā§āώāĻž āĻ•āϰ⧁āύāĨ¤

āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚ā§Ÿā§‡āϰ āϜāĻ¨ā§āϝ PostgreSQL āϰāĻŋāĻĄ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻž: āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄāϗ⧁āϞ⧋āϕ⧇ āĻĻā§āϰ⧁āϤ āϰāĻžāϖ⧁āύ

āϕ⧇āύ āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚ āφāĻĒāύāĻžāϰ āĻĒā§āϰāĻžāχāĻŽāĻžāϰāĻŋ āĻĄāĻžāϟāĻžāĻŦ⧇āϏ āϧ⧀āϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇

āĻāĻ•āϟāĻŋ āϏāĻžāϧāĻžāϰāĻŖ āĻĻ⧃āĻļā§āϝ āĻĻ⧇āĻ–āĻž āϝāĻžā§Ÿ: āĻĻāĻŋāύ⧇āϰ āĻŦ⧇āĻļāĻŋāϰāĻ­āĻžāĻ— āϏāĻŽā§Ÿ āĻ…ā§āϝāĻžāĻĒ āĻ āĻŋāĻ•āĻ āĻžāĻ• āĻ•āĻžāϜ āĻ•āϰ⧇, āϤāĻžāϰāĻĒāϰ āϕ⧇āω āĻāĻ•āϟāĻŋ āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄ āϖ⧁āϞāϞ⧇ āĻšāĻ āĻžā§Ž āĻšā§‡āĻ•āφāωāϟ, āϞāĻ—āχāύ āĻŦāĻž āϏāĻžāĻĒā§‹āĻ°ā§āϟ āϟ⧁āϞāϗ⧁āϞ⧋ āϧ⧀āϰ āĻšāϤ⧇ āĻļ⧁āϰ⧁ āĻ•āϰ⧇āĨ¤ āĻ•āĻŋāϛ⧁āχ “āĻĄāĻžāωāĻ¨â€ āĻĨāĻžāϕ⧇ āύāĻž, āĻ•āĻŋāĻ¨ā§āϤ⧁ āϏāĻŦāĻ•āĻŋāϛ⧁ āϧ⧀āϰāĨ¤ āĻāϟāĻŋ āϏāĻžāϧāĻžāϰāĻŖāϤ āφāĻĒāύāĻžāϰ āĻĒā§āϰāĻžāχāĻŽāĻžāϰāĻŋ āĻĄāĻžāϟāĻžāĻŦ⧇āϏ āĻāĻ•āϏāĻžāĻĨ⧇ āĻĻ⧁āχāϟāĻŋ āĻĻāĻŋāĻ• āĻĨ⧇āϕ⧇ āϟāĻžāύāĻĒā§‹āĻĄāĻŧ⧇āύ⧇ āĻĒāĻĄāĻŧāĻžāϰ āĻĢāϞāĨ¤

āĻŸā§āϰāĻžāύāĻœā§‡āĻ•āĻļāύ (āĻĻāĻŋāύ-āĻĒā§āϰāϤāĻŋāĻĻāĻŋāύ⧇āϰ āĻ…ā§āϝāĻžāĻĒ āĻ•āĻžāϜ) āϏāĻžāϧāĻžāϰāĻŖāϤ āϛ⧋āϟ āĻāĻŦāĻ‚ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟāĨ¤ āϤāĻžāϰāĻž āĻ•āĻŋāϛ⧁ āϏāĻ‚āĻ–ā§āϝāĻ• āϰ⧋āϤ⧇ āĻĒ⧜āĻž āĻŦāĻž āφāĻĒāĻĄā§‡āϟ āĻ•āϰ⧇, āχāύāĻĄā§‡āĻ•ā§āϏ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇, āĻāĻŦāĻ‚ āĻĻā§āϰ⧁āϤ āĻļ⧇āώ āĻšā§Ÿ āϝāĻžāϤ⧇ āĻ…āĻ¨ā§āϝ āĻ…āύ⧁āϰ⧋āϧāϗ⧁āϞ⧋ āĻāĻ—ā§‹āϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚ āĻ•ā§ā§Ÿā§‡āϰāĻŋāϗ⧁āϞ⧋ āĻ­āĻŋāĻ¨ā§āύāĻ­āĻžāĻŦ⧇ āφāϚāϰāĻŖ āĻ•āϰ⧇āĨ¤ āϤāĻžāϰāĻž āĻĒā§āϰāĻžāϝāĻŧāχ āĻĒā§āϰāϚ⧁āϰ āĻĄāĻžāϟāĻž āĻ¸ā§āĻ•ā§āϝāĻžāύ āĻ•āϰ⧇, āĻāĻ•āĻžāϧāĻŋāĻ• āĻŸā§‡āĻŦāĻŋāϞ āϝ⧋āĻ— āĻ•āϰ⧇, āϰ⧇āϜāĻžāĻ˛ā§āϟ āϏāĻžāϜāĻžā§Ÿ āĻ“ āĻ—ā§āϰ⧁āĻĒ āĻ•āϰ⧇, āĻāĻŦāĻ‚ āĻĻāĻŋāύ⧇āϰ āĻŦāĻž āĻŽāĻžāϏ⧇āϰ āĻŽā§‹āϟ āĻšāĻŋāϏāĻžāĻŦ āĻ•āϰ⧇āĨ¤ āϝāĻĻāĻŋāĻ“ āĻāϗ⧁āϞ⧋ āϏāϰāĻžāϏāϰāĻŋ āϰāĻžāχāϟ āĻŦā§āϞāĻ• āύāĻžāĻ“ āĻ•āϰ⧇, āϤāĻŦ⧁āĻ“ āϏ⧇āϗ⧁āϞ⧋ āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒāϕ⧇ āĻĒā§āĻ°ā§Ÿā§‹āϜāĻ¨ā§€ā§Ÿ āĻāĻ•āχ āĻļā§‡ā§ŸāĻžāĻ°ā§āĻĄ āϰāĻŋāϏ⧋āĻ°ā§āϏ āĻ–ā§‡ā§Ÿā§‡ āĻĢ⧇āϞāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄāϗ⧁āϞ⧋ OLTP āĻĄāĻžāϟāĻžāĻŦ⧇āϏ⧇ āĻ•ā§āώāϤāĻŋ āĻ•āϰ⧇ āĻāĻŽāύ āϏāĻžāϧāĻžāϰāĻŖ āωāĻĒāĻžā§Ÿāϗ⧁āϞ⧋:

  • āĻ­āĻžāϰ⧀ āϰāĻŋāĻĄ CPU, āĻŽā§‡āĻŽāϰāĻŋ āĻāĻŦāĻ‚ āĻĄāĻŋāĻ¸ā§āĻ• I/O-āĻāϰ āϏāĻ™ā§āϗ⧇ āĻĒā§āϰāϤāĻŋāĻĻā§āĻŦāĻ¨ā§āĻĻā§āĻŦāĻŋāϤāĻž āĻ•āϰ⧇
  • āĻŦ⧜ āĻ¸ā§āĻ•ā§āϝāĻžāύ āĻ•ā§āϝāĻžāĻļ āĻĨ⧇āϕ⧇ "āĻšāϟ" āĻĒ⧇āϜāϗ⧁āϞ⧋ āϠ⧇āϞ⧇ āĻĻā§‡ā§Ÿ, āĻĢāϞ⧇ āϏāĻžāϧāĻžāϰāĻŖ āĻ•ā§ā§Ÿā§‡āϰāĻŋāϗ⧁āϞ⧋ āϧ⧀āϰ āĻšā§Ÿ
  • āĻŦ⧜ SORT āĻ“ GROUP BY āĻĄāĻŋāĻ¸ā§āϕ⧇ āĻ¸ā§āĻĒāĻŋāϞ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āϞ⧋āĻĄā§‡āϰ āĻšāĻ āĻžā§Ž āĻŦāĻžā§œāϤāĻŋ āϚāĻžāĻĒ āϤ⧈āϰāĻŋ āĻ•āϰ⧇
  • āĻĻā§€āĻ°ā§āϘāĻ¸ā§āĻĨāĻžāϝāĻŧā§€ āĻ•ā§ā§Ÿā§‡āϰāĻŋ āĻ•āύāĻŸā§‡āύāĻļāύ āĻŦāĻžā§œāĻžā§Ÿ āĻāĻŦāĻ‚ āĻ¸ā§āĻĒāĻžāχāĻ•āϗ⧁āϞ⧋āϕ⧇ āĻĻā§€āĻ°ā§āϘ āĻ•āϰ⧇ āϤ⧋āϞ⧇
  • āĻ…ā§āϝāĻžāĻĄ-āĻšāĻ• āĻĢāĻŋāĻ˛ā§āϟāĻžāϰ (āϤāĻžāϰāĻŋāĻ– āϰ⧇āĻžā§āϜ, āϏ⧇āĻ—āĻŽā§‡āĻ¨ā§āϟ) āϞ⧋āĻĄ āĻ…āύāĻŋāĻ°ā§āĻĻ⧇āĻļā§āϝ āĻ•āϰ⧇

āĻāĻ•āϟāĻŋ āϰāĻŋāĻĄ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻž āĻšāϞ āĻāĻ•āϟāĻŋ āφāϞāĻžāĻĻāĻž PostgreSQL āϏāĻžāĻ°ā§āĻ­āĻžāϰ āϝāĻž āϧāĻžāϰāĻžāĻŦāĻžāĻšāĻŋāĻ•āĻ­āĻžāĻŦ⧇ āφāĻĒāύāĻžāϰ āĻĒā§āϰāĻžāχāĻŽāĻžāϰāĻŋ āϏāĻžāĻ°ā§āĻ­āĻžāϰ āĻĨ⧇āϕ⧇ āĻĄāĻžāϟāĻž āĻ•āĻĒāĻŋ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āϰāĻŋāĻĄ-āĻ“āύāϞāĻŋ āĻ•ā§ā§Ÿā§‡āϰāĻŋ āϏāĻžāĻ°ā§āĻ­ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚ā§Ÿā§‡āϰ āϜāĻ¨ā§āϝ PostgreSQL āϰāĻŋāĻĄ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻž āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϞ⧇ āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄ āϤāĻžāĻĻ⧇āϰ āĻ­āĻžāϰ⧀ āĻ•āĻžāϜ āĻ…āĻ¨ā§āϝØŦا āϚāĻžāϞāĻžāϤ⧇ āĻĒāĻžāϰ⧇, āĻĢāϞ⧇ āĻĒā§āϰāĻžāχāĻŽāĻžāϰāĻŋ āĻĻā§āϰ⧁āϤ āĻŸā§āϰāĻžāύāĻœā§‡āĻ•āĻļāύ⧇ āĻŽāύ⧋āϝ⧋āĻ— āϰāĻžāĻ–āϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

āĻļ⧁āϰ⧁āϤ⧇āχ āĻĒā§āϰāĻ¤ā§āϝāĻžāĻļāĻž āĻ¸ā§āĻĨāĻžāĻĒāύ āĻ•āϰāĻž āϜāϰ⧁āϰāĻŋ: āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻž āϰāĻŋāĻĄā§‡āϰ āϜāĻ¨ā§āϝ āϏāĻšāĻžā§ŸāϤāĻž āĻ•āϰ⧇, āϰāĻžāχāĻŸā§‡āϰ āϜāĻ¨ā§āϝ āύ⧟āĨ¤ āĻāĻ•āϟāĻŋ āĻ¸ā§āĻŸā§āϝāĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻžāϤ⧇ āχāύāϏāĻžāĻ°ā§āϟ/āφāĻĒāĻĄā§‡āϟ āύāĻŋāϰāĻžāĻĒāĻĻāĻ­āĻžāĻŦ⧇ āĻĒāĻžāĻ āĻžāύ⧋ āϝāĻžā§Ÿ āύāĻž, āĻāĻŦāĻ‚ āĻĢāϞāĻžāĻĢāϞ āĻĒā§āϰāĻžāχāĻŽāĻžāϰāĻŋāϰ āĻĨ⧇āϕ⧇ āĻāĻ•āϟ⧁ āĻĒāĻŋāĻ›āĻŋā§Ÿā§‡ āĻĨāĻžāĻ•āϤ⧇ āĻĒāĻžāϰ⧇ āĻ•āĻžāϰāĻŖ āϰ⧇āĻĒā§āϞāĻŋāϕ⧇āĻļāύ āϏāĻŽā§Ÿ āĻ¨ā§‡ā§ŸāĨ¤ āĻ…āύ⧇āĻ• āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄā§‡āϰ āϜāĻ¨ā§āϝ āĻāϟāĻŋ āĻāĻ•āϟāĻŋ āĻ­āĻžāϞ⧋ āĻŸā§āϰ⧇āĻĄāĻ…āĻĢ: āϏāĻžāĻŽāĻžāĻ¨ā§āϝ āĻ•āĻŽ "āϤāĻžāϜāĻž" āϏāĻ‚āĻ–ā§āϝāĻž āĻŦāĻŋāύāĻŋāĻŽā§Ÿā§‡ āϧāĻžāϰāĻžāĻŦāĻžāĻšāĻŋāĻ• āĻ…ā§āϝāĻžāĻĒ āĻĒāĻžāϰāĻĢāϰāĻŽā§āϝāĻžāĻ¨ā§āϏāĨ¤

āφāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻ…āĻ­ā§āϝāĻ¨ā§āϤāϰ⧀āĻŖ āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄ (āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ AppMaster-āĻ) āĻŦāĻžāύāĻžāύ, āĻāχ āĻŦāĻŋāĻ­āĻžāϜāύ āϏāĻžāϧāĻžāϰāĻŖāϤ āϏ⧁āĻ¨ā§āĻĻāϰāĻ­āĻžāĻŦ⧇ āĻŽāĻžāύāĻžā§Ÿ: āĻ…ā§āϝāĻžāĻĒ āĻĒā§āϰāĻžāχāĻŽāĻžāϰāĻŋāϤ⧇ āϞāĻŋāĻ–āϤ⧇ āĻĨāĻžāϕ⧇, āφāϰ āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚ āĻ¸ā§āĻ•ā§āϰāĻŋāύāϗ⧁āϞ⧋ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻž āĻĨ⧇āϕ⧇ āĻĒā§āϰāĻļā§āύ āĻ•āϰ⧇āĨ¤

PostgreSQL-āĻ āϰāĻŋāĻĄ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻž āϕ⧀āĻ­āĻžāĻŦ⧇ āĻ•āĻžāϜ āĻ•āϰ⧇ (āϏāĻšāϜ āĻ­āĻžāώāĻžā§Ÿ)

āĻāĻ•āϟāĻŋ PostgreSQL āϰāĻŋāĻĄ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻž āĻšāϞ āφāĻĒāύāĻžāϰ āĻŽā§‚āϞ (āĻĒā§āϰāĻžāχāĻŽāĻžāϰāĻŋ) āĻĄāĻžāϟāĻžāĻŦ⧇āϏ⧇āϰ āύāĻŋāĻ•āϟ-āϰāĻŋā§Ÿā§‡āϞ-āϟāĻžāχāĻŽ āĻ•āĻĒāĻŋ āϰāĻžāϖ⧇ āĻāĻŽāύ āĻĻā§āĻŦāĻŋāĻ¤ā§€ā§Ÿ āĻāĻ•āϟāĻŋ āϏāĻžāĻ°ā§āĻ­āĻžāϰāĨ¤ āĻĒā§āϰāĻžāχāĻŽāĻžāϰāĻŋ āϞ⧇āĻ–āĻžāϗ⧁āϞ⧋ (INSERT, UPDATE, DELETE) āĻšā§āϝāĻžāĻ¨ā§āĻĄāϞ āĻ•āϰ⧇āĨ¤ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻž āĻĒā§āϰāϧāĻžāύāϤ āϰāĻŋāĻĄ āϏāĻžāĻ°ā§āĻ­ āĻ•āϰ⧇ (SELECT), āϤāĻžāχ āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚ āĻ•ā§ā§Ÿā§‡āϰāĻŋāϗ⧁āϞ⧋ āĻĻāĻŋāύ⧇āϰ-āĻĒā§āϰāϤāĻŋāĻĻāĻŋāύ⧇āϰ āĻŸā§āϰāĻžāύāĻœā§‡āĻ•āĻļāύ⧇āϰ āϏāĻ™ā§āϗ⧇ āĻĒā§āϰāϤāĻŋāĻĻā§āĻŦāĻ¨ā§āĻĻā§āĻŦāĻŋāϤāĻž āĻ•āϰ⧇ āύāĻžāĨ¤

āĻāĻ• āĻŽāĻŋāύāĻŋāĻŸā§‡ āĻĒā§āϰāĻžāχāĻŽāĻžāϰāĻŋ āĻŦāύāĻžāĻŽ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻž

āĻĒā§āϰāĻžāχāĻŽāĻžāϰāĻŋāϕ⧇ āĻāĻ•āϟāĻŋ āĻŦā§āϝāĻ¸ā§āϤ āĻĻā§‹āĻ•āĻžāύ⧇āϰ āĻ•ā§āϝāĻžāĻļāĻŋ⧟āĻžāϰ āĻšāĻŋāϏ⧇āĻŦ⧇ āĻ­āĻžāĻŦ⧁āύ: āĻāϟāĻŋ āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻŦāĻŋāĻ•ā§āϰ⧟ āφāĻĒāĻĄā§‡āϟ āĻ•āϰ⧇ āĻ¸ā§āϟāĻ•, āĻĒ⧇āĻŽā§‡āĻ¨ā§āϟ āĻāĻŦāĻ‚ āĻ…āĻ°ā§āĻĄāĻžāϰ, āϤāĻžāχ āϤāĻž āĻĻā§āϰ⧁āϤ āĻĒā§āϰāϤāĻŋāĻ•ā§āϰāĻŋ⧟āĻžāĻļā§€āϞ āĻĨāĻžāĻ•āϤ⧇ āĻšā§ŸāĨ¤ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻž āĻšāϞ āĻāĻ•āϟāĻŋ āĻĄāĻŋāϏāĻĒā§āϞ⧇ āĻ¸ā§āĻ•ā§āϰāĻŋāύ āϝāĻž āĻŽā§‹āϟ āĻ“ āĻŸā§āϰ⧇āĻ¨ā§āĻĄ āĻĻ⧇āĻ–āĻžā§ŸāĨ¤ āĻāϟāĻŋ āĻ•ā§āϝāĻžāĻļāĻŋ⧟āĻžāϰ āϝāĻž āĻ•āϰ⧇ āϤāĻž āĻĻ⧇āϖ⧇ āĻāĻŦāĻ‚ āĻ•āĻŋāϛ⧁āĻ•ā§āώāĻŖ āĻĒāϰ⧇ āύāĻŋāĻœā§‡ āφāĻĒāĻĄā§‡āϟ āĻ•āϰ⧇āĨ¤

āĻšā§āϝāĻžāĻ¨ā§āĻĄāϏ⧇, PostgreSQL āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύāϗ⧁āϞ⧋ āĻ•āĻĒāĻŋ āĻ•āϰ⧇ āĻĒā§āϰāĻžāχāĻŽāĻžāϰāĻŋāϤ⧇ āϕ⧀ āĻŦāĻĻāϞ⧇āϛ⧇ āϤāĻžāϰ āĻāĻ•āϟāĻŋ āĻ¸ā§āĻŸā§āϰ⧀āĻŽ āĻĒāĻžāĻ āĻŋā§Ÿā§‡ āĻāĻŦāĻ‚ āϤāĻž āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻžā§Ÿ āϰ⧇āĻĒā§āϞ⧇ āĻ•āϰ⧇āĨ¤ āĻ…āĻ°ā§āĻĨāĻžā§Ž āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻžā§Ÿ āĻāĻ•āχ āĻĄāĻžāϟāĻžāĻŦ⧇āϏ āĻ¸ā§āĻŸā§āϰāĻžāĻ•āϚāĻžāϰ āĻ“ āĻĄāĻžāϟāĻž āĻĨāĻžāϕ⧇, āĻļ⧁āϧ⧁ āϏāĻžāĻŽāĻžāĻ¨ā§āϝ āĻĒāĻŋāĻ›āύ⧇ āĻĨāĻžāϕ⧇āĨ¤

āĻĒā§āϰāĻžā§Ÿā§‹āĻ—āĻŋāĻ•āĻ­āĻžāĻŦ⧇, āϰ⧇āĻĒā§āϞāĻŋāϕ⧇āĻļāύ āĻ•āĻĒāĻŋ āĻ•āϰ⧇:

  • āĻŸā§‡āĻŦāĻŋāϞ āĻĄāĻžāϟāĻž (āϰ⧋)
  • āχāύāĻĄā§‡āĻ•ā§āϏ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ (āϤāĻ–āύ āĻ•ā§ā§Ÿā§‡āϰāĻŋ āĻāĻ•āχ āχāύāĻĄā§‡āĻ•ā§āϏ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇)
  • āĻ¸ā§āĻ•āĻŋāĻŽāĻž āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ (āύāϤ⧁āύ āĻ•āϞāĻžāĻŽ, āύāϤ⧁āύ āĻŸā§‡āĻŦāĻŋāϞ, āĻāĻŦāĻ‚ āĻ…āύ⧇āĻ• āϧāϰāύ⧇āϰ āĻŽāĻžāχāĻ—ā§āϰ⧇āĻļāύ)
  • āϏāĻžāϧāĻžāϰāĻŖ SQL-āϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āĻšāĻ“ā§ŸāĻž āĻ…āĻ¨ā§āϝāĻžāĻ¨ā§āϝ āĻ…āϧāĻŋāĻ•āĻžāĻ‚āĻļ āĻĄāĻžāϟāĻžāĻŦ⧇āϏ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ

āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻž āϝāĻž āϏāĻŽāĻžāϧāĻžāύ āĻ•āϰ⧇ āύāĻž: āĻāϟāĻŋ āĻ­āĻžāϰāĻŋ āϰāĻžāχāϟāϕ⧇ āϏāĻ¸ā§āϤāĻž āĻ•āϰ⧇ āĻĻ⧇āĻŦ⧇ āύāĻž, āĻāĻŦāĻ‚ āĻ–āĻžāϰāĻžāĻĒ āĻ¸ā§āĻ•āĻŋāĻŽāĻž āĻŦāĻž āĻ…āĻ­āĻžāĻŦāĻŋāϤ āχāύāĻĄā§‡āĻ•ā§āϏ āĻĨ⧇āϕ⧇ āϏ⧃āĻˇā§āϟ āϧ⧀āϰ āĻ•ā§ā§Ÿā§‡āϰāĻŋ āĻ āĻŋāĻ• āĻ•āϰāĻŦ⧇ āύāĻžāĨ¤ āϝāĻĻāĻŋ āφāĻĒāύāĻžāϰ āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄ āĻ•ā§ā§Ÿā§‡āϰāĻŋ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻžā§Ÿ āĻāĻ•āϟāĻŋ āĻŦāĻŋāĻļāĻžāϞ āĻŸā§‡āĻŦāĻŋāϞ āĻ¸ā§āĻ•ā§āϝāĻžāύ āĻ•āϰ⧇, āϤāĻž āĻāĻ–āύāĻ“ āϧ⧀āϰ āĻšāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āϕ⧇āĻŦāϞ āĻāϟāĻŋ āĻāĻ•āχ āϏāĻŽā§Ÿā§‡ āĻšā§‡āĻ•āφāωāϟāϕ⧇ āϧ⧀āϰ āĻ•āϰ⧇ āĻĻ⧇āĻŦ⧇ āύāĻžāĨ¤

āĻāϟāĻŋ āĻ•āĻžāϰāϪ⧇āχ āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚ā§Ÿā§‡āϰ āϜāĻ¨ā§āϝ PostgreSQL āϰāĻŋāĻĄ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻž āϜāύāĻĒā§āϰāĻŋ⧟: āϤāĻžāϰāĻž OLTP āĻ•āĻžāϜ (āĻĻā§āϰ⧁āϤ, āϘāύ āĻŸā§āϰāĻžāύāĻœā§‡āĻ•āĻļāύ) āφāϞāĻžāĻĻāĻž āĻ•āϰ⧇ OLAP-āĻļ⧈āϞ⧀āϰ āĻ•āĻžāϜ (āĻĻā§€āĻ°ā§āϘāϤāϰ āϰāĻŋāĻĄ, āĻ—ā§āϰ⧁āĻĒāĻŋāĻ‚, āĻŽā§‹āϟ) āĻĨ⧇āϕ⧇āĨ¤ āϝāĻĻāĻŋ āφāĻĒāύāĻŋ āĻ…āĻ­ā§āϝāĻ¨ā§āϤāϰ⧀āĻŖ āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄ āĻŦāĻž āĻ…ā§āϝāĻžāĻĄāĻŽāĻŋāύ āĻĒā§āϝāĻžāύ⧇āϞ āĻŦāĻžāύāĻžāύ (āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ AppMaster-āĻ), āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚ āĻĒ⧃āĻˇā§āĻ āĻžāϗ⧁āϞ⧋āϕ⧇ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻžāϤ⧇ āĻĒā§Ÿā§‡āĻ¨ā§āϟ āĻ•āϰāĻž āĻĒā§āϰāĻžāϝāĻŧāĻļāχ āϏāĻšāϜāϤāĻŽ āωāĻĒāĻžāϝāĻŧ āϝāĻžāϤ⧇ āωāϭ⧟ āĻĒāĻžāĻļāχ āϏ⧁āĻ–ā§€ āĻĨāĻžāϕ⧇āĨ¤

āϕ⧋āύ āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚ āĻ“ā§ŸāĻžāĻ°ā§āĻ•āϞ⧋āĻĄāϗ⧁āϞāĻŋ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻžā§Ÿ āϚāϞ⧇ āĻ­āĻžāϞ

āĻāĻ•āϟāĻŋ āĻ­āĻžāϞ⧋ āύ⧀āϤāĻŋ: āϝāĻĻāĻŋ āĻāĻ•āϟāĻŋ āĻ•ā§ā§Ÿā§‡āϰāĻŋ āĻĒā§āϰāϧāĻžāύāϤ āĻ…āύ⧇āĻ• āĻĄāĻžāϟāĻž āĻĒā§œā§‡ āϤāĻž āϏāĻžāϰāϏāĻ‚āĻ•ā§āώ⧇āĻĒ āĻ•āϰ⧇, āϤāĻŦ⧇ āĻāϟāĻŋ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻžā§Ÿ āϚāĻžāϞāĻžāύ⧋āϰ āϜāĻ¨ā§āϝ āĻļāĻ•ā§āϤāĻŋāĻļāĻžāϞ⧀ āĻĒā§āϰāĻžāĻ°ā§āĻĨā§€āĨ¤ āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚ā§Ÿā§‡āϰ āϜāĻ¨ā§āϝ PostgreSQL āϰāĻŋāĻĄ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻž āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϞ⧇ āφāĻĒāύāĻŋ āĻšā§‡āĻ•āφāωāϟ āĻĢā§āϞ⧋, āϏāĻžāχāύ-āχāύ āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āϝāĻžāĻ¨ā§āϝ āĻŸā§āϰāĻžāύāĻœā§‡āĻ•āĻļāύāĻžāϞ āĻ•āĻžāϜāϗ⧁āϞ⧋āϕ⧇ āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄā§‡āϰ āĻ­āĻžāϰ⧀ āĻ•āĻžāϜ āĻĨ⧇āϕ⧇ āϰāĻ•ā§āώāĻž āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤

āϏāĻŦāĻšā§‡ā§Ÿā§‡ āϏāĻžāϧāĻžāϰāĻŖ āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄ āĻĒā§āϝāĻžāϟāĻžāĻ°ā§āύ āĻšāϞ āĻāĻ•āϟāĻŋ āĻŦāĻŋāĻ¸ā§āϤ⧃āϤ āϤāĻžāϰāĻŋāĻ– āϰ⧇āĻžā§āϜ āĻĒā§āϞāĻžāϏ āĻ•āĻŋāϛ⧁ āĻĢāĻŋāĻ˛ā§āϟāĻžāϰāĨ¤ “āĻ—āϤ ⧝ā§Ļ āĻĻāĻŋāύ āĻ…āĻžā§āϚāϞ, āĻĒā§āϰ⧋āĻĄāĻžāĻ•ā§āϟ, āĻ“ āĻšā§āϝāĻžāύ⧇āϞ āĻ…āύ⧁āϝāĻžā§Ÿā§€â€ āϏāĻšāĻœā§‡āχ āĻŽāĻŋāϞāĻŋ⧟āύ āϰ⧋ āĻ¸ā§āĻĒāĻ°ā§āĻļ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇, āϝāĻĻāĻŋāĻ“ āĻšā§‚āĻĄāĻŧāĻžāĻ¨ā§āϤ āϚāĻžāĻ°ā§āϟ āĻŽāĻžāĻ¤ā§āϰ ⧧⧍āϟāĻŋ āĻŦāĻžāϰ āĻĻ⧇āĻ–āĻžā§ŸāĨ¤ āĻāχ āϧāϰāύ⧇āϰ āĻ¸ā§āĻ•ā§āϝāĻžāύ āĻĒā§āϰāĻžāχāĻŽāĻžāϰāĻŋ āĻĄāĻžāϟāĻžāĻŦ⧇āϏ⧇āϰ āĻĄāĻŋāĻ¸ā§āĻ• āϰāĻŋāĻĄ āĻ“ āĻ•ā§āϝāĻžāĻļ āĻ¸ā§āĻĒ⧇āϏ⧇āϰ āϏāĻ™ā§āϗ⧇ āĻĒā§āϰāϤāĻŋāĻĻā§āĻŦāĻ¨ā§āĻĻā§āĻŦāĻŋāϤāĻž āĻ•āϰ⧇āĨ¤

āϕ⧋āύ āĻ“ā§ŸāĻžāĻ°ā§āĻ•āϞ⧋āĻĄāϗ⧁āϞ⧋ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻžā§Ÿ āĻ­āĻžāϞ⧋ āĻŦāϏ⧇

āĻŦ⧇āĻļāĻŋāϰāĻ­āĻžāĻ— āĻĻāϞ āĻļ⧁āϰ⧁āϤ⧇ āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚ āĻĄāĻžāϟāĻžāĻŦ⧇āϏ⧇ āĻāϗ⧁āϞ⧋ āϏāϰāĻžā§Ÿ:

  • āĻāĻ•āĻžāϧāĻŋāĻ• āĻŸā§‡āĻŦāĻŋāϞ āĻœā§‹ā§œāĻž āĻŦ⧜ JOIN (orders + items + customers + refunds)
  • SUM, COUNT DISTINCT, āĻĒāĻžāϰāϏ⧇āĻ¨ā§āϟāĻžāχāϞ āĻšāĻŋāϏāĻžāĻŦ, āϕ⧋āĻšāĻ°ā§āϟ āĻŦāĻŋāĻļā§āϞ⧇āώāϪ⧇āϰ āĻŽāϤ āĻ…ā§āϝāĻžāĻ—ā§āϰ⧇āϗ⧇āĻļāύ
  • āĻŦ⧜ āϰ⧇āϜāĻžāĻ˛ā§āϟ āϏ⧇āϟāϕ⧇ āϏāĻžāϜāĻžāύ⧋ āĻ“ āĻ—ā§āϰ⧁āĻĒ āĻ•āϰ⧇ āĻĻā§€āĻ°ā§āϘāĻ¸ā§āĻĨāĻžā§Ÿā§€ āĻ•ā§ā§Ÿā§‡āϰāĻŋ
  • āĻĒā§āϰāϤāĻŋ āϘāĻ¨ā§āϟāĻž/āĻĒā§āϰāϤāĻŋ āĻĻāĻŋāύ āϚāϞāĻž āĻļāĻŋāĻĄāĻŋāωāϞāĻĄ āϰāĻŋāĻĒā§‹āĻ°ā§āϟ āϝāĻž āĻāĻ•āχ āĻ­āĻžāϰ⧀ āĻ•āĻžāϜ āĻŦāĻžāϰāĻŦāĻžāϰ āĻ•āϰ⧇
  • āĻāĻ•ā§āϏāĻĒā§āϞ⧋āϰ⧇āϟāϰāĻŋ BI āϏ⧇āĻļāĻžāύ āϝ⧇āĻ–āĻžāύ⧇ āĻŽāĻžāύ⧁āώ āĻ•ā§āϞāĻŋāĻ• āĻ•āϰ⧇ āĻ“ āĻ­ā§āϝāĻžāϰāĻŋā§Ÿā§‡āĻļāύ āĻĒ⧁āύāϰāĻžāϝāĻŧ āϚāĻžāϞāĻžā§Ÿ

āĻāĻ•āϟāĻŋ āĻ•ā§ā§Ÿā§‡āϰāĻŋ “āϰāĻŋāĻĄ-āĻ“āύāϞāĻŋ” āĻšāϞ⧇āĻ“ āϤāĻž CPU, āĻŽā§‡āĻŽāϰāĻŋ āĻāĻŦāĻ‚ I/O āĻĒā§ā§œā§‡ āĻĢ⧇āϞāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āĻŦ⧜ GROUP BY āĻ…āĻĒāĻžāϰ⧇āĻļāύ āĻ…āĻ¨ā§āϝ āĻ•ā§ā§Ÿā§‡āϰāĻŋāϗ⧁āϞ⧋āϕ⧇ āĻŽā§‡āĻŽāϰāĻŋ āĻĨ⧇āϕ⧇ āϠ⧇āϞ⧇ āĻĻāĻŋāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āĻŦāĻžāϰāĻŦāĻžāϰ āĻ¸ā§āĻ•ā§āϝāĻžāύ āĻŦāĻžāĻĢāĻžāϰ āĻ•ā§āϝāĻžāĻļāϕ⧇ āϘ⧁āϰ⧇ āĻĻā§‡ā§Ÿ, āĻĢāϞ⧇ āφāĻĒāύāĻžāϰ āĻĒā§āϰāĻžāχāĻŽāĻžāϰāĻŋ āĻĄāĻŋāĻ¸ā§āĻ• āĻĨ⧇āϕ⧇ āĻŦ⧇āĻļāĻŋ āĻĒ⧜āϤ⧇ āĻļ⧁āϰ⧁ āĻ•āϰ⧇āĨ¤

āĻ•āύ⧇āĻ•āĻļāύ āφāϚāϰāĻŖāĻ“ āϗ⧁āϰ⧁āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖāĨ¤ āĻ…āύ⧇āĻ• BI āϟ⧁āϞ āĻĒā§āϰāϤāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰ āϜāĻ¨ā§āϝ āĻāĻ•āĻžāϧāĻŋāĻ• āĻ•āύ⧇āĻ•āĻļāύ āĻ–ā§‹āϞ⧇, āϟāĻžāχāϞ āĻ•ā§Ÿā§‡āĻ• āĻŽāĻŋāύāĻŋāĻŸā§‡ āϰāĻŋāĻĢā§āϰ⧇āĻļ āĻ•āϰ⧇, āĻāĻŦāĻ‚ āĻŦā§āϝāĻžāĻ•āĻ—ā§āϰāĻžāωāĻ¨ā§āĻĄ āĻāĻ•ā§āϏāĻŸā§āĻ°ā§āϝāĻžāĻ•ā§āϟ āϚāĻžāϞāĻžā§ŸāĨ¤ āĻāϟāĻŋ āĻšāĻ āĻžā§Ž āĻ•āϰ⧇ āĻ•āύ⧇āĻ•āĻļāύ āĻ“ āĻ•āύāĻ•āĻžāϰ⧇āĻ¨ā§āϟ āĻ•ā§ā§Ÿā§‡āϰāĻŋāϰ āĻ¸ā§āĻĒāĻžāχāĻ• āϤ⧈āϰāĻŋ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āĻāĻ•āϟāĻŋ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻž āĻāχ āĻ¸ā§āĻĒāĻžāχāĻ•āϗ⧁āϞ⧋āϕ⧇ āύāĻŋāϰāĻžāĻĒāĻĻ āϜāĻžā§ŸāĻ—āĻžā§Ÿ āύāĻžāĻŽāĻžāϤ⧇ āĻĻā§‡ā§ŸāĨ¤

āĻāĻ•āϟāĻŋ āϏāĻšāϜ āωāĻĻāĻžāĻšāϰāĻŖ: āφāĻĒāύāĻžāϰ āĻ…āĻĒāĻžāϰ⧇āĻļāύ āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄ ⧝:ā§Ļā§Ļ AM-āĻ āϞ⧋āĻĄ āĻšā§Ÿ āĻāĻŦāĻ‚ ā§Ģā§Ļ āϜāύ āĻāĻ•āϏāĻžāĻĨ⧇ āϖ⧁āϞ⧇āĨ¤ āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻĒ⧇āϜāĻ­āĻŋāω āĻ•ā§Ÿā§‡āĻ•āϟāĻŋ āωāχāĻœā§‡āϟ āĻŸā§āϰāĻŋāĻ—āĻžāϰ āĻ•āϰ⧇, āφāϰ āĻĒā§āϰāϤāĻŋāϟāĻŋ āωāχāĻœā§‡āϟ āφāϞāĻžāĻĻāĻž āĻĢāĻŋāĻ˛ā§āϟāĻžāϰāϏāĻš āĻāĻ•āϟāĻŋ āĻ•ā§ā§Ÿā§‡āϰāĻŋ āϚāĻžāϞāĻžā§ŸāĨ¤ āĻĒā§āϰāĻžāχāĻŽāĻžāϰāĻŋāϤ⧇ āϏ⧇āχ āĻŦāĻŋāĻ¸ā§āĻĢā§‹āϰāĻŖ āĻ…āĻ°ā§āĻĄāĻžāϰ āĻ•ā§āϰāĻŋā§Ÿā§‡āĻļāύ āϧ⧀āϰ āĻ•āϰ⧇ āĻĻāĻŋāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻžā§Ÿ, āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄ āϧ⧀āϰ āĻŦāĻž āϏāĻžāĻŽāĻžāĻ¨ā§āϝ āĻĒ⧇āĻ›āĻžāύ⧋ āĻšāϤ⧇ āĻĒāĻžāϰ⧇, āĻ•āĻŋāĻ¨ā§āϤ⧁ āφāĻĒāύāĻžāϰ āĻŸā§āϰāĻžāύāĻœā§‡āĻ•āĻļāύāϗ⧁āϞ⧋ āĻĻā§āϰ⧁āϤ āĻĨāĻžāϕ⧇āĨ¤

āφāĻĒāύāĻŋ āϝāĻĻāĻŋ AppMaster-āĻāϰ āĻŽāϤ āĻĒā§āĻ˛ā§āϝāĻžāϟāĻĢāĻ°ā§āĻŽā§‡ āĻ…āĻ­ā§āϝāĻ¨ā§āϤāϰ⧀āĻŖ āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄ āĻŦāĻžāύāĻžāύ, āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚ āĻ¸ā§āĻ•ā§āϰāĻŋāύāϗ⧁āϞ⧋āϕ⧇ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻž āĻ•āĻžāύ⧇āĻ•āĻļāύ⧇ āĻĒā§Ÿā§‡āĻ¨ā§āϟ āĻ•āϰāĻž āϏāĻžāϧāĻžāϰāĻŖāϤ āϏāĻšāϜ āϜāĻŋāϤ, āϝāϤāĻ•ā§āώāĻŖ āϏāĻŦāĻžāχ āĻŦ⧁āĻā§‡ āĻĄāĻžāϟāĻž āĻ•āϝāĻŧ⧇āĻ• āϏ⧇āϕ⧇āĻ¨ā§āĻĄ (āĻ…āĻĨāĻŦāĻž āĻŽāĻŋāύāĻŋāϟ) āĻĒ⧇āĻ›āĻžāύ⧋ āĻĨāĻžāĻ•āϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

āĻŸā§āϰ⧇āĻĄ-āĻ…āĻĢ: āϤāĻžāϜāĻž āĻĄāĻžāϟāĻž āĻŦāύāĻžāĻŽ āĻ—āϤāĻŋ (āϰ⧇āĻĒā§āϞāĻŋāϕ⧇āĻļāύ āĻ˛ā§āϝāĻžāĻ—)

āϰāĻŋāĻĒā§āϞāĻŋāĻ•āĻž āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄāϗ⧁āϞ⧋āϕ⧇ āĻĻā§āϰ⧁āϤ āϰāĻžāϖ⧇ āĻ•āĻžāϰāĻŖ āĻāϟāĻŋ āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚ āĻ•ā§ā§Ÿā§‡āϰāĻŋ āĻĒā§āϰāĻžāχāĻŽāĻžāϰāĻŋ āĻĨ⧇āϕ⧇ āϤ⧁āϞ⧇ āĻ¨ā§‡ā§ŸāĨ¤ āĻ–āϰāϚ āĻšāϞ āϝ⧇ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻž āϏāĻžāϧāĻžāϰāĻŖāϤ āϏāĻžāĻŽāĻžāĻ¨ā§āϝ āĻĒāĻŋāĻ›āĻŋā§Ÿā§‡ āĻĨāĻžāϕ⧇āĨ¤ āĻāχ āĻĄāĻŋāϞ⧇-āϟāĻŋāϕ⧇āχ āϰ⧇āĻĒā§āϞāĻŋāϕ⧇āĻļāύ āĻ˛ā§āϝāĻžāĻ— āĻŦāϞ⧇ āĻāĻŦāĻ‚ āĻāϟāĻŋ āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚ā§Ÿā§‡āϰ āϜāĻ¨ā§āϝ PostgreSQL āϰāĻŋāĻĄ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻžāϰ āĻŽā§‚āϞ āĻŸā§āϰ⧇āĻĄ-āĻ…āĻĢāĨ¤

āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰāĻž āϏāĻšāϜāĻ­āĻžāĻŦ⧇ āϞāĻ•ā§āĻˇā§āϝ āĻ•āϰ⧇: “āφāϜāϕ⧇āĻ°â€ āϏāĻ‚āĻ–ā§āϝāĻž āĻāĻ•āϟ⧁ āĻ•āĻŽ, āϏāĻžāĻŽā§āĻĒā§āϰāϤāĻŋāĻ• āĻ…āĻ°ā§āĻĄāĻžāϰāϗ⧁āϞāĻŋ āĻ…āύ⧁āĻĒāĻ¸ā§āĻĨāĻŋāϤ, āĻŦāĻž āĻāĻ•āϟāĻŋ āϚāĻžāĻ°ā§āϟ āĻ•āϝāĻŧ⧇āĻ• āĻŽāĻŋāύāĻŋāϟ āĻĒāϰ⧇ āφāĻĒāĻĄā§‡āϟ āĻšā§ŸāĨ¤ āĻŦ⧇āĻļāĻŋāϰāĻ­āĻžāĻ— āĻŽāĻžāύ⧁āώ āωāĻĻā§āĻŦ⧇āĻ— āĻ•āϰ⧇ āύāĻž āϝāĻĻāĻŋ āϏāĻžāĻĒā§āϤāĻžāĻšāĻŋāĻ• āĻŸā§āϰ⧇āĻ¨ā§āĻĄ ⧍ āĻŽāĻŋāύāĻŋāϟ āĻĒ⧁āϰāύ⧋ āĻšā§Ÿ, āĻ•āĻŋāĻ¨ā§āϤ⧁ āϤāĻžāϰāĻž āωāĻĻā§āĻŦāĻŋāĻ—ā§āύ āĻšāĻŦ⧇ āϝāĻĻāĻŋ "āĻĒ⧇āĻŽā§‡āĻ¨ā§āϟ āĻāĻ–āύāχ āϏāĻĢāϞ āĻšā§Ÿā§‡āϛ⧇" āĻ­āĻŋāω āϭ⧁āϞ āĻĻ⧇āĻ–āĻžā§ŸāĨ¤

āĻ˛ā§āϝāĻžāĻ— āϘāĻŸā§‡ āϝāĻ–āύ āĻĒā§āϰāĻžāχāĻŽāĻžāϰāĻŋ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻž āĻĨ⧇āϕ⧇ āĻĻā§āϰ⧁āϤ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āϤ⧈āϰāĻŋ āĻ•āϰ⧇ āϝ⧇āϟāĻŋ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻž āĻ—ā§āϰāĻšāύ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āϰ⧇āĻĒā§āϞ⧇ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇ āύāĻžāĨ¤ āϏāĻžāϧāĻžāϰāĻŖ āĻ•āĻžāϰāĻŖāϗ⧁āϞ⧋āϰ āĻŽāĻ§ā§āϝ⧇ āĻ°ā§Ÿā§‡āϛ⧇ āϞ⧇āĻ–āĻžāϰ āφāĻ—āĻŽāύ āĻŦ⧃āĻĻā§āϧāĻŋ (āĻĢā§āĻ˛ā§āϝāĻžāĻļ āϏ⧇āϞāϏ, āχāĻŽā§āĻĒā§‹āĻ°ā§āϟ), āϏ⧀āĻŽāĻŋāϤ āύ⧇āϟāĻ“āϝāĻŧāĻžāĻ°ā§āĻ• āĻŦā§āϝāĻžāĻ¨ā§āĻĄāωāχāĻĨ, āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻžāϰ āϧ⧀āϰ āĻĄāĻŋāĻ¸ā§āĻ•, āĻ…āĻĨāĻŦāĻž āĻĻā§€āĻ°ā§āϘ āϚāϞāĻŽāĻžāύ āĻ•ā§ā§Ÿā§‡āϰāĻŋ āϝāĻž āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻž āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύāϗ⧁āϞ⧋ āĻĒā§āĻ°ā§Ÿā§‹āĻ— āĻ•āϰāĻžāϰ āϏāĻŽā§Ÿ CPU āĻ“ I/O-āϰ āϏāĻ™ā§āϗ⧇ āĻĒā§āϰāϤāĻŋāĻĻā§āĻŦāĻ¨ā§āĻĻā§āĻŦāĻŋāϤāĻž āĻ•āϰ⧇āĨ¤

āĻ—ā§āϰāĻšāĻŖāϝ⧋āĻ—ā§āϝ āĻ˛ā§āϝāĻžāĻ— āύāĻŋāĻ°ā§āϧāĻžāϰāϪ⧇āϰ āĻāĻ•āϟāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻŋāĻ• āωāĻĒāĻžā§Ÿ āĻšāϞ⧋ āĻāϟāĻŋ āϏ⧇āχ āϏāĻŋāĻĻā§āϧāĻžāĻ¨ā§āϤ⧇āϰ āĻ…āύ⧁āϰ⧂āĻĒ āĻ•āϰāĻž āϝ⧇āϟāĻž āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄ āϏāĻŽāĻ°ā§āĻĨāύ āĻ•āϰ⧇:

  • āĻāĻ•ā§āϏāĻŋāĻ•āĻŋāωāϟāĻŋāĻ­ KPI āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄ: āϏ⧇āϕ⧇āĻ¨ā§āĻĄ āĻĨ⧇āϕ⧇ āĻ•āϝāĻŧ⧇āĻ• āĻŽāĻŋāύāĻŋāϟ āϏāĻžāϧāĻžāϰāĻŖāϤ āĻ āĻŋāĻ• āφāϛ⧇āĨ¤
  • āĻ…āĻĒāĻžāϰ⧇āĻļāύāĻžāϞ āĻ•āĻŋāω (āĻļāĻŋāĻĒāĻŋāĻ‚, āϏāĻžāĻĒā§‹āĻ°ā§āϟ): āύāĻŋāĻ•āϟ-āϰāĻŋā§Ÿā§‡āϞ āϟāĻžāχāĻŽ āϞāĻ•ā§āĻˇā§āϝ āĻ•āϰ⧁āύ, āϏāĻžāϧāĻžāϰāĻŖāϤ āϏ⧇āϕ⧇āĻ¨ā§āĻĄ āĻĒāĻ°ā§āϝāĻžā§Ÿā§‡āĨ¤
  • āĻĢāĻžāχāύāĻžāĻ¨ā§āϏāĻŋ⧟āĻžāϞ āĻ•ā§āϞ⧋āϜ āĻŦāĻž āĻ…āĻĄāĻŋāϟ: āύāĻŋ⧟āĻ¨ā§āĻ¤ā§āϰāĻŖāĻ•ā§ƒāϤ āĻ¸ā§āĻ¨ā§āϝāĻžāĻĒāĻļāĻŸā§‡ āϚāĻžāϞāĻžāύ, "āϞāĻžāχāĻ­" āύ⧟āĨ¤
  • āĻ•āĻžāĻ¸ā§āϟāĻŽāĻžāϰ-āĻĢ⧇āϏāĻŋāĻ‚ "āφāĻŽāĻžāϰ āϏāĻžāĻŽā§āĻĒā§āϰāϤāĻŋāĻ• āĻ…āĻ°ā§āĻĄāĻžāϰ": āύāĻŋāĻ•āϟ-āϰāĻŋā§Ÿā§‡āϞ āϟāĻžāχāĻŽ āĻŦāĻž āĻĒā§āϰāĻžāχāĻŽāĻžāϰāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύāĨ¤

āϏāϰāϞ āύāĻŋāϝāĻŧāĻŽ: āϝāĻĻāĻŋ āĻāĻ•āϟāĻŋ āϰāĻŋāĻĒā§‹āĻ°ā§āϟ āĻ…āĻŦāĻļā§āϝāχ āϏāĻ°ā§āĻŦāĻļ⧇āώ āĻ•āĻŽāĻŋāĻŸā§‡āĻĄ āĻŸā§āϰāĻžāύāĻœā§‡āĻ•āĻļāύ āĻ…āĻ¨ā§āϤāĻ°ā§āϭ⧁āĻ•ā§āϤ āĻ•āϰāϤ⧇ āĻšāĻŦ⧇, āϤāĻŦ⧇ āĻāϟāĻŋ āĻĒā§āϰāĻžāχāĻŽāĻžāϰāĻŋ (āĻ…āĻĨāĻŦāĻž āύāĻŋāĻļā§āϚāĻŋāϤ āϤāĻžāϜāĻž āĻĨāĻžāĻ•āĻž āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ) āĻ āĻĒ⧜āϤ⧇ āĻšāĻŦ⧇āĨ¤ āϏāĻžāϧāĻžāϰāĻŖ āωāĻĻāĻžāĻšāϰāĻŖ: āĻšā§‡āĻ•āφāωāϟ āϏāĻŽā§Ÿ āχāύāϭ⧇āĻ¨ā§āϟāϰāĻŋ āωāĻĒāϞāĻŦā§āϧāϤāĻž, āĻĒā§āϰāϤāĻžāϰāĻŖāĻž āĻšā§‡āĻ•, āĻāĻŦāĻ‚ āĻāĻŽāύ āĻ•āĻŋāϛ⧁ āϝāĻž āĻ…āĻŦāĻŋāϞāĻŽā§āĻŦ⧇ āĻāĻ•āϟāĻŋ āĻ•āĻžāĻ°ā§āϝ āϏāĻŽā§āĻĒāĻžāĻĻāύ āĻ•āϰ⧇āĨ¤

āωāĻĻāĻžāĻšāϰāĻŖ: āĻāĻ•āϟāĻŋ āϏ⧇āϞāϏ āϟāĻŋāĻŽā§‡āϰ āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻžā§Ÿ āύāĻŋāϰāĻžāĻĒāĻĻ⧇ āĻĒ⧜āϤ⧇ āĻĒāĻžāϰ⧇ āĻāĻŦāĻ‚ āĻĒā§āϰāϤāĻŋ āĻŽāĻŋāύāĻŋāĻŸā§‡ āϰāĻŋāĻĢā§āϰ⧇āĻļ āĻ•āϰ⧇āĨ¤ āĻ•āĻŋāĻ¨ā§āϤ⧁ "āĻ…āĻ°ā§āĻĄāĻžāϰ āĻ•āύāĻĢāĻžāĻ°ā§āĻŽā§‡āĻļāύ" āĻĒ⧇āϜāϟāĻŋ āĻĒā§āϰāĻžāχāĻŽāĻžāϰāĻŋ āĻĨ⧇āϕ⧇ āĻĒ⧜āĻž āωāϚāĻŋāϤ, āĻ•āĻžāϰāĻŖ āĻ āĻŋāĻ•āχ āĻ¸ā§āĻĨāĻžāĻĒāύ āĻšāĻ“ā§ŸāĻž āĻ…āĻ°ā§āĻĄāĻžāϰ⧇āϰ āϜāĻ¨ā§āϝ "āĻ…āĻ°ā§āĻĄāĻžāϰ āĻĒāĻžāĻ“ā§ŸāĻž āϝāĻžā§ŸāύāĻŋ" āĻĻ⧇āĻ–āĻžāύ⧋ āϏāĻžāĻĒā§‹āĻ°ā§āϟ āϟāĻŋāĻ•āĻŋāĻŸā§‡āϰ āĻ•āĻžāϰāĻŖ āĻšāĻŦ⧇āĨ¤

āϝāĻĻāĻŋ āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒ āĻŦāĻž āϕ⧋āύ⧋ āϕ⧋āĻĄāĻŦāĻŋāĻšā§€āύ āϟ⧁āϞ āφāĻĒāύāĻžāϕ⧇ āĻāĻ•āϟāĻŋ āĻĄāĻžāϟāĻžāĻŦ⧇āϏ āĻ•āĻžāύ⧇āĻ•āĻļāύ āĻŦ⧇āϛ⧇ āύāĻŋāϤ⧇ āĻĻā§‡ā§Ÿ (āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ AppMaster-āĻ āϰāĻŋāĻĄ-āĻ“āύāϞāĻŋ āĻ¸ā§āĻ•ā§āϰāĻŋāύāϕ⧇ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻžā§Ÿ āĻĒā§Ÿā§‡āĻ¨ā§āϟ āĻ•āϰāĻž), āφāĻĒāύāĻŋ UI āĻ•āĻŋāĻ­āĻžāĻŦ⧇ āĻŦāĻžāύāĻžāύ⧋ āĻšā§Ÿ āϤāĻž āĻŦāĻĻāϞ āύāĻž āĻ•āϰ⧇ āĻāχ āĻŦāĻŋāĻ­āĻžāϜāύ āĻĒā§āĻ°ā§Ÿā§‹āĻ— āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤

āϧāĻžāĻĒ⧇ āϧāĻžāĻĒ⧇: āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄā§‡āϰ āϜāĻ¨ā§āϝ āϰāĻŋāĻĄ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻž āϏ⧇āϟ āφāĻĒ āĻ•āϰāĻž

āĻšā§‡āĻ•āφāωāϟ āĻĒāĻžāϰāĻĢāϰāĻŽā§āϝāĻžāĻ¨ā§āϏ āϏ⧁āϰāĻ•ā§āώāĻŋāϤ āĻ•āϰ⧁āύ
āϰāĻŋāĻĒā§āϞāĻŋāĻ•āĻžāϤ⧇ āϰāĻŋāĻĄ āϰāĻžāωāϟ āĻ•āϰ⧇ āφāĻĒāύāĻžāϰ āĻĒā§āϰāϧāĻžāύ āĻĄāĻžāϟāĻžāĻŦ⧇āϏāϕ⧇ āĻ­āĻžāϰ⧀ GROUP BY āĻ•ā§ā§Ÿā§‡āϰāĻŋ āĻĨ⧇āϕ⧇ āϰāĻ•ā§āώāĻž āĻ•āϰ⧁āύāĨ¤
āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄ āĻŦāĻžāύāĻžāύ

āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄā§‡āϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻž āϏ⧇āϟ āφāĻĒ āĻ•āϰāĻž āĻŦ⧇āĻļāĻŋāϰāĻ­āĻžāĻ—āχ āĻ•āĻŋāϛ⧁ āĻ¸ā§āĻĒāĻˇā§āϟ āϏāĻŋāĻĻā§āϧāĻžāĻ¨ā§āϤ āύ⧇āĻ“ā§ŸāĻž āĻāĻŦāĻ‚ āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚ āĻŸā§āϰāĻžāĻĢāĻŋāĻ•āϕ⧇ āĻĒā§āϰāĻžāχāĻŽāĻžāϰāĻŋ āĻĄāĻžāϟāĻžāĻŦ⧇āϏ āĻĨ⧇āϕ⧇ āĻĻā§‚āϰ⧇ āϰāĻžāĻ–āĻž āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇āĨ¤

1) āϏāĻ āĻŋāĻ• āĻŸā§‹āĻĒā§‹āϞāϜāĻŋ āύāĻŋāĻ°ā§āϧāĻžāϰāĻŖ āĻ•āϰ⧁āύ

āĻŸā§‹āĻĒā§‹āϞāϜāĻŋ āĻĨ⧇āϕ⧇ āĻļ⧁āϰ⧁ āĻ•āϰ⧁āύāĨ¤ āĻāĻ•āϟāĻŋ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻž āĻāĻ•āĻžāϧāĻŋāĻ• BI āϟ⧁āϞ āĻ“ āĻ•āĻŋāϛ⧁ āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄā§‡āϰ āϜāĻ¨ā§āϝ āĻĒā§āϰāĻžāϝāĻŧāχ āϝāĻĨ⧇āĻˇā§āϟāĨ¤ āϝāĻ–āύ āĻ…āύ⧇āĻ• āĻŦāĻŋāĻļā§āϞ⧇āώāĻ• āĻŦāĻž āĻāĻ•āĻžāϧāĻŋāĻ• āϟ⧁āϞ āϏāĻžāϰāĻžāĻĻāĻŋāύ āĻĄāĻžāϟāĻžā§Ÿ āφāϘāĻžāϤ āĻ•āϰ⧇ āϤāĻ–āύ āĻāĻ•āĻžāϧāĻŋāĻ• āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻž āϏāĻšāĻžāϝāĻŧāĻ•āĨ¤ āϝāĻĻāĻŋ āφāĻĒāύāĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰāĻž āĻĒā§āϰāϧāĻžāύ āϰāĻŋāϜāĻŋ⧟āύ⧇āϰ āĻŦāĻžāχāϰ⧇ āĻĨāĻžāϕ⧇, āĻāĻ•āϟāĻŋ āφāĻžā§āϚāϞāĻŋāĻ• āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻž āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄā§‡āϰ āϜāĻ¨ā§āϝ āϞ⧇āĻŸā§‡āĻ¨ā§āϏāĻŋ āĻ•āĻŽāĻžāϤ⧇ āĻĒāĻžāϰ⧇, āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻāϟāĻŋ āφāϰāĻ“ āĻŽāύāĻŋāϟāϰāĻŋāĻ‚ āϝ⧋āĻ— āĻ•āϰ⧇āĨ¤

āĻĒāϰāĻŦāĻ°ā§āϤ⧀ āϧāĻžāĻĒ: synchronous āύāĻž asynchronous āϰ⧇āĻĒā§āϞāĻŋāϕ⧇āĻļāύ āύāĻŋāĻ°ā§āĻŦāĻžāϚāύ āĻ•āϰ⧁āύāĨ¤ synchronous āϏāĻ°ā§āĻŦā§‹āĻ¤ā§āϤāĻŽ āϤāĻžāϜāĻž āĻĄāĻžāϟāĻž āĻĻā§‡ā§Ÿ āĻ•āĻŋāĻ¨ā§āϤ⧁ āϞ⧇āĻ–āĻžāϗ⧁āϞ⧋āϕ⧇ āϧ⧀āϰ āĻ•āϰ⧇ āĻĻāĻŋāϤ⧇ āĻĒāĻžāϰ⧇, āϝāĻž āĻ…āύ⧇āĻ• āĻĻāϞ⧇āϰ āωāĻĻā§āĻĻ⧇āĻļā§āϝ āύāĻˇā§āϟ āĻ•āϰ⧇āĨ¤ āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄā§‡āϰ āϜāĻ¨ā§āϝ asynchronous āϏāĻžāϧāĻžāϰāĻŖāϤ āĻĒāĻ›āĻ¨ā§āĻĻ, āϝāϤāĻ•ā§āώāĻŖ āϏāĻŦāĻžāχ āĻŽā§‡āύ⧇ āĻ¨ā§‡ā§Ÿ āϝ⧇ āĻĄāĻžāϟāĻž āĻāĻ•āϟ⧁ āĻĒāĻŋāĻ›āĻŋā§Ÿā§‡ āĻĨāĻžāĻ•āϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

2) āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻž āϝ⧇āύ āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚ āϏāĻžāĻ°ā§āĻ­āĻžāϰ⧇āϰ āĻŽāϤ⧋ āĻ—ā§œā§āύ

āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻž āĻāĻ•āϟāĻŋ āϏāĻ¸ā§āϤāĻž āĻĒā§āϰāĻĄāĻžāĻ•āĻļāύ āĻ•āĻĒāĻŋāϰ āĻŽāϤ⧋ āύ⧟āĨ¤ āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚ āĻ•ā§ā§Ÿā§‡āϰāĻŋāϰ āϜāĻ¨ā§āϝ āĻŦ⧇āĻļāĻŋ CPU, āĻŦ⧜ āϏ⧋āĻ°ā§āĻŸā§‡āϰ āϜāĻ¨ā§āϝ āĻŦ⧇āĻļāĻŋ āĻŽā§‡āĻŽāϰāĻŋ, āĻāĻŦāĻ‚ āĻ¸ā§āĻ•ā§āϝāĻžāύ⧇āϰ āϜāĻ¨ā§āϝ āĻĻā§āϰ⧁āϤ āĻĄāĻŋāĻ¸ā§āĻ• āĻĒā§āϰāĻžāϝāĻŧāĻļāχ āĻĒā§āĻ°ā§Ÿā§‹āϜāύāĨ¤

PostgreSQL āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻžāϗ⧁āϞ⧋āϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻŋāĻ• āϏ⧇āϟāφāĻĒ āĻĢā§āϞ⧋:

  • āύāĻŋāĻ°ā§āϧāĻžāϰāĻŖ āĻ•āϰ⧁āύ āĻ•āϤāϟāĻŋ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻž āĻĒā§āĻ°ā§Ÿā§‹āϜāύ āĻāĻŦāĻ‚ āϤāĻžāϰāĻž āϕ⧋āĻĨāĻžā§Ÿ āĻĨāĻžāĻ•āĻŦ⧇ (āĻāĻ•āχ āϰāĻŋāϜāĻŋ⧟āύ āύāĻžāĻ•āĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āĻĻ⧇āϰ āĻ•āĻžāϛ⧇ āĻ•āĻžāϛ⧇)āĨ¤
  • āφāĻĒāύāĻžāϰ āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄ āĻ•āϤāϟāĻž āĻĄāĻŋāϞ⧇ āϏāĻšā§āϝ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇ āϤāĻžāϤ⧇ āĻ­āĻŋāĻ¤ā§āϤāĻŋ āĻ•āϰ⧇ async āĻŦāύāĻžāĻŽ sync āϚāϝāĻŧāύ āĻ•āϰ⧁āύāĨ¤
  • āϰāĻŋāĻĄ-āĻšā§‡āĻ­āĻŋ āĻ•āĻžāĻœā§‡āϰ āϜāĻ¨ā§āϝ āϰāĻŋāϏ⧋āĻ°ā§āϏ āĻĒā§āϰ⧋āĻ­āĻŋāĻļāύ āĻ•āϰ⧁āύ (CPU, RAM, āĻāĻŦāĻ‚ āĻĄāĻŋāĻ¸ā§āĻ• IOPS, āĻ¸ā§āĻŸā§‹āϰ⧇āϜ āϏāĻžāχāĻœā§‡āϰ āĻšā§‡āϝāĻŧ⧇ āĻāϗ⧁āϞ⧋ āĻŦ⧇āĻļāĻŋ āϗ⧁āϰ⧁āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ)āĨ¤
  • āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āĻ“ āϟ⧁āϞāϗ⧁āϞ⧋āϰ āϜāĻ¨ā§āϝ āφāϞāĻžāĻĻāĻž, āϰāĻŋāĻĄ-āĻ“āύāϞāĻŋ āĻ•ā§āϰ⧇āĻĄā§‡āύāĻļāĻŋāϝāĻŧāĻžāϞ āϤ⧈āϰāĻŋ āĻ•āϰ⧁āύāĨ¤
  • āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄ āĻ•ā§ā§Ÿā§‡āϰāĻŋāϗ⧁āϞ⧋āϕ⧇ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻžā§Ÿ āϰāĻžāωāϟ āĻ•āϰ⧁āύ (āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒ, BI āϟ⧁āϞ, āĻŦāĻž āĻāĻ•āϟāĻŋ āϛ⧋āϟ āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚ āϏāĻžāĻ°ā§āĻ­āĻŋāϏ⧇ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻž āĻ•āĻžāύ⧇āĻ•āĻļāύ āĻ•āύāĻĢāĻŋāĻ—āĻžāϰ āĻ•āϰ⧁āύ)āĨ¤

āϰāĻžāωāϟ āĻ•āϰāĻžāϰ āĻĒāϰ⧇ āĻāĻ•āϟāĻŋ āϏāϰāϞ āĻŸā§‡āĻ¸ā§āϟ āĻĻāĻŋā§Ÿā§‡ āϝāĻžāϚāĻžāχ āĻ•āϰ⧁āύ: āĻāĻ•āϟāĻŋ āĻĒāϰāĻŋāϚāĻŋāϤ āĻ­āĻžāϰāĻŋ āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄ āĻ•ā§ā§Ÿā§‡āϰāĻŋ āϚāĻžāϞāĻžāύ āĻāĻŦāĻ‚ āύāĻŋāĻļā§āϚāĻŋāϤ āĻ•āϰ⧁āύ āĻāϟāĻŋ āφāϰ āĻĒā§āϰāĻžāχāĻŽāĻžāϰāĻŋ āĻĄāĻžāϟāĻžāĻŦ⧇āϏ āĻ…ā§āϝāĻžāĻ•ā§āϟāĻŋāĻ­āĻŋāϟāĻŋāϤ⧇ āĻĒā§āϰāĻĻāĻ°ā§āĻļāĻŋāϤ āĻšāĻšā§āϛ⧇ āύāĻžāĨ¤

āφāĻĒāύāĻŋ āϝāĻĻāĻŋ AppMaster āĻĻāĻŋā§Ÿā§‡ āĻ…ā§āϝāĻžāĻĒ āϤ⧈āϰāĻŋ āĻ•āϰ⧇āύ, āĻāϟāĻŋ āϏāĻžāϧāĻžāϰāĻŖāϤ āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚ā§Ÿā§‡āϰ āϜāĻ¨ā§āϝ āφāϞāĻžāĻĻāĻž āĻĄāĻžāϟāĻžāĻŦ⧇āϏ āĻ•āĻžāύ⧇āĻ•āĻļāύ āϏāĻ‚āĻœā§āĻžāĻžā§ŸāĻŋāϤ āĻ•āϰāĻž āĻāĻŦāĻ‚ āϕ⧇āĻŦāϞ āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄ āĻāĻ¨ā§āĻĄāĻĒā§Ÿā§‡āĻ¨ā§āϟāϗ⧁āϞ⧋āϰ āϜāĻ¨ā§āϝ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻžāϰ āĻŽāĻžāύ⧇ āĻĻāĻžāρ⧜āĻžā§Ÿ, āϝāĻžāϤ⧇ āĻšā§‡āĻ•āφāωāϟ āĻ“ āĻ…āĻ¨ā§āϝāĻžāĻ¨ā§āϝ āĻŸā§āϰāĻžāύāĻœā§‡āĻ•āĻļāύāĻžāϞ āĻĢā§āϞ⧋ āφāϞāĻžāĻĻāĻž āĻĻā§āϰ⧁āϤ āĻĒāĻĨ āϰāĻžāϖ⧇āĨ¤

āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āĻĻ⧇āϰ āϜāĻ¨ā§āϝ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞ āĻ“ āϏ⧁āϰāĻ•ā§āώāĻž

āϰāĻŋāĻĒā§āϞāĻŋāĻ•āĻž āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄā§‡āϰ āϜāĻ¨ā§āϝ āĻĻ⧁āĻ°ā§āĻĻāĻžāĻ¨ā§āϤ, āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻāϟāĻžāϤ⧇āĻ“ āύāĻŋāϰāĻžāĻĒāĻ¤ā§āϤāĻž āĻĒā§āĻ°ā§Ÿā§‹āϜāύāĨ¤ āĻāϟāĻŋāϕ⧇ āĻāĻ•āϟāĻŋ āĻļā§‡ā§ŸāĻžāĻ°ā§āĻĄ āϰāĻŋāϏ⧋āĻ°ā§āϏ āĻšāĻŋāϏ⧇āĻŦ⧇ āĻŦāĻŋāĻŦ⧇āϚāύāĻž āĻ•āϰ⧁āύ: āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚ āϟ⧁āϞāϗ⧁āϞ⧋āϕ⧇ āϤāĻžāĻĻ⧇āϰ āĻ•āĻžāϜ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āϝāĻĨ⧇āĻˇā§āϟ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻĻāĻŋāύ, āĻāĻŦāĻ‚ āĻāĻ•āϟāĻŋ āĻ–āĻžāϰāĻžāĻĒ āĻ•ā§ā§Ÿā§‡āϰāĻŋ āĻ•āϤ⧋ āĻ•ā§āώāϤāĻŋ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇ āϤāĻž āϏ⧀āĻŽāĻŋāϤ āĻ•āϰ⧁āύāĨ¤

āĻĒā§āϰāĻĨāĻŽā§‡ āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚ā§Ÿā§‡āϰ āϜāĻ¨ā§āϝ āφāϞāĻžāĻĻāĻž āĻĄāĻžāϟāĻžāĻŦ⧇āϏ āχāωāϜāĻžāϰ āĻĻāĻŋā§Ÿā§‡ āĻļ⧁āϰ⧁ āĻ•āϰ⧁āύāĨ¤ āĻ…ā§āϝāĻžāĻĒ⧇āϰ āĻĒā§āϰāϧāĻžāύ āĻ•ā§āϰ⧇āĻĄā§‡āύāĻļāĻŋāϝāĻŧāĻžāϞ āĻĒ⧁āύāσāĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āĻāĻĄāĻŧāĻžāύ, āĻāĻŽāύāĻ•āĻŋ āφāĻĒāύāĻŋ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻžāϤ⧇ āĻĒā§Ÿā§‡āĻ¨ā§āϟ āĻ•āϰāϞ⧇āĻ“āĨ¤ āĻāϟāĻŋ āĻ…ā§āϝāĻžāĻ•ā§āϟāĻŋāĻ­āĻŋāϟāĻŋ āĻ…āĻĄāĻŋāϟ āĻ•āϰāĻž, āĻĒāĻžāϏāĻ“ā§ŸāĻžāĻ°ā§āĻĄ āϰāĻŸā§‡āĻļāύ āĻāĻŦāĻ‚ āĻĒā§āϰāĻŋāĻ­āĻŋāϞ⧇āϜ āϏ⧀āĻŽāĻŋāϤ āϰāĻžāĻ–āĻž āϏāĻšāϜ āĻ•āϰ⧇āĨ¤

āĻŦ⧇āĻļāĻŋāϰāĻ­āĻžāĻ— āĻĻāϞ⧇āϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āϏāϰāϞ āĻĒāĻ¨ā§āĻĨāĻž:

-- Create a dedicated login
CREATE ROLE report_user LOGIN PASSWORD '...';

-- Allow read-only access to a schema
GRANT CONNECT ON DATABASE yourdb TO report_user;
GRANT USAGE ON SCHEMA public TO report_user;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO report_user;
ALTER DEFAULT PRIVILEGES IN SCHEMA public
  GRANT SELECT ON TABLES TO report_user;

-- Put safety limits on the role
ALTER ROLE report_user SET statement_timeout = '30s';
ALTER ROLE report_user SET idle_in_transaction_session_timeout = '15s';

āĻāϰāĻĒāϰ āĻ•āύ⧇āĻ•āĻļāύ āĻ¸ā§āϟāĻ°ā§āĻŽ āύāĻŋ⧟āĻ¨ā§āĻ¤ā§āϰāĻŖ āĻ•āϰ⧁āύāĨ¤ āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄ āĻ“ BI āϟ⧁āϞāϗ⧁āϞ⧋ āĻāĻ•āϏāĻžāĻĨ⧇ āĻ…āύ⧇āĻ• āĻ•āύ⧇āĻ•āĻļāύ āϖ⧁āϞāϤ⧇ āĻĒāĻ›āĻ¨ā§āĻĻ āĻ•āϰ⧇, āĻŦāĻŋāĻļ⧇āώāϤ āϝāĻ–āύ āĻāĻ•āĻžāϧāĻŋāĻ• āωāχāĻœā§‡āϟ āĻāĻ•āϏāĻ™ā§āϗ⧇ āϰāĻŋāĻĢā§āϰ⧇āĻļ āĻ•āϰ⧇āĨ¤ āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚ āĻ•āύ⧇āĻ•āĻļāύāϗ⧁āϞ⧋ āĻĄāĻžāϟāĻžāĻŦ⧇āϏ⧇ āĻāĻŦāĻ‚ āφāĻĒāύāĻžāϰ āĻĒ⧁āϞāĻžāϰ⧇ āϏ⧀āĻŽāĻŋāϤ āĻ•āϰ⧁āύ, āĻāĻŦāĻ‚ āϏ⧇āϗ⧁āϞ⧋ āĻŸā§āϰāĻžāύāĻœā§‡āĻ•āĻļāύāĻžāϞ āĻŸā§āϰāĻžāĻĢāĻŋāĻ• āĻĨ⧇āϕ⧇ āφāϞāĻžāĻĻāĻž āϰāĻžāϖ⧁āύāĨ¤

āĻāĻ•āϟāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻŋāĻ• āĻšā§‡āĻ•āϞāĻŋāĻ¸ā§āϟ:

  • āĻāĻ•āϟāĻŋ āϰāĻŋāĻĄ-āĻ“āύāϞāĻŋ āχāωāϜāĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύ (āϕ⧋āύ⧋ INSERT/UPDATE/DELETE āύāĻž, āĻ¸ā§āĻ•āĻŋāĻŽāĻž āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āύāĻž)āĨ¤
  • āϞāĻ‚ āĻ•ā§ā§Ÿā§‡āϰāĻŋ āĻ“ āφāχāĻĄāϞ āϏ⧇āĻļāύ āĻĒā§āϰāϤāĻŋāϰ⧋āϧ⧇ āĻĒā§āϰāϤāĻŋāϟāĻŋ āϰ⧋āϞ⧇āϰ āϜāĻ¨ā§āϝ āϟāĻžāχāĻŽāφāωāϟ āϏ⧇āϟ āĻ•āϰ⧁āύāĨ¤
  • āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚ āχāωāϜāĻžāϰāĻĻ⧇āϰ āϜāĻ¨ā§āϝ āϏāĻ°ā§āĻŦā§‹āĻšā§āϚ āĻ•āύ⧇āĻ•āĻļāύ āϏ⧀āĻŽāĻž āύāĻŋāĻ°ā§āϧāĻžāϰāĻŖ āĻ•āϰ⧁āύāĨ¤
  • āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āĻĒā§āĻ°ā§Ÿā§‹āϜāĻ¨ā§€ā§Ÿ āĻ¸ā§āĻ•āĻŋāĻŽāĻž āĻ“ āĻŸā§‡āĻŦāĻŋāϞāϗ⧁āϞ⧋āϰ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻĻāĻŋāύāĨ¤
  • āϏāĻ‚āĻŦ⧇āĻĻāύāĻļā§€āϞ āĻ•āϞāĻžāĻŽ (PII, āϏāĻŋāĻ•ā§āϰ⧇āϟ, āĻŸā§‹āϕ⧇āύ) āĻŽāĻžāĻ¸ā§āĻ• āĻŦāĻž āĻŦāĻžāĻĻ āĻĻāĻŋāύ āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚ āĻ­āĻŋāω-āϤ⧇āĨ¤

āφāĻĒāύāĻŋ āϝāĻĻāĻŋ āφāĻ‚āĻļāĻŋāĻ• āĻ•āĻžāĻ¸ā§āϟāĻŽāĻžāϰ āĻĄāĻžāϟāĻž āĻĻ⧇āĻ–āĻžāϤ⧇ āϚāĻžāύ, "āĻŽāĻžāύ⧁āώ āϏāĻžāĻŦāϧāĻžāύ āĻšāĻŦ⧇"—āĻ āϰāĻ•āĻŽ āϧāĻžāϰāĻŖāĻžāϰ āωāĻĒāϰ āύāĻŋāĻ°ā§āĻ­āϰ āĻ•āϰāĻŦ⧇āύ āύāĻžāĨ¤ āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚ āĻ­āĻŋāω āϤ⧈āϰāĻŋ āĻ•āϰ⧁āύ āϝāĻž āϏāĻ‚āĻŦ⧇āĻĻāύāĻļā§€āϞ āĻĢāĻŋāĻ˛ā§āĻĄāϗ⧁āϞ⧋ āĻšāĻžāχāĻĄ āĻŦāĻž āĻšā§āϝāĻžāĻļ āĻ•āϰ⧇, āĻ…āĻĨāĻŦāĻž āĻāĻ•āϟāĻŋ āĻ•āĻŋāωāϰ⧇āĻŸā§‡āĻĄ āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚ āĻ¸ā§āĻ•āĻŋāĻŽāĻž āĻŦāϜāĻžā§Ÿ āϰāĻžāϖ⧁āύāĨ¤ āϝāĻ–āύ āϟāĻŋāĻŽāϗ⧁āϞ⧋ AppMaster-āĻ āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄ āĻŦāĻžāύāĻžā§Ÿ, āϤāĻ–āύ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻž āĻ•āĻžāύ⧇āĻ•āĻļāύ āĻ¸ā§āĻŸā§āϰāĻŋāĻ‚ āĻ“ āĻĄā§‡āĻĄāĻŋāϕ⧇āĻŸā§‡āĻĄ āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚ āχāωāϜāĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āύāĻŋāĻļā§āϚāĻŋāϤ āĻ•āϰ⧁āύ āϝ⧇ āĻœā§‡āύāĻžāϰ⧇āĻŸā§‡āĻĄ āĻ…ā§āϝāĻžāĻĒ āĻĒā§āϰ⧋āĻĄāĻžāĻ•āĻļāύ āϰāĻžāχāϟ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āϛ⧁āĻā§Ÿā§‡ āύāĻžāĨ¤

āĻāχ āύāĻŋ⧟āĻ¨ā§āĻ¤ā§āϰāĻŖāϗ⧁āϞ⧋ PostgreSQL āϰāĻŋāĻĄ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻžāϗ⧁āϞ⧋āϕ⧇ āĻĻā§āϰ⧁āϤ, āĻĒā§‚āĻ°ā§āĻŦāĻžāύ⧁āĻŽā§‡ā§Ÿ āĻāĻŦāĻ‚ āĻ…āĻĒāĻŦā§āϝāĻŦāĻšāĻžāϰ⧇āϰ āϜāĻ¨ā§āϝ āĻ•āĻ āĻŋāύ āĻ•āϰ⧇ āϤ⧋āϞ⧇āĨ¤

āĻŽāύāĻŋāϟāϰāĻŋāĻ‚ āϝāĻž āφāĻĒāύāĻžāϰ āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄāϕ⧇ āĻ…āĻĒā§āϰāĻ¤ā§āϝāĻžāĻļāĻŋāϤāϤāĻžāϝāĻŧ āĻĨ⧇āϕ⧇ āϰāĻ•ā§āώāĻž āĻ•āϰ⧇

āĻŦāĻŋāύāĻž āĻ¸ā§āĻŸā§āϰ⧇āϏ⧇ āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚ āĻļāĻŋāĻĒ āĻ•āϰ⧁āύ
āĻāĻ•āϟāĻŋ āφāϞāĻžāĻĻāĻž āϰāĻŋāĻĄ-āĻ“āύāϞāĻŋ āĻĄāĻžāϟāĻžāĻŦ⧇āϏ āϏāĻ‚āϝ⧋āĻ— āĻĻāĻŋā§Ÿā§‡ āĻĻā§āϰ⧁āϤ āχāĻ¨ā§āϟāĻžāϰāύāĻžāϞ āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚ āĻ¸ā§āĻ•ā§āϰāĻŋāύ āϤ⧈āϰāĻŋ āĻ•āϰ⧁āύāĨ¤
āĻļ⧁āϰ⧁ āĻ•āϰ⧁āύ

āĻāĻ•āϟāĻŋ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻž āϕ⧇āĻŦāϞ āϤāĻ–āύāχ āϏāĻšāĻžā§ŸāĻ• āϝāĻĻāĻŋ āĻāϟāĻŋ āĻĒā§‚āĻ°ā§āĻŦāĻžāύ⧁āĻŽā§‡ā§ŸāĻ­āĻžāĻŦ⧇ āφāϚāϰāĻŖ āĻ•āϰ⧇āĨ¤ āĻĻ⧁āϟāĻŋ āϜāĻŋāύāĻŋāϏ āϝāĻž āϏāĻžāϧāĻžāϰāĻŖāϤ āĻĻāϞāϗ⧁āϞ⧋āϕ⧇ āĻ…āĻĒā§āϰāĻ¤ā§āϝāĻžāĻļāĻŋāϤāĻ­āĻžāĻŦ⧇ Ãŧberras āĻ•āϰ⧇ āĻšāĻšā§āϛ⧇: āύ⧀āϰāĻŦ āϰ⧇āĻĒā§āϞāĻŋāϕ⧇āĻļāύ āĻ˛ā§āϝāĻžāĻ— (āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄ "āϭ⧁āϞ" āĻĻ⧇āĻ–āĻžā§Ÿ) āĻāĻŦāĻ‚ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻžā§Ÿ āϰāĻŋāϏ⧋āĻ°ā§āϏ āĻ¸ā§āĻĒāĻžāχāĻ• (āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄ āϧ⧀āϰ āĻšā§Ÿ)āĨ¤ āĻŽāύāĻŋāϟāϰāĻŋāĻ‚ āωāϭ⧟āϕ⧇āχ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰ āφāϗ⧇ āϧāϰāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

āĻļ⧁āϰ⧁āϤ⧇āχ āĻ˛ā§āϝāĻžāĻ— āĻĒāϰāĻŋāĻŽāĻžāĻĒ āĻ•āϰ⧁āύ āĻāĻŦāĻ‚ āφāĻĒāύāĻžāϰ āĻŦā§āϝāĻŦāϏāĻžāϰ āϜāĻ¨ā§āϝ "āĻĒ suficient āϤāĻžāϜāĻž" āĻŽāĻžāύ⧇ āϕ⧀ āϤāĻž āύāĻŋāĻ°ā§āϧāĻžāϰāĻŖ āĻ•āϰ⧁āύāĨ¤ āĻ…āύ⧇āĻ• āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚ āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄā§‡āϰ āϜāĻ¨ā§āϝ 30 āĻĨ⧇āϕ⧇ 120 āϏ⧇āϕ⧇āĻ¨ā§āĻĄāχ āĻ āĻŋāĻ• āĻĨāĻžāϕ⧇āĨ¤ āĻ…āĻ¨ā§āϝāϗ⧁āϞ⧋āϰ āϜāĻ¨ā§āϝ (āϝ⧇āĻŽāύ āχāύāϭ⧇āĻ¨ā§āϟāϰāĻŋ āĻŦāĻž āĻĒā§āϰāϤāĻžāϰāĻŖāĻž) āĻāĻŽāύāĻ•āĻŋ 5 āϏ⧇āϕ⧇āĻ¨ā§āĻĄāĻ“ āĻŦ⧇āĻļāĻŋ āĻšāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āϝāĻž āύāĻŋāĻ°ā§āĻŦāĻžāϚāύ āĻ•āϰ⧁āύ, āϏ⧇āϟāĻŋāϕ⧇ āĻĻ⧃āĻļā§āϝāĻŽāĻžāύ āĻāĻ•āϟāĻŋ āϏāĻ‚āĻ–ā§āϝāĻž āϰāĻžāϖ⧁āύ āĻāĻŦāĻ‚ āϏ⧇āϟāĻŋ āĻ…āϤāĻŋāĻ•ā§āϰāĻŽ āĻ•āϰāϞ⧇ āĻ…ā§āϝāĻžāϞāĻžāĻ°ā§āϟ āĻ•āϰ⧁āύāĨ¤

PostgreSQL āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻžāϗ⧁āϞ⧋āϰ āϜāĻ¨ā§āϝ āĻ•āĻŋāϛ⧁ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻŋāĻ• āϏāĻŋāĻ—āĻ¨ā§āϝāĻžāϞ:

  • āϰ⧇āĻĒā§āϞāĻŋāϕ⧇āĻļāύ āĻ˛ā§āϝāĻžāĻ— (āϏāĻŽā§Ÿ āĻ“ āĻŦāĻžāχāϟ)āĨ¤ āφāĻĒāύāĻžāϰ āĻĨā§āϰ⧇āĻļāĻšā§‹āĻ˛ā§āĻĄ āĻ…āϤāĻŋāĻ•ā§āϰāĻŽ āĻ•āϰāϞ⧇ āĻ•ā§Ÿā§‡āĻ• āĻŽāĻŋāύāĻŋāϟ āϧāϰ⧇ āĻ…ā§āϝāĻžāϞāĻžāĻ°ā§āϟ āĻ•āϰ⧁āύ, āϕ⧇āĻŦāϞ āĻāĻ•āϟāĻŋ āĻ¸ā§āĻĒāĻžāχāĻ• āύ⧟āĨ¤
  • āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻž āĻšā§‡āϞāĻĨ: āĻĒā§āϰāϤāĻŋ-āĻĒāĻŋāĻ• āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚ āϏāĻŽā§Ÿ CPU, āĻŽā§‡āĻŽāϰāĻŋ āĻĒā§āϰ⧇āϏāĻžāϰ, āĻāĻŦāĻ‚ āĻĄāĻŋāĻ¸ā§āĻ• āϰāĻŋāĻĄ I/OāĨ¤
  • āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻžā§Ÿ āĻ•āύ⧇āĻ•āĻļāύ āĻ¸ā§āϝāĻžāϚ⧁āϰ⧇āĻļāύ (āĻ…āύ⧇āĻ• āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄ āϏ⧇āĻļāύ āĻĄāĻžāϟāĻžāĻŦ⧇āϏāϕ⧇ āϧ⧀āϰ āĻ•āϰ⧇ āĻĻāĻŋāϤ⧇ āĻĒāĻžāϰ⧇)āĨ¤
  • āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻžā§Ÿ āϧ⧀āϰ āĻ•ā§ā§Ÿā§‡āϰāĻŋ, āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻžāϰ āύāĻŋāĻœā§‡āϰ āĻ¸ā§āĻŸā§āϝāĻžāϟāϏ āĻ“ āϞāĻ— āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ (āĻĒā§āϰāĻžāχāĻŽāĻžāϰāĻŋ āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ—āĻ˛ā§āĻĒ āĻŦāϞ⧇ āύāĻž)āĨ¤
  • āĻ…āĻŸā§‹āĻ­ā§āϝāĻžāĻ•ā§ā§ŸāĻžāĻŽ āĻ“ āĻŸā§‡āĻŦāĻŋāϞ/āχāύāĻĄā§‡āĻ•ā§āϏ āĻŦ⧁āϞ⧇āϟāύ; āĻŸā§‡āĻŦāĻŋāϞ āĻŦāĻž āχāύāĻĄā§‡āĻ•ā§āϏ āĻŦā§āϞ⧋āϟ āĻšāϞ⧇ āϰāĻŋāĻĄāĻ“ āϧ⧀āϰ āĻšāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

āϧ⧀āϰ-āĻ•ā§ā§Ÿā§‡āϰāĻŋ āĻŸā§āĻ°ā§āϝāĻžāĻ•āĻŋāĻ‚āϕ⧇ āĻŦāĻŋāĻļ⧇āώ āĻŽāύ⧋āϝ⧋āĻ— āĻĻāĻŋāύāĨ¤ āĻāĻ•āϟāĻŋ āϏāĻžāϧāĻžāϰāĻŖ āĻŦā§āϝāĻ°ā§āĻĨāϤāĻž āĻšāĻšā§āϛ⧇: āĻāĻ•āϟāĻŋ āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄ āĻĒāϰ⧀āĻ•ā§āώāĻžā§Ÿ āĻ āĻŋāĻ• āĻ›āĻŋāϞ āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻĒā§āϰ⧋āĻĄāĻžāĻ•āĻļāύ⧇ "āĻĒ⧁āϰ⧋ āĻŸā§‡āĻŦāĻŋāϞ āĻ¸ā§āĻ•ā§āϝāĻžāύ āĻ‰ā§ŽāϏāĻŦ" āĻšā§Ÿā§‡ āĻ“āϠ⧇āĨ¤ āύāĻŋāĻļā§āϚāĻŋāϤ āĻ•āϰ⧁āύ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻžā§Ÿ āĻāĻŽāύ āĻāĻ•āχ āĻŽāύāĻŋāϟāϰāĻŋāĻ‚ āφāϛ⧇ āϝāĻž āφāĻĒāύāĻŋ āĻĒā§āϰāĻžāχāĻŽāĻžāϰāĻŋāϤ⧇ āĻ•āϰ⧇āύ, āϝ⧇āĻŽāύ āĻŽā§‹āϟ āϏāĻŽā§Ÿ āĻāĻŦāĻ‚ āĻ—ā§œ āϏāĻŽā§Ÿ āĻ…āύ⧁āϝāĻžā§Ÿā§€ āĻļā§€āĻ°ā§āώ āĻ•ā§ā§Ÿā§‡āϰāĻŋāĨ¤

āĻļ⧇āώ⧇, āφāϗ⧇ āĻĨ⧇āϕ⧇āχ āύāĻŋāĻ°ā§āϧāĻžāϰāĻŖ āĻ•āϰ⧁āύ āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒ āϕ⧀ āĻ•āϰāĻŦ⧇ āϝāĻ–āύ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻž āĻ…āύ⧁āĻĒāϞāĻŦā§āϧ āĻŦāĻž āϖ⧁āĻŦ āĻĒāĻŋāĻ›āĻŋā§Ÿā§‡ āϝāĻžāĻŦ⧇āĨ¤ āĻāĻ•āϟāĻŋ āφāϚāϰāĻŖ āĻŦ⧇āϛ⧇ āύāĻŋāύ āĻāĻŦāĻ‚ āϧāĻžāϰāĻžāĻŦāĻžāĻšāĻŋāĻ•āĻ­āĻžāĻŦ⧇ āϤāĻž āĻĒā§āĻ°ā§Ÿā§‹āĻ— āĻ•āϰ⧁āύ:

  • āĻ˛ā§āϝāĻžāĻ— āĻĨā§āϰ⧇āĻļāĻšā§‹āĻ˛ā§āĻĄ āĻ…āϤāĻŋāĻ•ā§āϰāĻŽ āĻ•āϰāϞ⧇ "āĻĄā§‡āϟāĻž āĻŦāĻŋāϞāĻŽā§āĻŦāĻŋāϤ" āĻŦā§āϝāĻžāύāĻžāϰ āĻĻ⧇āĻ–āĻžāύāĨ¤
  • āϏāĻžāĻŽāϝāĻŧāĻŋāĻ•āĻ­āĻžāĻŦ⧇ āϏāĻŦāĻšā§‡ā§Ÿā§‡ āĻ­āĻžāϰ⧀ āϚāĻžāĻ°ā§āϟāϗ⧁āϞ⧋ āĻ…āĻ•ā§āώāĻŽ āĻ•āϰ⧁āύ āĻāĻŦāĻ‚ āĻšāĻžāϞāĻ•āĻž āϏāĻžāϰāĻžāĻ‚āĻļ āĻĻ⧇āĻ–āĻžāύāĨ¤
  • āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āωāχāĻ¨ā§āĻĄā§‹āϰ āϜāĻ¨ā§āϝ āĻ•ā§āϝāĻžāĻļ āĻ•āϰāĻž āĻĢāϞāĻžāĻĢāϞ⧇ fallback āĻ•āϰ⧁āύ (āωāĻĻāĻžāĻšāϰāĻŖ: āϏāĻ°ā§āĻŦāĻļ⧇āώ 15 āĻŽāĻŋāύāĻŋāϟ)āĨ¤
  • āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻĒ⧃āĻˇā§āĻ āĻžāϰ āϜāĻ¨ā§āϝ āĻ•ā§āϰāĻŋāϟāĻŋāĻ•āĻžāϞ āϰāĻŋāĻĄāϗ⧁āϞ⧋ āĻĒā§āϰāĻžāχāĻŽāĻžāϰāĻŋāϤ⧇ āĻĢāĻŋāϰāĻŋāϝāĻŧ⧇ āĻĻāĻŋāύāĨ¤
  • āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻž āĻĒ⧁āύāϰ⧁āĻĻā§āϧāĻžāϰ āύāĻž āĻšāĻ“ā§ŸāĻž āĻĒāĻ°ā§āϝāĻ¨ā§āϤ āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄāϕ⧇ āϰāĻŋāĻĄ-āĻ“āύāϞāĻŋ āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻ¨ā§āϝāĻžāĻ¨ā§āϏ āĻŽā§‹āĻĄā§‡ āϰāĻžāϖ⧁āύāĨ¤

āφāĻĒāύāĻŋ āϝāĻĻāĻŋ AppMaster-āĻ āĻ…āĻ­ā§āϝāĻ¨ā§āϤāϰ⧀āĻŖ āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄ āϤ⧈āϰāĻŋ āĻ•āϰ⧇āύ, āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻžāϕ⧇ āφāϞāĻžāĻĻāĻž āĻĄā§‡āϟāĻž āϏ⧋āĻ°ā§āϏ āĻšāĻŋāϏ⧇āĻŦ⧇ āĻ—ā§āϰāĻšāĻŖ āĻ•āϰ⧁āύ: āφāϞāĻžāĻĻāĻž āĻ•āϰ⧇ āĻŽāύāĻŋāϟāϰ āĻ•āϰ⧁āύ, āĻāĻŦāĻ‚ freshness āĻŦāĻž āĻĒāĻžāϰāĻĢāϰāĻŽā§āϝāĻžāĻ¨ā§āϏ āĻ•āĻŽā§‡ āϗ⧇āϞ⧇ āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄāϕ⧇ āϏ⧁āĻ¨ā§āĻĻāϰāĻ­āĻžāĻŦ⧇ degrade āĻ•āϰāĻžāϰ āĻŽāϤ⧋ āĻĄāĻŋāϜāĻžāχāύ āĻ•āϰ⧁āύāĨ¤

āϏāĻžāϧāĻžāϰāĻŖ āϭ⧁āϞ āĻ“ āĻĢāĻžāρāĻĻ āϝāĻž āĻā§œāĻŋā§Ÿā§‡ āϚāϞāĻŦ⧇āύ

āύāĻŋāĻ•āϟāϤāĻŽ-āϰāĻŋā§Ÿā§‡āϞ āϟāĻžāχāĻŽā§‡āϰ āϜāĻ¨ā§āϝ āĻĄāĻŋāϜāĻžāχāύ āĻ•āϰ⧁āύ
āĻ˛ā§āϝāĻžāĻ— āϏāĻšāύāĻļā§€āϞ āĻ…ā§āϝāĻžāĻĄāĻŽāĻŋāύ āĻĒā§āϝāĻžāύ⧇āϞ āĻ“ KPI āĻ­āĻŋāω āĻĄāĻŋāϜāĻžāχāύ āĻ•āϰ⧁āύ āϝāĻžāϤ⧇ āϏāĻŦāϏāĻŽā§Ÿ āĻĒā§āϰāϤāĻŋāĻ•ā§āϰāĻŋ⧟āĻžāĻļā§€āϞ āĻĨāĻžāϕ⧇āĨ¤
āĻļ⧁āϰ⧁ āĻ•āϰ⧁āύ

āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻž āϏāĻšāĻžā§ŸāϤāĻž āĻ•āϰ⧇, āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻāϟāĻŋ āĻāĻ•āϟāĻŋ āĻŽā§āϝāĻžāϜāĻŋāĻ• āĻŦā§‹āϤāĻžāĻŽ āύāϝāĻŧ āϝ⧇ āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚āϕ⧇ āĻĢā§āϰ⧀ āĻ•āϰ⧇ āĻĻ⧇āĻŦ⧇āĨ¤ āĻŦ⧇āĻļāĻŋāϰāĻ­āĻžāĻ— āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻž āϏāĻŽāĻ¸ā§āϝāĻž āϤāĻ–āύāχ āφāϏ⧇ āϝāĻ–āύ āĻāϟāĻŋāϕ⧇ āĻ…āύāĻ¨ā§āϤ āĻŦāĻŋāĻļā§āϞ⧇āώāĻŖāĻ“āϝāĻŧā§āϝāĻžāϰāĻšāĻžāωāϏ āĻšāĻŋāϏ⧇āĻŦ⧇ āĻŦāĻŋāĻŦ⧇āϚāύāĻž āĻ•āϰāĻž āĻšā§Ÿ, āϤāĻžāϰāĻĒāϰ āĻšāĻ āĻžā§Ž āĻĻ⧇āĻ–āĻŦ⧇āύ āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄ āϧ⧀āϰ āĻŦāĻž āϭ⧁āϞ āĻšāϝāĻŧ⧇ āϝāĻžāĻšā§āϛ⧇āĨ¤

āĻāĻ•āϟāĻŋ āϏāĻšāϜ āĻŽāĻŋāϏ: āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻžāĻ“ āĻ“āĻ­āĻžāϰāϞ⧋āĻĄ āĻšāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āĻ•āĻŋāϛ⧁ āĻŦāĻŋāĻ¸ā§āϤ⧃āϤ āĻŸā§‡āĻŦāĻŋāϞ āĻ¸ā§āĻ•ā§āϝāĻžāύ, āĻ­āĻžāϰāĻŋ JOIN, āĻŦāĻž "SELECT *" āĻāĻ•ā§āϏāĻĒā§‹āĻ°ā§āϟ CPU āĻ“ āĻĄāĻŋāĻ¸ā§āĻ•āϕ⧇ āĻ•ā§œāĻž āϚāĻžāĻĒ āĻĻāĻŋāϤ⧇ āĻĒāĻžāϰ⧇ āĻāĻŦāĻ‚ āϟāĻžāχāĻŽāφāωāϟ āϘāϟāĻžāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āϝāĻĻāĻŋ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻž āĻĒā§āϰāĻžāχāĻŽāĻžāϰāĻŋāϰ āĻšā§‡āϝāĻŧ⧇ āϛ⧋āϟ āĻšāĻžāĻ°ā§āĻĄāĻ“ā§Ÿā§āϝāĻžāϰ⧇ āĻĨāĻžāϕ⧇ (āϏāĻžāĻļā§āϰāϝāĻŧā§€ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āϏāĻžāϧāĻžāϰāĻŖ), āϤāĻŦ⧇ āϧ⧀āϰāϤāĻž āφāϰāĻ“ āĻĻā§āϰ⧁āϤ āĻĻ⧇āĻ–āĻž āϝāĻžāĻŦ⧇āĨ¤

āϝ⧇āχ āĻĢāĻžāρāĻĻāϗ⧁āϞ⧋ āϏāĻŦāĻšā§‡ā§Ÿā§‡ āĻŦ⧇āĻļāĻŋ āĻŦā§āϝāĻĨāĻž āĻĻā§‡ā§Ÿ:

  • āĻ•ā§āϰāĻŋāϟāĻŋāĻ•āĻžāϞ āϰāĻŋā§Ÿā§‡āϞ-āϟāĻžāχāĻŽ āĻ¸ā§āĻ•ā§āϰāĻŋāύāϗ⧁āϞ⧋ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻžā§Ÿ āϰāĻžāωāϟ āĻ•āϰāĻžāĨ¤ āϝāĻĻāĻŋ āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄ āϏāĻĻā§āϝ āϏāĻŽā§āĻĒāĻ¨ā§āύ āĻšāĻ“ā§ŸāĻž āĻšā§‡āĻ•āφāωāϟ āύāĻŋāĻļā§āϚāĻŋāϤ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻŦā§āϝāĻŦāĻšā§ƒāϤ āĻšā§Ÿ, āϰ⧇āĻĒā§āϞāĻŋāϕ⧇āĻļāύ āĻ˛ā§āϝāĻžāĻ— āĻĄā§‡āϟāĻž āĻŽāĻŋāϏāĻŋāĻ‚ āĻ•āϰ⧇ āĻĻ⧇āĻ–āĻžāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤
  • BI āϟ⧁āϞāϗ⧁āϞ⧋āϕ⧇ āĻ…āύ⧇āĻ• āĻ•āύ⧇āĻ•āĻļāύ āϖ⧁āϞāϤ⧇ āĻĻā§‡ā§ŸāĻžāĨ¤ āĻ•āĻŋāϛ⧁ āϟ⧁āϞ āĻāĻ•āϏāĻ™ā§āϗ⧇ āĻ…āύ⧇āĻ• āϟāĻžāχāϞ āϰāĻŋāĻĢā§āϰ⧇āĻļ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āĻĒā§āϰāϤāĻŋāϟāĻŋ āϟāĻžāχāϞ āύāĻŋāϜāĻ¸ā§āĻŦ āϏ⧇āĻļāύ āϖ⧁āϞāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āĻ•āύ⧇āĻ•āĻļāύ āĻ¸ā§āĻĒāĻžāχāĻ• āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻžāϕ⧇ āĻŦāĻŋāĻ§ā§āĻŦāĻ¸ā§āϤ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤
  • āϧāϰ⧇ āύ⧇āĻ“ā§ŸāĻž āϝ⧇ āχāύāĻĄā§‡āĻ•ā§āϏāχ āϏāĻŦ āϏāĻŽāĻžāϧāĻžāύāĨ¤ āϝ⧇ āĻ•ā§ā§Ÿā§‡āϰāĻŋ āĻŽāĻŋāϞāĻŋ⧟āύ āϰ⧋ āĻŸā§‡āύ⧇ āφāύ⧇, āϭ⧁āϞ āϕ⧀-āϤ⧇ āĻ—ā§āϰ⧁āĻĒ āĻ•āϰ⧇, āĻ…āĻĨāĻŦāĻž āϏ⧀āĻŽāĻžāĻšā§€āύ JOIN āĻ•āϰ⧇, āϏ⧇āϟāĻŋ āχāύāĻĄā§‡āĻ•ā§āϏ āĻĻāĻŋā§Ÿā§‡ āĻ āĻŋāĻ• āĻšāĻŦ⧇ āύāĻžāĨ¤ āĻ•ā§ā§Ÿā§‡āϰāĻŋ āφāĻ•āĻžāϰ āĻ“ āĻĄāĻžāϟāĻž āĻ­āϞāĻŋāωāĻŽ āχāύāĻĄā§‡āĻ•ā§āϏ⧇āϰ āĻšā§‡āϝāĻŧ⧇ āĻŦ⧇āĻļāĻŋ āϗ⧁āϰ⧁āĻ¤ā§āĻŦāĻĒ⧁āĻ°ā§āĻŖāĨ¤
  • "āĻāĻ•āĻŦāĻžāϰ āĻĻā§āϰ⧁āϤ" āĻŽāĻžāύ⧇āχ āύ⧟ "āϏāĻŦāϏāĻŽā§Ÿ āĻĻā§āϰ⧁āϤ" āĻŽāύ⧇ āĻ•āϰāĻžāĨ¤ āĻāĻ•āϟāĻŋ āĻ•ā§ā§Ÿā§‡āϰāĻŋ āϏāĻ•āĻžāϞ⧇ āĻ āĻŋāĻ• āϚāϞāϞ⧇āĻ“ āĻĄāĻžāϟāĻž āĻŦāĻžā§œāĻžāϰ āϏāĻžāĻĨ⧇ āĻŦāĻž āĻāĻ•āĻžāϧāĻŋāĻ• āĻŽāĻžāύ⧁āώ āϝāĻ–āύ āĻāĻ•āχ āϰāĻŋāĻĒā§‹āĻ°ā§āϟ āϰāĻŋāĻĢā§āϰ⧇āĻļ āĻ•āϰ⧇ āϤāĻ–āύ āϧ⧀āϰ āĻšāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤
  • āĻĢ⧇āϞāĻ“āĻ­āĻžāϰ āφāϚāϰāĻŖ āύāĻž āĻĒāϰāĻŋāĻ•āĻ˛ā§āĻĒāύāĻž āĻ•āϰāĻžāĨ¤ āĻĢ⧇āϞāĻ“āĻ­āĻžāϰ⧇āϰ āϏāĻŽā§Ÿ, āĻāĻ•āϟāĻŋ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻž āĻĒā§āϰ⧋āĻŽā§‹āϟ āĻŦāĻž āĻĒā§āϰāϤāĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻŋāϤ āĻšāϤ⧇ āĻĒāĻžāϰ⧇, āĻāĻŦāĻ‚ āĻ•ā§āϞāĻžā§Ÿā§‡āĻ¨ā§āϟāϰāĻž āϰāĻŋāĻĄ-āĻ“āύāϞāĻŋ āĻāϰāϰ āĻŦāĻž āĻ¸ā§āĻŸā§‡āχāϞ āĻāĻ¨ā§āĻĄāĻĒā§Ÿā§‡āĻ¨ā§āϟ āĻĒ⧇āϤ⧇ āĻĒāĻžāϰ⧇ āϝāĻĻāĻŋ āφāĻĒāύāĻŋ āϏ⧁āχāϚ āĻĒā§āĻ˛ā§āϝāĻžāύ āύāĻž āĻ•āϰ⧇ āĻĨāĻžāϕ⧇āύāĨ¤

āĻāĻ•āϟāĻŋ āĻŦāĻžāĻ¸ā§āϤāĻŦāϧāĻ°ā§āĻŽā§€ āωāĻĻāĻžāĻšāϰāĻŖ: āφāĻĒāύāĻžāϰ BI āϟ⧁āϞ āĻĒā§āϰāϤāĻŋ āĻŽāĻŋāύāĻŋāĻŸā§‡ "āφāϜāϕ⧇āϰ āĻ…āĻ°ā§āĻĄāĻžāϰ" āĻĒ⧇āϜ āϰāĻŋāĻĢā§āϰ⧇āĻļ āĻ•āϰ⧇āĨ¤ āϝāĻĻāĻŋ āĻĒā§āϰāϤāĻŋāϟāĻŋ āϰāĻŋāĻĢā§āϰ⧇āĻļ⧇ āĻĒāĻžāρāϚāϟāĻŋ āĻ­āĻžāϰāĻŋ āĻ•ā§ā§Ÿā§‡āϰāĻŋ āϚāϞ⧇ āĻāĻŦāĻ‚ ⧍ā§Ļ āϜāύ āϤāĻž āĻ–ā§‹āϞ⧇, āϏ⧇āϟāĻŋ āĻŽāĻŋāύāĻŋāĻŸā§‡ ā§§ā§Ļā§Ļ āĻ­āĻžāϰāĻŋ āĻ•ā§ā§Ÿā§‡āϰāĻŋ āĻŦāĻ°ā§āϧāĻŋāϤ āĻ•āϰ⧇āĨ¤ āĻĒā§āϰāĻžāχāĻŽāĻžāϰāĻŋ āϏ⧁āϰāĻ•ā§āώāĻŋāϤ āĻĨāĻžāĻ•āϤ⧇ āĻĒāĻžāϰ⧇, āĻ•āĻŋāĻ¨ā§āϤ⧁ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻž āĻāĻ–āύāĻ“ āύāϤāĻŽ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

āφāĻĒāύāĻŋ āϝāĻĻāĻŋ AppMaster-āĻ āφāĻ­ā§āϝāĻ¨ā§āϤāϰ⧀āĻŖ āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄ āϤ⧈āϰāĻŋ āĻ•āϰ⧇āύ, āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚ āĻĄāĻžāϟāĻžāĻŦ⧇āϏāϕ⧇ āφāϞāĻžāĻĻāĻž āϞāĻ•ā§āĻˇā§āϝ āĻšāĻŋāϏ⧇āĻŦ⧇ āĻŦāĻŋāĻŦ⧇āϚāύāĻž āĻ•āϰ⧁āύ āϝāĻžāϰ āύāĻŋāϜāĻ¸ā§āĻŦ āĻ•āύ⧇āĻ•āĻļāύ āϏ⧀āĻŽāĻž āĻ“ "āĻĒāĻ›āĻ¨ā§āĻĻāĻ¨ā§€ā§Ÿ freshness" āύāĻŋ⧟āĻŽ āĻ°ā§Ÿā§‡āϛ⧇, āϝāĻžāϤ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰāĻž āĻĻ⧁āĻ°ā§āϘāϟāύāĻžāĻ•ā§āϰāĻŽā§‡ āĻ˛ā§āϝāĻžāĻ—āĻŋāĻ‚ āĻĄāĻžāϟāĻžāϰ āωāĻĒāϰ āύāĻŋāĻ°ā§āĻ­āϰ āύāĻž āĻ•āϰ⧇āĨ¤

āĻĄāĻŋāϜāĻžāχāύ āĻĒā§āϝāĻžāϟāĻžāĻ°ā§āύ āϝāĻž āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻžā§Ÿ āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚āϕ⧇ āĻĻā§āϰ⧁āϤ āĻ•āϰ⧇

āϰāĻŋāĻĒā§āϞāĻŋāĻ•āĻž āφāĻĒāύāĻžāϕ⧇ āĻĒā§āϰāĻļā§āĻŦāĻžāϏ āĻĻā§‡ā§Ÿ, āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻāϟāĻŋ āĻ¸ā§āĻŦ⧟āĻ‚āĻ•ā§āϰāĻŋāϝāĻŧāĻ­āĻžāĻŦ⧇ āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄāϕ⧇ āĻĻā§āϰ⧁āϤ āĻ•āϰ⧇ āύāĻžāĨ¤ āϏ⧇āϰāĻž āĻĢāϞ āφāϏ⧇ āϝāĻ–āύ āφāĻĒāύāĻŋ āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚ āĻ•ā§ā§Ÿā§‡āϰāĻŋāϗ⧁āϞ⧋āϕ⧇ āĻāĻŽāύāĻ­āĻžāĻŦ⧇ āĻ—āĻ āύ āĻ•āϰ⧇āύ āϝāĻžāϤ⧇ āϤāĻžāϰāĻž āĻ•āĻŽ āĻ•āĻžāϜ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āĻŦ⧇āĻļāĻŋ āĻĒā§‚āĻ°ā§āĻŦāĻžāύ⧁āĻŽā§‡ā§Ÿ āĻšā§ŸāĨ¤ āĻāχ āĻĒā§āϝāĻžāϟāĻžāĻ°ā§āύāϗ⧁āϞ⧋ PostgreSQL āϰāĻŋāĻĄ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻžāϗ⧁āϞ⧋āϰ āϜāĻ¨ā§āϝ āĻ­āĻžāϞ āĻ•āĻžāϜ āĻ•āϰ⧇ āĻ•āĻžāϰāĻŖ āϏ⧇āϗ⧁āϞ⧋ āĻ­āĻžāϰāĻŋ āĻ¸ā§āĻ•ā§āϝāĻžāύ āĻ“ āĻĒ⧁āύāϰāĻžāĻŦ⧃āĻ¤ā§āϤāĻŋ āĻ…ā§āϝāĻžāĻ—ā§āϰāĻŋāϗ⧇āĻļāύ āĻ•āĻŽāĻžā§ŸāĨ¤

āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚ āϞ⧇āϝāĻŧāĻžāϰ āφāϞāĻžāĻĻāĻž āĻ•āϰ⧁āύ

āĻāĻ•āϟāĻŋ āĻĄā§‡āĻĄāĻŋāϕ⧇āĻŸā§‡āĻĄ āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚ āĻ¸ā§āĻ•āĻŋāĻŽāĻž (āωāĻĻāĻžāĻšāϰāĻŖ: reporting) āĻŦāĻŋāĻŦ⧇āϚāύāĻž āĻ•āϰ⧁āύ āϝāĻžāϤ⧇ āĻ¸ā§āĻĨāĻŋāϰ āĻ­āĻŋāω āĻ“ āĻšā§‡āĻ˛ā§āĻĒāĻžāϰ āĻŸā§‡āĻŦāĻŋāϞ āĻĨāĻžāϕ⧇āĨ¤ āĻāϟāĻŋ BI āϟ⧁āϞ āĻ“ āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄāϗ⧁āϞ⧋āϕ⧇ āĻ•āĻžāρāϚāĻž āĻŸā§āϰāĻžāύāĻœā§‡āĻ•āĻļāύāĻžāϞ āĻŸā§‡āĻŦāĻŋāϞ āϏāϰāĻžāϏāϰāĻŋ āφāϘāĻžāϤ āĻ•āϰāĻž āĻĨ⧇āϕ⧇ āĻŦāĻŋāϰāϤ āϰāĻžāϖ⧇, āĻāĻŦāĻ‚ āĻ…āĻĒā§āϟāĻŋāĻŽāĻžāχāϜ āĻ•āϰāĻžāϰ āĻāĻ•āϟāĻŋ āĻāĻ•āĻ• āĻ¸ā§āĻĨāĻžāύ āĻĻā§‡ā§ŸāĨ¤ āĻāĻ•āϟāĻŋ āĻ­āĻžāϞ⧋ āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚ āĻ­āĻŋāω āĻŦāĻŋāĻļ⧃āĻ™ā§āĻ–āϞ JOIN āϗ⧁āϞ⧋ āϞ⧁āĻ•āĻŋā§Ÿā§‡ āĻĻā§‡ā§Ÿ āϝāĻžāϤ⧇ āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄ āĻ•ā§ā§Ÿā§‡āϰāĻŋ āϏāĻšāϜ āĻĨāĻžāϕ⧇āĨ¤

āĻŦā§āϝ⧟āĻŦāĻšā§āϞ āϜāĻŋāύāĻŋāϏāϗ⧁āϞ⧋ āĻĒā§āϰāĻŋ-āĻ…ā§āϝāĻžāĻ—ā§āϰ⧇āϗ⧇āϟ āĻ•āϰ⧁āύ

āϝāĻĻāĻŋ āĻāĻ•āϟāĻŋ āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄ āϏāĻžāϰāĻžāĻĻāĻŋāύ āĻāĻ•āχ āĻŽā§‹āϟāϗ⧁āϞ⧋ āĻŦāĻžāϰāĻŦāĻžāϰ āĻ—āĻŖāύāĻž āĻ•āϰ⧇ (āĻĻ⧈āύāĻŋāĻ• āφāϝāĻŧ, āĻ¸ā§āĻŸā§āϝāĻžāϟāĻžāϏ āĻ…āύ⧁āϝāĻžā§Ÿā§€ āĻ…āĻ°ā§āĻĄāĻžāϰ), āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻĒ⧇āϜ āϞ⧋āĻĄā§‡ āĻļā§‚āĻ¨ā§āϝ āĻĨ⧇āϕ⧇ āĻšāĻŋāϏāĻžāĻŦ āĻ•āϰāĻž āĻŦāĻ¨ā§āϧ āĻ•āϰ⧁āύāĨ¤ āϏāĻžāϰāĻžāĻ‚āĻļ āĻŸā§‡āĻŦāĻŋāϞ āĻŦāĻž materialized view āĻŦāĻžāύāĻžāύ āϝāĻž āχāϤ⧋āĻŽāĻ§ā§āϝ⧇ āĻ—ā§āϰ⧁āĻĒ āĻ•āϰāĻž āϏāĻ‚āĻ–ā§āϝāĻžāϗ⧁āϞ⧋ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰ⧇āĨ¤

āϏāĻžāϧāĻžāϰāĻŖ āĻĒāĻ›āĻ¨ā§āĻĻāϗ⧁āϞ⧋:

  • āĻĻ⧈āύāĻŋāĻ• āĻŦāĻž āϘāĻ¨ā§āϟāĻžāϰ āϰ⧋āϞāφāĻĒ (āϤāĻžāϰāĻŋāĻ–, āĻ…āĻžā§āϚāϞ, āĻšā§āϝāĻžāύ⧇āϞ āĻ…āύ⧁āϝāĻžā§Ÿā§€)
  • "āϏāĻ°ā§āĻŦāĻļ⧇āώ āϜāĻžāύāĻž" āĻ¸ā§āĻ¨ā§āϝāĻžāĻĒāĻļāϟ āĻŸā§‡āĻŦāĻŋāϞ (āχāύāϭ⧇āĻ¨ā§āϟāϰāĻŋ, āĻ…ā§āϝāĻžāĻ•āĻžāωāĻ¨ā§āϟ āĻŦā§āϝāĻžāϞāĻžāĻ¨ā§āϏ)
  • āϟāĻĒ-āĻāύ āĻŸā§‡āĻŦāĻŋāϞ (āĻļā§€āĻ°ā§āώ āĻĒāĻŖā§āϝ, āĻļā§€āĻ°ā§āώ āĻ—ā§āϰāĻžāĻšāĻ•)
  • āĻĢā§āϝāĻžāĻ•ā§āϟ āĻŸā§‡āĻŦāĻŋāϞāϗ⧁āϞāĻŋāϤ⧇ āĻĄāĻŋāύāϰāĻŽāĻžāϞāĻžāχāϜāĻĄ āĻ•āϞāĻžāĻŽ āĻĻā§āϰ⧁āϤ āĻĢāĻŋāĻ˛ā§āϟāĻžāϰāĻŋāĻ‚ā§Ÿā§‡āϰ āϜāĻ¨ā§āϝ

āĻ­āĻžāϰ⧀ āĻŽā§‡āĻŸā§āϰāĻŋāĻ•āϗ⧁āϞ⧋ āĻļāĻŋāĻĄāĻŋāωāϞ āĻ•āϰ⧇ āϰāĻŋāĻĢā§āϰ⧇āĻļ āĻ•āϰ⧁āύ

āĻĒā§āϰāĻŋ-āĻ…ā§āϝāĻžāĻ—ā§āϰāĻŋāϗ⧇āĻļāύāϗ⧁āϞ⧋ āĻļāĻŋāĻĄāĻŋāωāϞāĻĄ āϜāĻŦ⧇ āϰāĻŋāĻĢā§āϰ⧇āĻļ āĻ•āϰ⧁āύ, āφāĻĻāĻ°ā§āĻļāĻ­āĻžāĻŦ⧇ āĻ…āĻĢ-āĻĒāĻŋāĻ• āϏāĻŽā§Ÿā§‡āĨ¤ āϝāĻĻāĻŋ āĻŦāĻŋāϜāύ⧇āϏ ā§Ģ āĻŽāĻŋāύāĻŋāĻŸā§‡ āφāĻĒāĻĄā§‡āϟ āύāĻŋā§Ÿā§‡ āĻĨāĻžāĻ•āϤ⧇ āĻĒāĻžāϰ⧇, āφāĻĒāύāĻŋ āϏāĻžāĻŽāĻžāĻ¨ā§āϝ āĻŦāĻŋāϞāĻŽā§āĻŦ āĻŦāĻĻāϞ⧇ āϤ⧁āϞāύāĻžāĻŽā§‚āϞāĻ•āĻ­āĻžāĻŦ⧇ āĻĻā§āϰ⧁āϤ āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄ āĻĒāĻžāĻŦ⧇āύāĨ¤ āĻ…āύ⧇āĻ• āĻŦ⧜ āĻĄāĻžāϟāĻžāϏ⧇āĻŸā§‡ āχāĻ™ā§āĻ•ā§āϰāĻŋāĻŽā§‡āĻ¨ā§āϟāĻžāϞ āφāĻĒāĻĄā§‡āϟ (āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āĻ—āϤ āĻļ⧇āώ āϰāĻžāύ āĻĨ⧇āϕ⧇ āύāϤ⧁āύ āϰ⧋) āĻĒ⧁āϰ⧋ āϰāĻŋāĻĢā§āϰ⧇āĻļ⧇āϰ āĻšā§‡āϝāĻŧ⧇ āϏāĻ¸ā§āϤāĻžāĨ¤

āĻŦāĻžāϰāĻŦāĻžāϰ āĻ•ā§āϞāĻŋāĻ• āĻ•āϰāĻž āϜāĻŋāύāĻŋāϏāϗ⧁āϞ⧋ āĻ•ā§āϝāĻžāĻļ āĻ•āϰ⧁āύ

āϝāĻĻāĻŋ āĻāĻ•āχ āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄ āωāχāĻœā§‡āϟ āĻŦāĻžāϰāĻŦāĻžāϰ āĻ…āύ⧁āϰ⧋āϧ āĻ•āϰāĻž āĻšā§Ÿ, āĻ…ā§āϝāĻžāĻĒ āĻ˛ā§‡ā§ŸāĻžāϰ⧇ āĻĢāϞāĻžāĻĢāϞāϗ⧁āϞ⧋ āϏāĻ‚āĻ•ā§āώāĻŋāĻĒā§āϤ āϏāĻŽā§Ÿ (ā§Šā§Ļ āĻĨ⧇āϕ⧇ ⧧⧍ā§Ļ āϏ⧇āϕ⧇āĻ¨ā§āĻĄ) āĻ•ā§āϝāĻžāĻļ āĻ•āϰ⧁āύāĨ¤ āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ, āĻāĻ•āϟāĻŋ "āφāϜāϕ⧇āϰ āĻŦāĻŋāĻ•ā§āϰ⧟" āϟāĻžāχāϞ āϕ⧋āĻŽā§āĻĒāĻžāύāĻŋ āĻŦāĻž āĻ¸ā§āĻŸā§‹āϰ āĻ…āύ⧁āϝāĻžā§Ÿā§€ āĻ•ā§āϝāĻžāĻļ āĻ•āϰāĻž āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ AppMaster-āĻ āĻāχ āϧāϰāύ⧇āϰ āĻ•ā§āϝāĻžāĻļāĻŋāĻ‚ API āĻāĻ¨ā§āĻĄāĻĒā§Ÿā§‡āĻ¨ā§āĻŸā§‡āϰ āϚāĻžāϰāĻĒāĻžāĻļ⧇ āϝ⧋āĻ— āĻ•āϰāĻž āϏāĻšāϜāĨ¤

āĻāĻ•āϟāĻŋ āϏāϰāϞ āύāĻŋ⧟āĻŽ: āĻāĻ•āϟāĻŋ āĻ•ā§ā§Ÿā§‡āϰāĻŋ āϧ⧀āϰ āĻāĻŦāĻ‚ āϜāύāĻĒā§āϰāĻŋ⧟ āĻšāϞ⧇, āϤāĻžāϕ⧇ āĻŦāĻž āĻĒā§āϰāĻŋ-āĻ…ā§āϝāĻžāĻ—ā§āϰ⧇āϗ⧇āϟ āĻ•āϰ⧁āύ, āĻ…āĻĨāĻŦāĻž āĻ•ā§āϝāĻžāĻļ āĻ•āϰ⧁āύ, āĻ…āĻĨāĻŦāĻž āωāϭ⧟āχāĨ¤

āĻŦāĻžāĻ¸ā§āϤāĻŦāϧāĻ°ā§āĻŽā§€ āωāĻĻāĻžāĻšāϰāĻŖ: āĻšā§‡āĻ•āφāωāϟ āϧ⧀āϰ āύāĻž āĻ•āϰ⧇ āϏ⧇āϞāϏ āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚

āφāĻĒāύāĻžāϰ āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚ āĻ•ā§ā§Ÿā§‡āϰāĻŋāϗ⧁āϞ⧋ āĻ¸ā§āĻĨāĻŋāϤāĻŋāĻļā§€āϞ āĻ•āϰ⧁āύ
āĻ…ā§āϝāĻžāĻĄ-āĻšāĻ• BI āĻ•ā§ā§Ÿā§‡āϰāĻŋāϰ āĻŦāĻĻāϞ⧇ āĻĒāϰāĻŋāĻˇā§āĻ•āĻžāϰ āĻāĻ¨ā§āĻĄāĻĒāϝāĻŧ⧇āĻ¨ā§āϟ āϏāĻš āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚ āϞ⧇āϝāĻŧāĻžāϰ āϤ⧈āϰāĻŋ āĻ•āϰ⧇ āĻ•ā§ā§Ÿā§‡āϰāĻŋ āĻ¸ā§āĻĨāĻŋāϤāĻŋāĻļā§€āϞ āĻ•āϰ⧁āύāĨ¤
āĻāĻ–āύ āĻļ⧁āϰ⧁ āĻ•āϰ⧁āύ

āĻāĻ•āϟāĻŋ āϛ⧋āϟ āχ-āĻ•āĻŽāĻžāĻ°ā§āϏ āĻ…ā§āϝāĻžāĻĒ āĻ•āĻ˛ā§āĻĒāύāĻž āĻ•āϰ⧁āύāĨ¤ āĻŽā§‚āϞ āĻĄāĻžāϟāĻžāĻŦ⧇āϏ āϏāĻžāϰāĻžāĻĻāĻŋāύ āϞāĻ—āχāύ, āĻ•āĻžāĻ°ā§āϟ, āĻĒ⧇āĻŽā§‡āĻ¨ā§āϟ, āĻāĻŦāĻ‚ āĻ…āĻ°ā§āĻĄāĻžāϰ āφāĻĒāĻĄā§‡āϟ āĻšā§āϝāĻžāĻ¨ā§āĻĄāϞ āĻ•āϰ⧇āĨ¤ āĻāĻ•āχ āϏāĻŽā§Ÿā§‡ āϟāĻŋāĻŽ āϚāĻžāχāϛ⧇ āĻāĻ•āϟāĻŋ āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄ āϝāĻž āϘāĻŖā§āϟāĻžāĻ­āĻŋāĻ¤ā§āϤāĻŋāĻ• āφāϝāĻŧ, āϟāĻĒ āĻĒā§āϰ⧋āĻĄāĻžāĻ•ā§āϟ, āĻāĻŦāĻ‚ āϰāĻŋāĻĢāĻžāĻ¨ā§āĻĄ āĻĻ⧇āĻ–āĻžāĻŦ⧇āĨ¤

āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ⧇āϰ āφāϗ⧇, āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄ āĻĒā§āϰāĻžāχāĻŽāĻžāϰāĻŋ āĻĄāĻžāϟāĻžāĻŦ⧇āϏ⧇ āĻ­āĻžāϰ⧀ āĻ•ā§ā§Ÿā§‡āϰāĻŋ āϚāĻžāϞāĻžā§ŸāĨ¤ āĻŽāĻžāϏ⧇āϰ āĻļ⧇āώ⧇āϰ āĻĻāĻŋāϕ⧇ āϕ⧇āω "āĻ—āϤ ā§Šā§Ļ āĻĻāĻŋāύ āĻĒāĻŖā§āϝ āĻ…āύ⧁āϝāĻžā§Ÿā§€" āϚāĻžāĻ°ā§āϟ āϖ⧁āϞāϞ⧇ āϏ⧇āϟāĻŋ orders āĻŸā§‡āĻŦāĻŋāϞ⧇āϰ āĻŦ⧜ āĻ…āĻ‚āĻļ āĻ¸ā§āĻ•ā§āϝāĻžāύ āĻ•āϰ⧇āĨ¤ āĻšā§‡āĻ•āφāωāϟ āϧ⧀āϰ āϞāĻžāĻ—āϤ⧇ āĻļ⧁āϰ⧁ āĻ•āϰ⧇ āĻ•āĻžāϰāĻŖ āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚ āĻ•ā§ā§Ÿā§‡āϰāĻŋāϗ⧁āϞ⧋ āĻāĻ•āχ CPU, āĻŽā§‡āĻŽāϰāĻŋ āĻ“ āĻĄāĻŋāĻ¸ā§āĻ• āϰāĻŋāĻĄā§‡āϰ āϜāĻ¨ā§āϝ āĻĒā§āϰāϤāĻŋāĻĻā§āĻŦāĻ¨ā§āĻĻā§āĻŦāĻŋāϤāĻž āĻ•āϰāϛ⧇āĨ¤

āĻĢāĻŋāĻ•ā§āϏ āϏ⧋āϜāĻž: āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄ āϰāĻŋāĻĄāϗ⧁āϞ⧋ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻžā§Ÿ āύāĻŋā§Ÿā§‡ āϝāĻžāύāĨ¤ āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚ā§Ÿā§‡āϰ āϜāĻ¨ā§āϝ PostgreSQL āϰāĻŋāĻĄ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻž āĻĨāĻžāĻ•āϞ⧇ āĻĒā§āϰāĻžāχāĻŽāĻžāϰāĻŋ āĻĻā§āϰ⧁āϤ āϞ⧇āĻ–āĻž āϚāĻžāϞāĻŋā§Ÿā§‡ āϝāĻžāĻŦ⧇, āφāϰ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻž āĻĻā§€āĻ°ā§āϘ āϰāĻŋāĻĄā§‡āϰ āωāĻ¤ā§āϤāϰ āĻĻ⧇āĻŦ⧇āĨ¤ āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄ āĻĒā§āϰāĻžāχāĻŽāĻžāϰāĻŋāϰ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤ⧇ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻž āĻ•āĻžāύ⧇āĻ•āĻļāύ āĻ¸ā§āĻŸā§āϰāĻŋāĻ‚āϕ⧇ āĻĒā§Ÿā§‡āĻ¨ā§āϟ āĻ•āϰāĻŦ⧇āĨ¤

āϟāĻŋāĻŽ āĻ¸ā§āĻĒāĻˇā§āϟ freshness āύāĻŋ⧟āĻŽāĻ“ āĻ¸ā§āĻĨāĻžāĻĒāύ āĻ•āϰ⧇ āϝāĻžāϤ⧇ āϕ⧇āω āύāĻŋāϖ⧁āρāϤ āϰāĻŋā§Ÿā§‡āϞ-āϟāĻžāχāĻŽ āφāĻļāĻž āύāĻž āĻ•āϰ⧇:

  • āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄā§‡ "āĻĄā§‡āϟāĻž X āĻŽāĻŋāύāĻŋāϟ āφāϗ⧇ āφāĻĒāĻĄā§‡āϟ" āĻĻ⧇āĻ–āĻžāύ
  • āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ• āϏāĻŽā§Ÿā§‡ ā§Ģ āĻŽāĻŋāύāĻŋāϟ āĻĒāĻ°ā§āϝāĻ¨ā§āϤ āĻŦāĻŋāϞāĻŽā§āĻŦ āĻ…āύ⧁āĻŽā§‹āĻĻāύ āĻ•āϰ⧁āύ
  • āϝāĻĻāĻŋ āĻ˛ā§āϝāĻžāĻ— ā§§ā§Ļ āĻŽāĻŋāύāĻŋāϟ āĻ›āĻžāĻĄāĻŧāĻŋā§Ÿā§‡ āϝāĻžā§Ÿ, āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄāϕ⧇ "āĻĄāĻŋāϞ⧇ āĻŽā§‹āĻĄ"-āĻ āύāĻŋā§Ÿā§‡ āĻ—āĻŋā§Ÿā§‡ āϏāĻŦāĻšā§‡ā§Ÿā§‡ āĻ­āĻžāϰ⧀ āϚāĻžāĻ°ā§āϟāϗ⧁āϞ⧋ āĻĨāĻžāĻŽāĻžāύ
  • āĻšā§‡āĻ•āφāωāϟ āĻ“ āĻ…āĻ°ā§āĻĄāĻžāϰ āφāĻĒāĻĄā§‡āϟ āϏāĻŦāϏāĻŽā§Ÿ āĻĒā§āϰāĻžāχāĻŽāĻžāϰāĻŋāϤ⧇ āϰāĻžāϖ⧁āύ

āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ⧇āϰ āĻĒāϰ⧇ āĻĢāϞāĻžāĻĢāϞ āϞāĻ•ā§āώāĻŖā§€ā§Ÿ: āϰāĻŋāĻĒā§‹āĻ°ā§āϟ āĻ¸ā§āĻĒāĻžāχāĻ• āĻĨāĻžāĻ•āϞ⧇āĻ“ āĻšā§‡āĻ•āφāωāϟ āĻ¸ā§āĻĨāĻŋāϤāĻŋāĻļā§€āϞ āĻĨāĻžāϕ⧇, āĻāĻŦāĻ‚ āϚāĻžāĻ°ā§āϟ āĻĻā§āϰ⧁āϤ āϞ⧋āĻĄ āĻšā§Ÿ āĻ•āĻžāϰāĻŖ āϤāĻžāϰāĻž āφāϰ āĻŸā§āϰāĻžāύāĻœā§‡āĻ•āĻļāύ⧇āϰ āϏāĻ™ā§āϗ⧇ āϞ⧜āĻžāχ āĻ•āϰāϛ⧇ āύāĻžāĨ¤

āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āĻĻ⧇āϰ āϝāĻž āĻŦāϞāĻž āĻĻāϰāĻ•āĻžāϰ āϤāĻž āϏāϰāϞ: āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄ "āύāĻŋāĻ•āϟāϤāĻŽ-āϰāĻŋā§Ÿā§‡āϞ āϟāĻžāχāĻŽ", āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻļ⧇āώ ā§§ā§Ļ āϏ⧇āϕ⧇āĻ¨ā§āĻĄā§‡āϰ āϏ⧋āĻ°ā§āϏ-āĻ…āĻĢ-āĻŸā§āϰ⧁āĻĨ āύ⧟āĨ¤ āϝāĻĻāĻŋ āϕ⧇āω āϰāĻŋāĻ•āύāϏāĻŋāϞāĻŋā§Ÿā§‡āĻļāύ⧇āϰ āϜāĻ¨ā§āϝ āϏāĻ āĻŋāĻ• āĻŸā§‹āϟāĻžāϞ āϚāĻžāχ, āϤāĻžāϰāĻž āĻāĻ•āϟāĻŋ āĻļāĻŋāĻĄāĻŋāωāϞāĻĄ āĻāĻ•ā§āϏāĻĒā§‹āĻ°ā§āϟ āĻŦāĻž āχāĻ¨ā§āĻĄ-āĻ…āĻĢ-āĻĄā§‡ āϰāĻŋāĻĒā§‹āĻ°ā§āϟ āϚāĻžāϞāĻžāĻŦ⧇āύāĨ¤

āφāĻĒāύāĻŋ āϝāĻĻāĻŋ AppMaster-āĻāϰ āĻŽāϤ⧋ āĻĒā§āĻ˛ā§āϝāĻžāϟāĻĢāĻ°ā§āĻŽā§‡ āĻ…ā§āϝāĻžāĻĒ āĻŦāĻžāύāĻžāύ, āĻĻāĻŋāύ⧇āϰ āĻļ⧁āϰ⧁ āĻĨ⧇āϕ⧇āχ āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚āϕ⧇ āĻāĻ•āϟāĻŋ āφāϞāĻžāĻĻāĻž āϰāĻŋāĻĄ-āĻ“āύāϞāĻŋ āĻ•āĻžāύ⧇āĻ•āĻļāύ⧇ āĻŸā§āϰāĻŋāϟ āĻ•āϰāϞ⧇ āφāĻĒāύāĻžāϰ āĻŸā§āϰāĻžāύāĻœā§‡āĻ•āĻļāύāĻžāϞ āĻĢā§āϞ⧋āϗ⧁āϞ⧋ āĻĒā§‚āĻ°ā§āĻŦāĻžāύ⧁āĻŽā§‡ā§Ÿ āĻĨāĻžāĻ•āĻŦ⧇āĨ¤

āĻĻā§āϰ⧁āϤ āĻšā§‡āĻ•āϗ⧁āϞ⧋ āĻ“ āĻĒāϰāĻŦāĻ°ā§āϤ⧀ āĻĒāĻĻāĻ•ā§āώ⧇āĻĒ

āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄāϗ⧁āϞ⧋ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻžāϤ⧇ āĻĒā§Ÿā§‡āĻ¨ā§āϟ āĻ•āϰāĻžāϰ āφāϗ⧇ āĻāĻ•āϟāĻŋ āĻĻā§āϰ⧁āϤ āĻ¸ā§āϝāĻžāύāĻŋāϟāĻŋ-āĻĒāĻžāϏ āĻ•āϰ⧁āύāĨ¤ āĻ•ā§Ÿā§‡āĻ•āϟāĻŋ āϛ⧋āϟ āϏ⧇āϟāĻŋāĻ‚āϏ āĻ“ āĻ…āĻ­ā§āϝāĻžāϏ āϏāĻŦāĻšā§‡āϝāĻŧ⧇ āϏāĻžāϧāĻžāϰāĻŖ āĻ…āĻĒā§āϰāĻ¤ā§āϝāĻžāĻļā§āϝāϤāĻž āĻĒā§āϰāϤāĻŋāĻšāϤ āĻ•āϰ⧇: āĻŽāĻšāĻžāĻŽāϤāĻŋ āϏāĻ‚āĻ–ā§āϝāĻž, āϟāĻžāχāĻŽāφāωāϟ, āĻ“ āĻĻ⧁āĻ°ā§āϘāϟāύāĻžāĻ•ā§āϰāĻŽā§‡ āϞ⧇āĻ–āĻž āĻĒāĻžāĻ āĻžāύ⧋āĨ¤

āĻāĻ–āĻžāύ⧇ āĻāĻ•āϟāĻŋ āĻĻā§āϰ⧁āϤ āĻšā§‡āĻ•āϞāĻŋāĻ¸ā§āϟ āϝ⧇āϟāĻž āĻ•āύāĻĢāĻŋāĻ—āĻžāϰ āĻ•āϰāĻž āωāϚāĻŋāϤ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻžāϤ⧇ āĻŸā§āϰāĻžāĻĢāĻŋāĻ• āĻĒāĻžāĻ āĻžāύ⧋āϰ āφāϗ⧇:

  • āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚ āĻ•āĻžāύ⧇āĻ•āĻļāύāϗ⧁āϞ⧋ āϰāĻŋāĻĄ-āĻ“āύāϞāĻŋ āĻ•āϰ⧁āύ (āĻ…ā§āϝāĻžāϞāĻžāĻĻāĻž āχāωāϜāĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύ āĻāĻŦāĻ‚ āϰāĻŋāĻĄ-āĻ“āύāϞāĻŋ āĻŸā§āϰāĻžāύāĻœā§‡āĻ•āĻļāύ āĻœā§‹āϰāĻĻāĻžāϰ āĻ•āϰ⧁āύ)āĨ¤
  • āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚āϕ⧇ āĻ…ā§āϝāĻžāĻĒ āĻŸā§āϰāĻžāĻĢāĻŋāĻ• āĻĨ⧇āϕ⧇ āφāϞāĻžāĻĻāĻž āĻ•āϰ⧁āύ (āĻāϟāĻŋāϰ āύāĻŋāϜāĻ¸ā§āĻŦ āĻ•āύ⧇āĻ•āĻļāύ āĻĒ⧁āϞ āĻ“ āϝāĻĨāĻžāĻ°ā§āĻĨ āĻ•āύ⧇āĻ•āĻļāύ āϏ⧀āĻŽāĻž)āĨ¤
  • āύāĻŋāĻļā§āϚāĻŋāϤ āĻ•āϰ⧁āύ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻžā§Ÿ āϏ⧇āχ āχāύāĻĄā§‡āĻ•ā§āϏāϗ⧁āϞ⧋ āφāϛ⧇ āϝ⧇āϗ⧁āϞ⧋ āφāĻĒāύāĻžāϰ āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄ āĻ­āϰāϏāĻž āĻ•āϰ⧇ (āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻž āχāύāĻĄā§‡āĻ•ā§āϏ āĻ•āĻĒāĻŋ āĻ•āϰ⧇, āĻ•āĻŋāĻ¨ā§āϤ⧁ āϏāĻžāĻŽā§āĻĒā§āϰāϤāĻŋāĻ• āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻŽāĻŋāϏ āĻšāϞ⧇ āĻšā§‡āĻ• āĻ•āϰ⧁āύ)āĨ¤
  • āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚ āĻ•ā§ā§Ÿā§‡āϰāĻŋāϗ⧁āϞ⧋āϰ āϜāĻ¨ā§āϝ āĻ¸ā§āĻŸā§‡āϟāĻŽā§‡āĻ¨ā§āϟ āĻ“ āϞāĻ• āϟāĻžāχāĻŽāφāωāϟ āϏ⧇āϟ āĻ•āϰ⧁āύ āϝāĻžāϤ⧇ āĻāĻ•āϟāĻŋ āĻ–āĻžāϰāĻžāĻĒ āϚāĻžāĻ°ā§āϟ āϏāĻŦāĻ•āĻŋāϛ⧁ hängen āύāĻž āĻ•āϰ⧇āĨ¤
  • āύāĻŋāĻļā§āϚāĻŋāϤ āĻ•āϰ⧁āύ āϚāĻžāĻ°ā§āϟāϗ⧁āϞ⧋ āϏāĻžāĻŽāĻžāĻ¨ā§āϝ āĻŦāĻŋāϞāĻŽā§āĻŦ āϏāĻšā§āϝ āĻ•āϰ⧇ (āĻĒā§āĻ°ā§Ÿā§‹āϜāύ⧇ "as of" āϟāĻžāχāĻŽāĻ¸ā§āĻŸā§āϝāĻžāĻŽā§āĻĒ āĻĻ⧇āĻ–āĻžāύ āĻŦāĻž āĻŽāĻŋāύāĻŋāĻŸā§‡ āϰāĻžāωāĻ¨ā§āĻĄ āĻ•āϰ⧁āύ)āĨ¤

āĻŸā§āϰāĻžāĻĢāĻŋāĻ• āĻĒā§āϰāĻŦāĻžāĻš āĻļ⧁āϰ⧁ āĻšāϞ⧇ āĻŽāύāĻŋāϟāϰāĻŋāĻ‚āϕ⧇ āĻāĻ•āϟāĻŋ āĻšāĻžāϞāĻ•āĻž āϏāĻžāĻĒā§āϤāĻžāĻšāĻŋāĻ• āϰ⧁āϟāĻŋāύ āĻšāĻŋāϏ⧇āĻŦ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύ, āĻĢāĻžā§ŸāĻžāϰ āĻĄā§āϰāĻŋāϞ āĻšāĻŋāϏ⧇āĻŦ⧇ āύ⧟āĨ¤ āĻāϟāĻž āĻŦāĻŋāĻļ⧇āώāĻ­āĻžāĻŦ⧇ āϗ⧁āϰ⧁āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻžāϗ⧁āϞ⧋āϰ āϜāĻ¨ā§āϝ, āϝ⧇āĻ–āĻžāύ⧇ "āĻ•āĻžāϞ āĻ āĻŋāĻ• āĻ›āĻŋāϞ" āφāϜ āĻĻā§āϰ⧁āϤ āĻŦāĻĻāϞ⧇ āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇ āϝāĻ–āύ āĻĄāĻžāϟāĻž āĻŦāĻžā§œā§‡āĨ¤

āϏāĻžāĻĒā§āϤāĻžāĻšāĻŋāĻ• āĻŽāύāĻŋāϟāϰāĻŋāĻ‚ āĻšā§‡āĻ•āϞāĻŋāĻ¸ā§āϟ (ā§§ā§Ļ āĻŽāĻŋāύāĻŋāϟ):

  • āϰ⧇āĻĒā§āϞāĻŋāϕ⧇āĻļāύ āĻ˛ā§āϝāĻžāĻ—: āϏāĻžāϧāĻžāϰāĻŖ āĻ˛ā§āϝāĻžāĻ— āĻ“ āĻĒāĻŋāĻ• āĻ¸ā§āĻĒāĻžāχāĻ• āĻĻ⧇āϖ⧁āύāĨ¤
  • āϧ⧀āϰ āĻ•ā§ā§Ÿā§‡āϰāĻŋ: āĻŽā§‹āϟ āϏāĻŽā§Ÿ āĻ…āύ⧁āϝāĻžā§Ÿā§€ āĻļā§€āĻ°ā§āώ āĻ…āĻĒāϰāĻžāϧ⧀āĻĻ⧇āϰ āĻŸā§āĻ°ā§āϝāĻžāĻ• āĻ•āϰ⧁āύ, āϕ⧇āĻŦāϞ āĻāĻ•āϟāĻŋ āϧ⧀āϰ āϰāĻžāύ⧇āϰ āωāĻĒāϰ āύāĻŋāĻ°ā§āĻ­āϰ āĻ•āϰāĻŦ⧇āύ āύāĻžāĨ¤
  • āĻ•āύ⧇āĻ•āĻļāύ: āϏāĻ°ā§āĻŦā§‹āĻšā§āϚ āĻ•āύ⧇āĻ•āĻļāύ, āĻĒ⧁āϞ āĻ¸ā§āϝāĻžāϚ⧁āϰ⧇āĻļāύ, āĻāĻŦāĻ‚ āφāχāĻĄāϞ āĻ•āύ⧇āĻ•āĻļāύ⧇āϰ āϜāĻŽāĻž āĻĒāϰ⧀āĻ•ā§āώāĻž āĻ•āϰ⧁āύāĨ¤
  • āĻĄāĻŋāĻ¸ā§āĻ• āĻ“ CPU: āĻ­āĻžāϰ⧀ āĻ¸ā§āĻ•ā§āϝāĻžāύ⧇āϰ āϏāĻŽā§Ÿ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻžāϗ⧁āϞ⧋ āĻ¸ā§āĻŸā§‹āϰ⧇āĻœā§‡ āĻŦāϟāϞāύ⧇āĻ• āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤
  • āĻŦā§āϝāĻ°ā§āĻĨ āĻ•ā§ā§Ÿā§‡āϰāĻŋ: āϟāĻžāχāĻŽāφāωāϟ, āĻ•ā§āϝāĻžāύāϏ⧇āϞ āĻ•āϰāĻž āĻ¸ā§āĻŸā§‡āϟāĻŽā§‡āĻ¨ā§āϟ, āĻŦāĻž āĻĒāĻžāϰāĻŽāĻŋāĻļāύ āĻāϰāϰ āϖ⧁āρāϜ⧁āύāĨ¤

āĻĒāϰāĻŦāĻ°ā§āϤ⧀ āĻĒāĻĻāĻ•ā§āώ⧇āĻĒāϗ⧁āϞ⧋ āĻŦ⧇āĻļāĻŋāϰāĻ­āĻžāĻ—āχ āϰāĻžāωāϟāĻŋāĻ‚ āύāĻŋ⧟āĻŽ āĻ“ āĻāĻ•āϟāĻŋ fallback āĻĒāϰāĻŋāĻ•āĻ˛ā§āĻĒāύāĻž āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇āĨ¤ āύāĻŋāĻ°ā§āϧāĻžāϰāĻŖ āĻ•āϰ⧁āύ āϕ⧋āύ āĻāĻ¨ā§āĻĄāĻĒā§Ÿā§‡āĻ¨ā§āϟāϗ⧁āϞ⧋ āϏāĻŦāϏāĻŽā§Ÿ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻžā§Ÿ āĻĒ⧜āĻž āύāĻŋāϰāĻžāĻĒāĻĻ (āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄ, āĻāĻ•ā§āϏāĻĒā§‹āĻ°ā§āϟ, āĻ…ā§āϝāĻžāĻĄāĻŽāĻŋāύ āϰāĻŋāĻĒā§‹āĻ°ā§āϟ), āĻāĻŦāĻ‚ āϕ⧋āύāϗ⧁āϞ⧋ āĻĒā§āϰāĻžāχāĻŽāĻžāϰāĻŋāϤ⧇ āĻĨāĻžāĻ•āϤ⧇ āĻšāĻŦ⧇ (āϝ⧇āϗ⧁āϞ⧋āϕ⧇ āφāĻĒ-āϟ⧁-āĻĻāĻž-āϏ⧇āϕ⧇āĻ¨ā§āĻĄ āĻšāϤ⧇ āĻšāĻŦ⧇)āĨ¤ āϝāĻ–āύ āĻ˛ā§āϝāĻžāĻ— āφāĻĒāύāĻžāϰ āϏ⧀āĻŽāĻž āĻĒāĻžāϰ āĻ•āϰ⧇ āϤāĻ–āύ āϕ⧀ āĻšāĻŦ⧇ āϤāĻž āϏāĻ‚āĻœā§āĻžāĻžā§ŸāĻŋāϤ āĻ•āϰ⧁āύ: āĻāĻ•āϟāĻŋ āϏāϤāĻ°ā§āĻ•āϤāĻž āĻŦā§āϝāĻžāύāĻžāϰ āĻĻ⧇āĻ–āĻžāύ⧋, āĻ•āĻŋāϛ⧁ āĻĒ⧃āĻˇā§āĻ āĻžāϰ āϜāĻ¨ā§āϝ āϰāĻŋāĻĄāϗ⧁āϞ⧋ āĻĒā§āϰāĻžāχāĻŽāĻžāϰāĻŋāϤ⧇ āĻĢāĻŋāϰāĻŋāϝāĻŧ⧇ āĻĻ⧇āĻ“ā§ŸāĻž, āĻ…āĻĨāĻŦāĻž āϏāĻŦāĻšā§‡ā§Ÿā§‡ āĻ­āĻžāϰ⧀ āϚāĻžāĻ°ā§āϟāϗ⧁āϞ⧋ āϏāĻžāĻŽāϝāĻŧāĻŋāĻ•āĻ­āĻžāĻŦ⧇ āύāĻŋāĻˇā§āĻ•ā§āϰāĻŋāϝāĻŧ āĻ•āϰāĻžāĨ¤

āφāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻ…āĻ­ā§āϝāĻ¨ā§āϤāϰ⧀āĻŖ āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄ āĻŦāĻž āĻ…ā§āϝāĻžāĻĄāĻŽāĻŋāύ āϟ⧁āϞ āĻŦāĻžāύāĻžāύ, AppMaster āĻĒā§āĻ°ā§āϝāĻžāĻ•āϟāĻŋāĻ•ā§āϝāĻžāϞ āωāĻĒāĻžā§Ÿ āĻšāϤ⧇ āĻĒāĻžāϰ⧇ āĻĻā§āϰ⧁āϤ āĻļāĻŋāĻĒ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ, āϝāĻ–āύ āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚ āĻ¸ā§āĻ•ā§āϰāĻŋāύāϗ⧁āϞ⧋āϕ⧇ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻžā§Ÿ āĻĒā§Ÿā§‡āĻ¨ā§āϟ āĻ•āϰ⧇ āϝāĻžāϤ⧇ āφāĻĒāύāĻžāϰ āϕ⧋āϰ āĻŸā§āϰāĻžāύāĻœā§‡āĻ•āĻļāύāĻžāϞ āĻ…ā§āϝāĻžāĻĒ āĻŽāϏ⧃āĻŖāĻ­āĻžāĻŦ⧇ āϚāϞāϤ⧇ āĻĨāĻžāϕ⧇āĨ¤

āĻļ⧁āϰ⧁ āĻ•āϰāĻž āϏāĻšāϜ
āĻ•āĻŋāϛ⧁ āφāĻļā§āϚāĻ°ā§āϝāϜāύāĻ•āϤ⧈āϰāĻŋ āĻ•āϰ⧁āύ

āĻŦāĻŋāύāĻžāĻŽā§‚āĻ˛ā§āϝ⧇āϰ āĻĒāϰāĻŋāĻ•āĻ˛ā§āĻĒāύāĻž āϏāĻš āĻ…ā§āϝāĻžāĻĒāĻŽāĻžāĻ¸ā§āϟāĻžāϰ⧇āϰ āϏāĻžāĻĨ⧇ āĻĒāϰ⧀āĻ•ā§āώāĻž āĻ•āϰ⧁āύāĨ¤
āφāĻĒāύāĻŋ āϝāĻ–āύ āĻĒā§āϰāĻ¸ā§āϤ⧁āϤ āĻšāĻŦ⧇āύ āϤāĻ–āύ āφāĻĒāύāĻŋ āϏāĻ āĻŋāĻ• āϏāĻĻāĻ¸ā§āϝāϤāĻž āĻŦ⧇āϛ⧇ āύāĻŋāϤ⧇ āĻĒāĻžāϰ⧇āύ⧎

āĻāĻŦāĻžāϰ āĻļ⧁āϰ⧁ āĻ•āϰāĻž āϝāĻžāĻ•
āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚ā§Ÿā§‡āϰ āϜāĻ¨ā§āϝ PostgreSQL āϰāĻŋāĻĄ āϰ⧇āĻĒā§āϞāĻŋāĻ•āĻž: āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄāϗ⧁āϞ⧋āϕ⧇ āĻĻā§āϰ⧁āϤ āϰāĻžāϖ⧁āύ | AppMaster