āĻŽāĻžāĻ˛ā§āϟāĻŋ-āĻŽāĻĄā§‡āϞ āĻĄāĻŋāĻŦāĻŋāĻāĻŽāĻāϏ āĻ•āĻŋ āφāϧ⧁āύāĻŋāĻ• āϤāĻĨā§āϝ āĻŦā§āϝāĻŦāĻ¸ā§āĻĨāĻžāϰ āĻ­āĻŋāĻ¤ā§āϤāĻŋ?

āφāϧ⧁āύāĻŋāĻ• āϤāĻĨā§āϝ āĻŦā§āϝāĻŦāĻ¸ā§āĻĨāĻž āĻŦ⧇āĻļ āϜāϟāĻŋāϞāĨ¤ āϏāĻ°ā§āĻŦā§‹āĻĒāϰāĻŋ, āϤāĻžāĻĻ⧇āϰ āϜāϟāĻŋāϞāϤāĻž āϤāĻžāĻĻ⧇āϰ āĻŽāĻ§ā§āϝ⧇ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāĻ•ā§ƒāϤ āĻĄā§‡āϟāĻžāϰ āϜāϟāĻŋāϞāϤāĻžāϰ āĻ•āĻžāϰāϪ⧇āĨ¤ āĻĄā§‡āϟāĻžāϰ āϜāϟāĻŋāϞāϤāĻž āĻĒā§āϰāĻžāϝāĻŧāĻļāχ āĻŦā§āϝāĻŦāĻšā§ƒāϤ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āĻĄā§‡āϟāĻž āĻŽāĻĄā§‡āϞ⧇āϰ āĻŽāĻ§ā§āϝ⧇ āĻĨāĻžāϕ⧇āĨ¤ āϏ⧁āϤāϰāĻžāĻ‚, āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ, āϝāĻ–āύ āĻĄā§‡āϟāĻž "āĻŦāĻĄāĻŧ" āĻšāϝāĻŧ⧇ āϝāĻžāϝāĻŧ, āϏāĻŽāĻ¸ā§āϝāĻžāϝ⧁āĻ•ā§āϤ āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝāϗ⧁āϞāĻŋāϰ āĻŽāĻ§ā§āϝ⧇ āĻāĻ•āϟāĻŋ āĻšāϞ āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āĻāϰ āφāϝāĻŧāϤāύ ("āĻ­āϞāĻŋāωāĻŽ") āύāϝāĻŧ, āĻāϰ āĻŦ⧈āϚāĻŋāĻ¤ā§āĻ°ā§āϝ ("āĻŦ⧈āϚāĻŋāĻ¤ā§āĻ°ā§āϝ")āĨ¤

āφāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻāĻ–āύāĻ“ āϝ⧁āĻ•ā§āϤāĻŋāϤ⧇ āϕ⧋āύāĻ“ āĻ¤ā§āϰ⧁āϟāĻŋ āϖ⧁āρāĻœā§‡ āύāĻž āĻĒāĻžāύ āϤāĻŦ⧇ āĻĒāĻĄāĻŧ⧁āύāĨ¤

āĻŽāĻžāĻ˛ā§āϟāĻŋ-āĻŽāĻĄā§‡āϞ āĻĄāĻŋāĻŦāĻŋāĻāĻŽāĻāϏ āĻ•āĻŋ āφāϧ⧁āύāĻŋāĻ• āϤāĻĨā§āϝ āĻŦā§āϝāĻŦāĻ¸ā§āĻĨāĻžāϰ āĻ­āĻŋāĻ¤ā§āϤāĻŋ?


āϏāĻ¨ā§āϤ⧁āĻˇā§āϟ

āĻĒāϞāĻŋāĻ—ā§āϞāϟ āĻ…āĻ§ā§āϝāĻŦāϏāĻžāϝāĻŧ
āĻŽāĻžāĻ˛ā§āϟāĻŋ āĻŽāĻĄā§‡āϞ
āĻŽāĻžāĻ˛ā§āϟāĻŋ-āĻŽāĻĄā§‡āϞ āĻĄāĻŋāĻŦāĻŋāĻāĻŽāĻāϏ āϰāĻŋāϞ⧇āĻļāύāĻžāϞ āĻŽāĻĄā§‡āϞ⧇āϰ āωāĻĒāϰ āĻ­āĻŋāĻ¤ā§āϤāĻŋ āĻ•āϰ⧇
     MS SQL āϏāĻžāĻ°ā§āĻ­āĻžāϰ⧇ āύāĻĨāĻŋāϰ āĻŽāĻĄā§‡āϞ
     MS SQL āϏāĻžāĻ°ā§āĻ­āĻžāϰ⧇ āĻ—ā§āϰāĻžāĻĢ āĻŽāĻĄā§‡āϞ
āύāĻĨāĻŋ āĻŽāĻĄā§‡āϞ⧇āϰ āωāĻĒāϰ āĻ­āĻŋāĻ¤ā§āϤāĻŋ āĻ•āϰ⧇ āĻŽāĻžāĻ˛ā§āϟāĻŋ-āĻŽāĻĄā§‡āϞ āĻĄāĻŋāĻŦāĻŋāĻāĻŽāĻāϏ
     MarkLogic āĻŽāĻ§ā§āϝ⧇ āϏāĻŽā§āĻĒāĻ°ā§āϕ⧀āϝāĻŧ āĻŽāĻĄā§‡āϞ
     MarkLogic āĻŽāĻ§ā§āϝ⧇ āĻ—ā§āϰāĻžāĻĢ āĻŽāĻĄā§‡āϞ
āĻŽāĻžāĻ˛ā§āϟāĻŋ-āĻŽāĻĄā§‡āϞ āĻĄāĻŋāĻŦāĻŋāĻāĻŽāĻāϏ "āĻāĻ•āϟāĻŋ āĻĒā§āϰāϧāĻžāύ āĻŽāĻĄā§‡āϞ āĻ›āĻžāĻĄāĻŧāĻžāχ"
     āφāϰāĻžāύāĻ—ā§‹āĻĄāĻŋāĻŦāĻŋ
     OrientDB
     āφāϜ⧁āϰ āĻ•āϏāĻŽāϏāĻĄāĻŋāĻŦāĻŋ
āĻāĻ•āϟāĻŋ āĻ—ā§āϰāĻžāĻĢ āĻŽāĻĄā§‡āϞ⧇āϰ āωāĻĒāϰ āĻ­āĻŋāĻ¤ā§āϤāĻŋ āĻ•āϰ⧇ āĻŽāĻžāĻ˛ā§āϟāĻŋ-āĻŽāĻĄā§‡āϞ āĻĄāĻŋāĻŦāĻŋāĻāĻŽāĻāϏ?
āωāĻĒāϏāĻ‚āĻšāĻžāϰ
āϏāĻžāĻ•ā§āώāĻžāĻ¤ā§āĻ•āĻžāϰ

āĻĒāϞāĻŋāĻ—ā§āϞāϟ āĻ…āĻ§ā§āϝāĻŦāϏāĻžāϝāĻŧ

āωāĻĒāϰ⧇āϰāϟāĻŋ āĻāχ āϏāĻ¤ā§āϝ⧇āϰ āĻĻāĻŋāϕ⧇ āĻĒāϰāĻŋāϚāĻžāϞāĻŋāϤ āĻ•āϰ⧇ āϝ⧇ āĻ•āĻ–āύāĻ“ āĻ•āĻ–āύāĻ“ āĻāĻŽāύāĻ•āĻŋ āĻāĻ•āϟāĻŋ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āϰ āĻ•āĻžāĻ āĻžāĻŽā§‹āϰ āĻŽāĻ§ā§āϝ⧇āĻ“ āĻĄā§‡āϟāĻž āϏāĻžā§āϚāϝāĻŧ āĻ•āϰāϤ⧇ āĻāĻŦāĻ‚ āϏ⧇āϗ⧁āϞāĻŋ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāĻ•āϰāϪ⧇āϰ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āϏāĻŽāĻ¸ā§āϝāĻž āϏāĻŽāĻžāϧāĻžāύ⧇āϰ āϜāĻ¨ā§āϝ āĻŦ⧇āĻļ āĻ•āϝāĻŧ⧇āĻ•āϟāĻŋ āĻ­āĻŋāĻ¨ā§āύ āĻĄāĻŋāĻŦāĻŋāĻāĻŽāĻāϏ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āĻĒā§āϰāϝāĻŧā§‹āϜāύ, āϝāĻžāϰ āĻĒā§āϰāĻ¤ā§āϝ⧇āĻ•āϟāĻŋ āύāĻŋāϜāĻ¸ā§āĻŦ āĻĄā§‡āϟāĻž āĻŽāĻĄā§‡āϞ āϏāĻŽāĻ°ā§āĻĨāύ āĻ•āϰ⧇āĨ¤ āĻāĻŽ. āĻĢāĻžāωāϞāĻžāϰ⧇āϰ āĻšāĻžāϞāĻ•āĻž āĻšāĻžāϤ āĻĻāĻŋāϝāĻŧ⧇, āϞ⧇āĻ–āĻ• āĻŦāĻŋāĻ–ā§āϝāĻžāϤ āĻŦāχ āĻāĻ•āϟāĻŋ āϏāĻ‚āĻ–ā§āϝāĻž āĻāĻŦāĻ‚ āĻāĻ•āϟāĻŋ āϏāĻš-āϞ⧇āĻ–āĻ• āϚāϟāĻĒāĻŸā§‡ āχāĻļāϤ⧇āĻšāĻžāϰ, āĻāχ āĻ…āĻŦāĻ¸ā§āĻĨāĻž āĻŦāϞāĻž āĻšāϝāĻŧ āĻŽāĻžāĻ˛ā§āϟāĻŋ-āϭ⧇āϰāĻŋāϝāĻŧ⧇āĻ¨ā§āϟ āĻ¸ā§āĻŸā§‹āϰ⧇āϜ ("āĻĒāϞāĻŋāĻ—ā§āϞāϟ āĻ…āĻ§ā§āϝāĻŦāϏāĻžāϝāĻŧ")āĨ¤

Fowler āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“ āχ-āĻ•āĻŽāĻžāĻ°ā§āϏ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇ āĻāĻ•āϟāĻŋ āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝāϝ⧁āĻ•ā§āϤ āĻāĻŦāĻ‚ āωāĻšā§āϚ-āϞ⧋āĻĄ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ⧇ āĻĄā§‡āϟāĻž āĻ¸ā§āĻŸā§‹āϰ⧇āϜ āϏāĻ‚āĻ—āĻ āĻŋāϤ āĻ•āϰāĻžāϰ āύāĻŋāĻŽā§āύāϞāĻŋāĻ–āĻŋāϤ āωāĻĻāĻžāĻšāϰāĻŖ āϰāϝāĻŧ⧇āϛ⧇āĨ¤

āĻŽāĻžāĻ˛ā§āϟāĻŋ-āĻŽāĻĄā§‡āϞ āĻĄāĻŋāĻŦāĻŋāĻāĻŽāĻāϏ āĻ•āĻŋ āφāϧ⧁āύāĻŋāĻ• āϤāĻĨā§āϝ āĻŦā§āϝāĻŦāĻ¸ā§āĻĨāĻžāϰ āĻ­āĻŋāĻ¤ā§āϤāĻŋ?

āĻāχ āωāĻĻāĻžāĻšāϰāĻŖāϟāĻŋ, āĻ…āĻŦāĻļā§āϝāχ, āĻ•āĻŋāϛ⧁āϟāĻž āĻ…āϤāĻŋāϰāĻžā§āϜāĻŋāϤ, āϤāĻŦ⧇ āϏāĻ‚āĻļā§āϞāĻŋāĻˇā§āϟ āωāĻĻā§āĻĻ⧇āĻļā§āϝ⧇ āĻāĻ• āĻŦāĻž āĻ…āĻ¨ā§āϝ āĻĄāĻŋāĻŦāĻŋāĻāĻŽāĻāϏ āĻŦ⧇āϛ⧇ āύ⧇āĻ“āϝāĻŧāĻžāϰ āĻĒāĻ•ā§āώ⧇ āĻ•āĻŋāϛ⧁ āĻŦāĻŋāĻŦ⧇āϚāύāĻž āĻĒāĻžāĻ“āϝāĻŧāĻž āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇, āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ, āĻāĻ–āĻžāύ⧇.

āĻāϟāĻž āĻ¸ā§āĻĒāĻˇā§āϟ āϝ⧇ āĻāχ āϧāϰāύ⧇āϰ āϚāĻŋāĻĄāĻŧāĻŋāϝāĻŧāĻžāĻ–āĻžāύāĻžāϝāĻŧ āĻāĻ•āϜāύ āϚāĻžāĻ•āϰ āĻšāĻ“āϝāĻŧāĻž āϏāĻšāϜ āύāϝāĻŧāĨ¤

  • āĻĄā§‡āϟāĻž āĻ¸ā§āĻŸā§‹āϰ⧇āϜ āϏāĻŽā§āĻĒāĻžāĻĻāύ āĻ•āϰ⧇ āĻāĻŽāύ āϕ⧋āĻĄā§‡āϰ āĻĒāϰāĻŋāĻŽāĻžāĻŖ āĻŦā§āϝāĻŦāĻšā§ƒāϤ DBMS-āĻāϰ āϏāĻ‚āĻ–ā§āϝāĻžāϰ āĻ…āύ⧁āĻĒāĻžāϤ⧇ āĻŦ⧃āĻĻā§āϧāĻŋ āĻĒāĻžāϝāĻŧ; āϕ⧋āĻĄ āϏāĻŋāĻ™ā§āĻ•ā§āϰ⧋āύāĻžāχāϜāĻŋāĻ‚ āĻĄā§‡āϟāĻžāϰ āĻĒāϰāĻŋāĻŽāĻžāĻŖ āĻāχ āϏāĻ‚āĻ–ā§āϝāĻžāϰ āĻŦāĻ°ā§āĻ—āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇āϰ āϏāĻŽāĻžāύ⧁āĻĒāĻžāϤāĻŋāĻ• āύāĻž āĻšāϞ⧇ āĻ­āĻžāϞāĨ¤
  • āĻŦā§āϝāĻŦāĻšā§ƒāϤ DBMS-āĻāϰ āϏāĻ‚āĻ–ā§āϝāĻžāϰ āĻāĻ•āĻžāϧāĻŋāĻ• āĻšāĻŋāϏāĻžāĻŦ⧇, āĻŦā§āϝāĻŦāĻšā§ƒāϤ āĻĒā§āϰāϤāĻŋāϟāĻŋ DBMS-āĻāϰ āĻāĻ¨ā§āϟāĻžāϰāĻĒā§āϰāĻžāχāϜ āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝ (āĻ¸ā§āϕ⧇āϞāϝ⧋āĻ—ā§āϝāϤāĻž, āĻ¤ā§āϰ⧁āϟāĻŋ āϏāĻšāύāĻļā§€āϞāϤāĻž, āωāĻšā§āϚ āĻĒā§āϰāĻžāĻĒā§āϝāϤāĻž) āĻĒā§āϰāĻĻāĻžāύ⧇āϰ āĻ–āϰāϚ āĻŦ⧇āĻĄāĻŧ⧇ āϝāĻžāϝāĻŧāĨ¤
  • āϏāĻžāĻŽāĻ—ā§āϰāĻŋāĻ•āĻ­āĻžāĻŦ⧇ āĻ¸ā§āĻŸā§‹āϰ⧇āϜ āϏāĻžāĻŦāϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āϰ āĻāĻ¨ā§āϟāĻžāϰāĻĒā§āϰāĻžāχāϜ āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝāϗ⧁āϞāĻŋ āύāĻŋāĻļā§āϚāĻŋāϤ āĻ•āϰāĻž āĻ…āϏāĻŽā§āĻ­āĻŦ - āĻŦāĻŋāĻļ⧇āώ āĻ•āϰ⧇ āϞ⧇āύāĻĻ⧇āύāĨ¤

āϚāĻŋāĻĄāĻŧāĻŋāϝāĻŧāĻžāĻ–āĻžāύāĻž āĻĒāϰāĻŋāϚāĻžāϞāϕ⧇āϰ āĻĻ⧃āĻˇā§āϟāĻŋāϕ⧋āĻŖ āĻĨ⧇āϕ⧇, āϏāĻŦāĻ•āĻŋāϛ⧁ āĻāχāϰāĻ•āĻŽ āĻĻ⧇āĻ–āĻžāϝāĻŧ:

  • DBMS āĻĒā§āϰāĻ¸ā§āϤ⧁āϤāĻ•āĻžāϰāϕ⧇āϰ āĻ•āĻžāĻ› āĻĨ⧇āϕ⧇ āϞāĻžāχāϏ⧇āĻ¨ā§āϏ āĻāĻŦāĻ‚ āĻĒā§āϰāϝ⧁āĻ•ā§āϤāĻŋāĻ—āϤ āϏāĻšāĻžāϝāĻŧāϤāĻžāϰ āĻ–āϰāĻšā§‡ āĻāĻ•āĻžāϧāĻŋāĻ• āĻŦ⧃āĻĻā§āϧāĻŋāĨ¤
  • āĻ…āϤāĻŋāϰāĻŋāĻ•ā§āϤ āĻ¸ā§āϟāĻžāĻĢāĻŋāĻ‚ āĻāĻŦāĻ‚ āĻŦāĻ°ā§āϧāĻŋāϤ āϏāĻŽāϝāĻŧāϏ⧀āĻŽāĻžāĨ¤
  • āϤāĻĨā§āϝ⧇āϰ āĻ…āϏāĻžāĻŽāĻžā§āϜāĻ¸ā§āϝāϤāĻžāϰ āĻ•āĻžāϰāϪ⧇ āϏāϰāĻžāϏāϰāĻŋ āφāĻ°ā§āĻĨāĻŋāĻ• āĻ•ā§āώāϤāĻŋ āĻŦāĻž āϜāϰāĻŋāĻŽāĻžāύāĻžāĨ¤

āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āϰ āĻŽāĻžāϞāĻŋāĻ•āĻžāύāĻžāϰ āĻŽā§‹āϟ āĻ–āϰāϚ (TCO) āωāĻ˛ā§āϞ⧇āĻ–āϝ⧋āĻ—ā§āϝ āĻŦ⧃āĻĻā§āϧāĻŋ āĻĒ⧇āϝāĻŧ⧇āϛ⧇āĨ¤ "āĻāĻ•āĻžāϧāĻŋāĻ• āĻ¸ā§āĻŸā§‹āϰ⧇āϜ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ" āĻāϰ āĻĒāϰāĻŋāĻ¸ā§āĻĨāĻŋāϤāĻŋ āĻĨ⧇āϕ⧇ āĻŦ⧇āϰāĻŋāϝāĻŧ⧇ āφāϏāĻžāϰ āϕ⧋āύ āωāĻĒāĻžāϝāĻŧ āφāϛ⧇ āĻ•āĻŋ?

āĻŽāĻžāĻ˛ā§āϟāĻŋ āĻŽāĻĄā§‡āϞ

"āĻŽāĻžāĻ˛ā§āϟāĻŋāϭ⧇āϰāĻŋāϝāĻŧ⧇āϟ āĻ¸ā§āĻŸā§‹āϰ⧇āϜ" āĻļāĻŦā§āĻĻāϟāĻŋ 2011 āϏāĻžāϞ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āĻ›āĻŋāϞāĨ¤ āĻĒāĻĻā§āϧāϤāĻŋāϰ āϏāĻŽāĻ¸ā§āϝāĻž āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āϏāĻšā§‡āϤāύāϤāĻž āĻāĻŦāĻ‚ āϏāĻŽāĻžāϧāĻžāύ⧇āϰ āĻ…āύ⧁āϏāĻ¨ā§āϧāĻžāύ⧇ āĻŦ⧇āĻļ āĻ•āϝāĻŧ⧇āĻ• āĻŦāĻ›āϰ āϏāĻŽāϝāĻŧ āϞ⧇āϗ⧇āĻ›āĻŋāϞ, āĻāĻŦāĻ‚ 2015 āϏāĻžāϞ⧇āϰ āĻŽāĻ§ā§āϝ⧇, āĻ—āĻžāĻ°ā§āϟāύāĻžāϰ āĻŦāĻŋāĻļā§āϞ⧇āώāĻ•āĻĻ⧇āϰ āĻŽā§āϖ⧇āϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡, āωāĻ¤ā§āϤāϰāϟāĻŋ āϤ⧈āϰāĻŋ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āĻ›āĻŋāϞ:

āĻŽāύ⧇ āĻšāĻšā§āϛ⧇ āĻāχ āϏāĻŽāϝāĻŧ āĻ—āĻžāĻ°ā§āϟāύāĻžāϰ āĻŦāĻŋāĻļā§āϞ⧇āώāĻ•āϰāĻž āϤāĻžāĻĻ⧇āϰ āĻĒā§‚āĻ°ā§āĻŦāĻžāĻ­āĻžāϏ āĻĻāĻŋāϝāĻŧ⧇ āĻ āĻŋāĻ• āĻ›āĻŋāϞ⧇āύāĨ¤ āϏāĻžāĻĨ⧇ āĻĒ⧇āχāĻœā§‡ āϗ⧇āϞ⧇ āĻĒā§āϰāϧāĻžāύ āϰ⧇āϟāĻŋāĻ‚ āĻĄāĻŋāĻŦāĻŋ-āχāĻžā§āϜāĻŋāύ⧇ āĻĄāĻŋāĻŦāĻŋāĻāĻŽāĻāϏ, āφāĻĒāύāĻŋ āĻāϟāĻŋ āĻĻ⧇āĻ–āϤ⧇ āĻĒāĻžāϰ⧇āĻ¨ĐžāĻāϰ āĻŦ⧇āĻļāĻŋāϰāĻ­āĻžāĻ— āύ⧇āϤāĻžāϰāĻž āύāĻŋāĻœā§‡āĻĻ⧇āϰāϕ⧇ āĻŦāĻŋāĻļ⧇āώāĻ­āĻžāĻŦ⧇ āĻŽāĻžāĻ˛ā§āϟāĻŋ-āĻŽāĻĄā§‡āϞ āĻĄāĻŋāĻŦāĻŋāĻāĻŽāĻāϏ āĻšāĻŋāϏāĻžāĻŦ⧇ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāύ āĻ•āϰ⧇āĨ¤ āĻāĻ•āχ āϝ⧇ āϕ⧋āύ⧋ āĻŦā§āϝāĻ•ā§āϤāĻŋāĻ—āϤ āϰ⧇āϟāĻŋāĻ‚ āϏāĻ™ā§āϗ⧇ āĻĒ⧃āĻˇā§āĻ āĻžāϝāĻŧ āĻĻ⧇āĻ–āĻž āϝāĻžāĻŦ⧇.

āύ⧀āĻšā§‡āϰ āϏāĻžāϰāĻŖā§€āϟāĻŋ āĻĄāĻŋāĻŦāĻŋāĻāĻŽāĻāϏ āĻĻ⧇āĻ–āĻžāϝāĻŧ - āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻŦā§āϝāĻ•ā§āϤāĻŋāĻ—āϤ āϰ⧇āϟāĻŋāĻ‚āϝāĻŧ⧇ āύ⧇āϤāĻžāϰāĻž, āϝāĻž āĻŦāĻšā§-āĻŽāĻĄā§‡āϞ āĻŦāϞ⧇ āĻĻāĻžāĻŦāĻŋ āĻ•āϰ⧇āĨ¤ āĻĒā§āϰāϤāĻŋāϟāĻŋ DBMS-āĻāϰ āϜāĻ¨ā§āϝ, āĻŽā§‚āϞ āϏāĻŽāĻ°ā§āĻĨāĻŋāϤ āĻŽāĻĄā§‡āϞ (āϝāĻž āĻāĻ•āĻŦāĻžāϰ āĻāĻ•āĻŽāĻžāĻ¤ā§āϰ āĻ›āĻŋāϞ) āĻāĻŦāĻ‚ āĻāϰ āϏāĻžāĻĨ⧇ āĻŦāĻ°ā§āϤāĻŽāĻžāύ⧇ āϏāĻŽāĻ°ā§āĻĨāĻŋāϤ āĻŽāĻĄā§‡āϞāϗ⧁āϞāĻŋ āύāĻŋāĻ°ā§āĻĻ⧇āĻļāĻŋāϤ āĻšāϝāĻŧāĨ¤ āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“ āϤāĻžāϞāĻŋāĻ•āĻžāϭ⧁āĻ•ā§āϤ āĻĄāĻŋāĻŦāĻŋāĻāĻŽāĻāϏāϗ⧁āϞāĻŋāϕ⧇ "āĻŽā§‚āϞāϤ āĻŽāĻžāĻ˛ā§āϟāĻŋ-āĻŽāĻĄā§‡āϞ" āĻšāĻŋāϏāĻžāĻŦ⧇ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāύ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āύāĻŋāĻ°ā§āĻŽāĻžāϤāĻžāĻĻ⧇āϰ āĻŽāϤ⧇, āϕ⧋āύ⧋ āĻĒā§āϰāĻžāĻĨāĻŽāĻŋāĻ• āωāĻ¤ā§āϤāϰāĻžāϧāĻŋāĻ•āĻžāϰāϏ⧂āĻ¤ā§āϰ⧇ āĻĒā§āϰāĻžāĻĒā§āϤ āĻŽāĻĄā§‡āϞ āύ⧇āχ⧎

āĻĄāĻŋāĻŦāĻŋāĻāĻŽāĻāϏāĻĒā§āϰāĻžāĻĨāĻŽāĻŋāĻ• āĻŽāĻĄā§‡āϞāĻ…āϤāĻŋāϰāĻŋāĻ•ā§āϤ āĻŽāĻĄā§‡āϞ
āφāĻ•āĻžāĻļāĻŦāĻžāĻŖā§€āϏāĻŽā§āĻĒāĻ°ā§āϕ⧀āϝāĻŧāĻ—ā§āϰāĻžāĻĢ, āύāĻĨāĻŋ
āĻāĻŽāĻāϏ āĻāϏāĻ•āĻŋāωāĻāϞāϏāĻŽā§āĻĒāĻ°ā§āϕ⧀āϝāĻŧāĻ—ā§āϰāĻžāĻĢ, āύāĻĨāĻŋ
āĻĒā§‹āĻ¸ā§āϟāĻ—ā§āϰāĻŋāϏāĻŽā§āĻĒāĻ°ā§āϕ⧀āϝāĻŧāĻ—ā§āϰāĻžāĻĢ*, āύāĻĨāĻŋ
āĻŽāĻžāĻ°ā§āĻ•āϞāϜāĻŋāĻ•āϤāĻĨā§āϝāϚāĻŋāĻ¤ā§āϰāĻ—ā§āϰāĻžāĻĢ, āϰāĻŋāϞ⧇āĻļāύāĻžāϞ
MongoDBāϤāĻĨā§āϝāϚāĻŋāĻ¤ā§āϰāĻŽā§‚āϞ-āĻŽāĻžāύ, āĻ—ā§āϰāĻžāĻĢ*
āĻĄā§‡āϟāĻžāĻ¸ā§āĻŸā§āϝāĻžāĻ•ā§āϏāĻĒā§āϰāĻļāĻ¸ā§āϤ-āĻ•āϞāĻžāĻŽāĻĄāϕ⧁āĻŽā§‡āĻ¨ā§āϟāĻžāϰāĻŋ, āĻ—ā§āϰāĻžāĻĢ
RedisāĻĒā§āϰāĻ•ā§ƒāϤ āĻŽā§‚āĻ˛ā§āϝāĻĄāϕ⧁āĻŽā§‡āĻ¨ā§āϟāĻžāϰāĻŋ, āĻ—ā§āϰāĻžāĻĢ*
āφāϰāĻžāύāĻ—ā§‹āĻĄāĻŋāĻŦāĻŋ-āĻ—ā§āϰāĻžāĻĢ, āύāĻĨāĻŋ
OrientDB-āĻ—ā§āϰāĻžāĻĢ, āĻĄāϕ⧁āĻŽā§‡āĻ¨ā§āϟ, āϰāĻŋāϞ⧇āĻļāύāĻžāϞ
āφāϜ⧁āϰ āĻ•āϏāĻŽāϏāĻĄāĻŋāĻŦāĻŋ-āĻ—ā§āϰāĻžāĻĢ, āĻĄāϕ⧁āĻŽā§‡āĻ¨ā§āϟ, āϰāĻŋāϞ⧇āĻļāύāĻžāϞ

āĻŸā§‡āĻŦāĻŋāϞ āύ⧋āϟ

āϏāĻžāϰāĻŖā§€āϤ⧇ āϤāĻžāϰāĻ•āĻžāϚāĻŋāĻšā§āύāϗ⧁āϞāĻŋ āϚāĻŋāĻšā§āύāĻŋāϤ āĻŦāĻŋāĻŦ⧃āϤāĻŋāϗ⧁āϞāĻŋāϰ āϜāĻ¨ā§āϝ āϏāĻ‚āϰāĻ•ā§āώāϪ⧇āϰ āĻĒā§āϰāϝāĻŧā§‹āϜāύ:

  • PostgreSQL DBMS āĻ—ā§āϰāĻžāĻĢ āĻĄā§‡āϟāĻž āĻŽāĻĄā§‡āϞ āϏāĻŽāĻ°ā§āĻĨāύ āĻ•āϰ⧇ āύāĻž, āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻāχ āĻĒāĻŖā§āϝāϟāĻŋ āĻāϟāĻŋ āϏāĻŽāĻ°ā§āĻĨāύ āĻ•āϰ⧇ āĻāϰ āωāĻĒāϰ āĻ­āĻŋāĻ¤ā§āϤāĻŋ āĻ•āϰ⧇, āϝ⧇āĻŽāύ AgensGraph.
  • MongoDB-āĻāϰ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇, āϕ⧋āϝāĻŧ⧇āϰāĻŋ āĻ­āĻžāώāĻžāϝāĻŧ āĻ—ā§āϰāĻžāĻĢ āĻ…āĻĒāĻžāϰ⧇āϟāϰāĻĻ⧇āϰ āωāĻĒāĻ¸ā§āĻĨāĻŋāϤāĻŋ āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āĻ•āĻĨāĻž āĻŦāϞāĻž āφāϰāĻ“ āϏāĻ āĻŋāĻ• ($lookup, $graphLookup) āĻ—ā§āϰāĻžāĻĢ āĻŽāĻĄā§‡āϞāϕ⧇ āϏāĻŽāĻ°ā§āĻĨāύ āĻ•āϰāĻžāϰ āĻšā§‡āϝāĻŧ⧇, āϝāĻĻāĻŋāĻ“, āĻ…āĻŦāĻļā§āϝāχ, āϤāĻžāĻĻ⧇āϰ āĻĒā§āϰāĻŦāĻ°ā§āϤāύ⧇āϰ āϜāĻ¨ā§āϝ āĻ—ā§āϰāĻžāĻĢ āĻŽāĻĄā§‡āϞāϕ⧇ āϏāĻŽāĻ°ā§āĻĨāύ āĻ•āϰāĻžāϰ āĻĻāĻŋāĻ• āĻĨ⧇āϕ⧇ āϭ⧌āϤ āĻ¸ā§āĻŸā§‹āϰ⧇āϜ āĻ¸ā§āϤāϰ⧇ āĻ•āĻŋāϛ⧁ āĻ…āĻĒā§āϟāĻŋāĻŽāĻžāχāĻœā§‡āĻļāĻžāύ āĻĒā§āϰāϝāĻŧā§‹āϜāύāĨ¤
  • āϰ⧇āĻĄāĻŋāϏ⧇āϰ āϏāĻžāĻĨ⧇, āφāĻŽāϰāĻž āĻāĻ•ā§āϏāĻŸā§‡āύāĻļāύ āĻŦā§‹āĻāĻžāϤ⧇ āϚāĻžāχ āϰ⧇āĻĄāĻŋāϏāĻ—ā§āϰāĻžāĻĢ.

āĻĒāϰāĻŦāĻ°ā§āϤ⧀āϤ⧇, āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻ•ā§āϞāĻžāϏ⧇āϰ āϜāĻ¨ā§āϝ, āφāĻŽāϰāĻž āĻĻ⧇āĻ–āĻžāĻŦ āĻ•āĻŋāĻ­āĻžāĻŦ⧇ āĻāχ āĻ•ā§āϞāĻžāϏ āĻĨ⧇āϕ⧇ āĻĄāĻŋāĻŦāĻŋāĻāĻŽāĻāϏ⧇ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āĻŽāĻĄā§‡āϞ⧇āϰ āϜāĻ¨ā§āϝ āϏāĻŽāĻ°ā§āĻĨāύ āĻĒā§āϰāϝāĻŧā§‹āĻ— āĻ•āϰāĻž āĻšāϝāĻŧāĨ¤ āφāĻŽāϰāĻž āϰāĻŋāϞ⧇āĻļāύāĻžāϞ, āĻĄāϕ⧁āĻŽā§‡āĻ¨ā§āϟ āĻāĻŦāĻ‚ āĻ—ā§āϰāĻžāĻĢ āĻŽāĻĄā§‡āϞāϗ⧁āϞāĻŋāϕ⧇ āϏāĻŦāĻšā§‡āϝāĻŧ⧇ āϗ⧁āϰ⧁āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻšāĻŋāϏāĻžāĻŦ⧇ āĻŦāĻŋāĻŦ⧇āϚāύāĻž āĻ•āϰāĻŦ āĻāĻŦāĻ‚ "āύāĻŋāĻ–ā§‹āρāϜāϗ⧁āϞāĻŋ" āϕ⧀āĻ­āĻžāĻŦ⧇ āĻŦāĻžāĻ¸ā§āϤāĻŦāĻžāϝāĻŧāĻŋāϤ āĻšāϝāĻŧ āϤāĻž āĻĻ⧇āĻ–āĻžāύ⧋āϰ āϜāĻ¨ā§āϝ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ DBMS-āĻāϰ āωāĻĻāĻžāĻšāϰāĻŖ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻŦāĨ¤

āĻŽāĻžāĻ˛ā§āϟāĻŋ-āĻŽāĻĄā§‡āϞ āĻĄāĻŋāĻŦāĻŋāĻāĻŽāĻāϏ āϰāĻŋāϞ⧇āĻļāύāĻžāϞ āĻŽāĻĄā§‡āϞ⧇āϰ āωāĻĒāϰ āĻ­āĻŋāĻ¤ā§āϤāĻŋ āĻ•āϰ⧇

āύ⧇āϤ⧃āĻ¸ā§āĻĨāĻžāύ⧀āϝāĻŧ DBMSs āĻŦāĻ°ā§āϤāĻŽāĻžāύ⧇ āϏāĻŽā§āĻĒāĻ°ā§āĻ•āϝ⧁āĻ•ā§āϤ; āĻ—āĻžāĻ°ā§āϟāύāĻžāϰ⧇āϰ āĻĒā§‚āĻ°ā§āĻŦāĻžāĻ­āĻžāϏ āϏāĻ¤ā§āϝ āĻŦāϞ⧇ āĻŦāĻŋāĻŦ⧇āϚāĻŋāϤ āĻšāϤ⧇ āĻĒāĻžāϰ⧇ āύāĻž āϝāĻĻāĻŋ RDBMSāϗ⧁āϞāĻŋ āĻŽāĻžāĻ˛ā§āϟāĻŋ-āĻŽāĻĄā§‡āϞāĻŋāĻ‚āϝāĻŧ⧇āϰ āĻĻāĻŋāϕ⧇ āĻ—āϤāĻŋāĻļā§€āϞ āύāĻž āĻĻ⧇āĻ–āĻžāϝāĻŧāĨ¤ āĻāĻŦāĻ‚ āϤāĻžāϰāĻž āĻĒā§āϰāĻĻāĻ°ā§āĻļāύ āĻ•āϰ⧇āĨ¤ āĻāĻ–āύ āϧāĻžāϰāĻŖāĻžāϟāĻŋ āϝ⧇ āĻāĻ•āϟāĻŋ āĻŽāĻžāĻ˛ā§āϟāĻŋ-āĻŽāĻĄā§‡āϞ āĻĄāĻŋāĻŦāĻŋāĻāĻŽāĻāϏ āĻāĻ•āϟāĻŋ āϏ⧁āχāϏ āϛ⧁āϰāĻŋāϰ āĻŽāϤ⧋, āϝāĻž āĻ­āĻžāϞ āĻ•āĻŋāϛ⧁ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇ āύāĻž, āϏāϰāĻžāϏāϰāĻŋ āĻ˛ā§āϝāĻžāϰāĻŋ āĻāϞāĻŋāϏāύāϕ⧇ āύāĻŋāĻ°ā§āĻĻ⧇āĻļ āĻ•āϰāĻž āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

āϞ⧇āĻ–āĻ• āĻ…āĻŦāĻļā§āϝ, Microsoft SQL āϏāĻžāĻ°ā§āĻ­āĻžāϰ⧇ āĻŽāĻžāĻ˛ā§āϟāĻŋ-āĻŽāĻĄā§‡āϞāĻŋāĻ‚ āĻŦāĻžāĻ¸ā§āϤāĻŦāĻžāϝāĻŧāύ āĻĒāĻ›āĻ¨ā§āĻĻ āĻ•āϰ⧇āύ, āϝāĻžāϰ āωāĻĻāĻžāĻšāϰāϪ⧇ āύāĻĨāĻŋ āĻāĻŦāĻ‚ āĻ—ā§āϰāĻžāĻĢ āĻŽāĻĄā§‡āϞ⧇āϰ āϜāĻ¨ā§āϝ RDBMS āϏāĻŽāĻ°ā§āĻĨāύ āĻŦāĻ°ā§āĻŖāύāĻž āĻ•āϰāĻž āĻšāĻŦ⧇āĨ¤

MS SQL āϏāĻžāĻ°ā§āĻ­āĻžāϰ⧇ āύāĻĨāĻŋāϰ āĻŽāĻĄā§‡āϞ

āĻāĻŽāĻāϏ āĻāϏāĻ•āĻŋāωāĻāϞ āϏāĻžāĻ°ā§āĻ­āĻžāϰ āϕ⧀āĻ­āĻžāĻŦ⧇ āĻĄāϕ⧁āĻŽā§‡āĻ¨ā§āϟ āĻŽāĻĄā§‡āϞ⧇āϰ āϜāĻ¨ā§āϝ āϏāĻŽāĻ°ā§āĻĨāύ āĻĒā§āϰāϝāĻŧā§‹āĻ— āĻ•āϰ⧇ āϏ⧇ āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āĻšā§āϝāĻžāĻŦā§āϰ⧇āϤ⧇ āχāϤāĻŋāĻŽāĻ§ā§āϝ⧇ āĻĻ⧁āϟāĻŋ āĻĻ⧁āĻ°ā§āĻĻāĻžāĻ¨ā§āϤ āύāĻŋāĻŦāĻ¨ā§āϧ āϰāϝāĻŧ⧇āϛ⧇; āφāĻŽāĻŋ āύāĻŋāĻœā§‡āϕ⧇ āĻāĻ•āϟāĻŋ āϏāĻ‚āĻ•ā§āώāĻŋāĻĒā§āϤ āϰāĻŋāĻŸā§‡āϞāĻŋāĻ‚ āĻāĻŦāĻ‚ āĻ­āĻžāĻˇā§āϝ⧇āϰ āĻŽāĻ§ā§āϝ⧇ āϏ⧀āĻŽāĻžāĻŦāĻĻā§āϧ āĻ•āϰāĻŦ:

āĻāĻŽāĻāϏ āĻāϏāĻ•āĻŋāωāĻāϞ āϏāĻžāĻ°ā§āĻ­āĻžāϰ⧇ āύāĻĨāĻŋāϰ āĻŽāĻĄā§‡āϞāϟāĻŋāϕ⧇ āϏāĻŽāĻ°ā§āĻĨāύ āĻ•āϰāĻžāϰ āωāĻĒāĻžāϝāĻŧāϟāĻŋ āϰāĻŋāϞ⧇āĻļāύāĻžāϞ āĻĄāĻŋāĻŦāĻŋāĻāĻŽāĻāϏ⧇āϰ āϜāĻ¨ā§āϝ āĻŦ⧇āĻļ āϏāĻžāϧāĻžāϰāĻŖ: JSON āύāĻĨāĻŋāϗ⧁āϞāĻŋ āϏāĻžāϧāĻžāϰāĻŖ āĻĒāĻžāĻ ā§āϝ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰāĻžāϰ āĻĒā§āϰāĻ¸ā§āϤāĻžāĻŦ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇āĨ¤ āύāĻĨāĻŋ āĻŽāĻĄā§‡āϞ⧇āϰ āϜāĻ¨ā§āϝ āϏāĻŽāĻ°ā§āĻĨāύ āĻāχ JSON āĻĒāĻžāĻ°ā§āϏ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻŦāĻŋāĻļ⧇āώ āĻ…āĻĒāĻžāϰ⧇āϟāϰ āĻĒā§āϰāĻĻāĻžāύ āĻ•āϰāĻž āĻšāϝāĻŧ:

  • JSON_VALUE āĻ¸ā§āϕ⧇āϞāĻžāϰ āĻ…ā§āϝāĻžāĻŸā§āϰāĻŋāĻŦāĻŋāωāϟ āĻŽāĻžāύ āĻŦ⧇āϰ āĻ•āϰāϤ⧇,
  • JSON_QUERY āϏāĻžāĻŦ-āĻĄāϕ⧁āĻŽā§‡āĻ¨ā§āϟ āĻŦ⧇āϰ āĻ•āϰāϤ⧇āĨ¤

āωāĻ­āϝāĻŧ āĻ…āĻĒāĻžāϰ⧇āϟāϰ⧇āϰ āĻĻā§āĻŦāĻŋāϤ⧀āϝāĻŧ āϝ⧁āĻ•ā§āϤāĻŋ āĻšāϞ JSONPath-āĻāϰ āĻŽāϤ āϏāĻŋāύāĻŸā§āϝāĻžāĻ•ā§āϏ⧇āϰ āĻāĻ•āϟāĻŋ āĻ…āĻ­āĻŋāĻŦā§āϝāĻ•ā§āϤāĻŋāĨ¤

āĻŦāĻŋāĻŽā§‚āĻ°ā§āϤāĻ­āĻžāĻŦ⧇, āφāĻŽāϰāĻž āĻŦāϞāϤ⧇ āĻĒāĻžāϰāĻŋ āϝ⧇ āĻāχāĻ­āĻžāĻŦ⧇ āϏāĻ‚āϰāĻ•ā§āώāĻŋāϤ āύāĻĨāĻŋāϗ⧁āϞāĻŋ āĻāĻ•āϟāĻŋ āϏāĻŽā§āĻĒāĻ°ā§āĻ•āϝ⧁āĻ•ā§āϤ āĻĄāĻŋāĻŦāĻŋāĻāĻŽāĻāϏ⧇ "āĻĒā§āϰāĻĨāĻŽ-āĻļā§āϰ⧇āĻŖā§€āϰ āϏāĻ¤ā§āϤāĻž" āύāϝāĻŧ, āϟāĻŋāĻĒāϞāϗ⧁āϞāĻŋāϰ āĻŦāĻŋāĻĒāϰ⧀āϤ⧇āĨ¤ āĻŦāĻŋāĻļ⧇āώāϤ, MS SQL āϏāĻžāĻ°ā§āĻ­āĻžāϰ⧇ āĻŦāĻ°ā§āϤāĻŽāĻžāύ⧇ JSON āύāĻĨāĻŋāϗ⧁āϞāĻŋāϰ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇ āϕ⧋āύāĻ“ āϏ⧂āĻšā§€ āύ⧇āχ, āϝāĻž āĻāχ āĻ•ā§āώ⧇āĻ¤ā§āϰāϗ⧁āϞāĻŋāϰ āĻŽāĻžāύāϗ⧁āϞāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻŸā§‡āĻŦāĻŋāϞ⧇ āϝ⧋āĻ—āĻĻāĻžāύ āĻ•āϰāĻž āĻāĻŦāĻ‚ āĻāĻŽāύāĻ•āĻŋ āĻāχ āĻŽāĻžāύāϗ⧁āϞāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āύāĻĨāĻŋ āύāĻŋāĻ°ā§āĻŦāĻžāϚāύ āĻ•āϰāĻž āĻ•āĻ āĻŋāύ āĻ•āϰ⧇ āϤ⧋āϞ⧇⧎ āϝāĻžāχāĻšā§‹āĻ•, āĻāχ āϜāĻžāϤ⧀āϝāĻŧ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇āϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āĻ—āĻŖāύāĻž āĻ•āϰāĻž āĻ•āϞāĻžāĻŽ āĻāĻŦāĻ‚ āĻāϟāĻŋāϤ⧇ āĻāĻ•āϟāĻŋ āϏ⧂āϚāĻ• āϤ⧈āϰāĻŋ āĻ•āϰāĻž āϏāĻŽā§āĻ­āĻŦāĨ¤

āωāĻĒāϰāĻ¨ā§āϤ⧁, MS SQL āϏāĻžāĻ°ā§āĻ­āĻžāϰ āĻ…āĻĒāĻžāϰ⧇āϟāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻŸā§‡āĻŦāĻŋāϞ⧇āϰ āĻŦāĻŋāώāϝāĻŧāĻŦāĻ¸ā§āϤ⧁ āĻĨ⧇āϕ⧇ āϏ⧁āĻŦāĻŋāϧāĻžāϜāύāĻ•āĻ­āĻžāĻŦ⧇ āĻāĻ•āϟāĻŋ JSON āύāĻĨāĻŋ āϤ⧈āϰāĻŋ āĻ•āϰāĻžāϰ āĻ•ā§āώāĻŽāϤāĻž āĻĒā§āϰāĻĻāĻžāύ āĻ•āϰ⧇ FOR JSON PATH - āĻāĻ•āϟāĻŋ āϏāĻŽā§āĻ­āĻžāĻŦāύāĻž, āĻāĻ•āϟāĻŋ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻ…āĻ°ā§āĻĨ⧇, āφāϗ⧇āϰāϟāĻŋāϰ āĻŦāĻŋāĻĒāϰ⧀āϤ⧇, āĻĒā§āϰāϚāϞāĻŋāϤ āĻ¸ā§āĻŸā§‹āϰ⧇āϜāĨ¤ āĻāϟāĻž āĻ¸ā§āĻĒāĻˇā§āϟ āϝ⧇ āĻāĻ•āϟāĻŋ RDBMS āϝāϤ āĻĻā§āϰ⧁āϤāχ āĻšā§‹āĻ• āύāĻž āϕ⧇āύ, āĻāχ āĻĒāĻĻā§āϧāϤāĻŋāϟāĻŋ āĻĄāϕ⧁āĻŽā§‡āĻ¨ā§āϟ DBMSs-āĻāϰ āφāĻĻāĻ°ā§āĻļ⧇āϰ āϏāĻžāĻĨ⧇ āĻŦāĻŋāϰ⧋āϧāĻŋāϤāĻž āĻ•āϰ⧇, āϝāĻž āĻŽā§‚āϞāϤ āϜāύāĻĒā§āϰāĻŋāϝāĻŧ āĻĒā§āϰāĻļā§āύ⧇āϰ āϜāĻ¨ā§āϝ āĻĒā§āϰāĻ¸ā§āϤ⧁āϤ āωāĻ¤ā§āϤāϰ āϏāĻžā§āϚāϝāĻŧ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āωāĻ¨ā§āύāϝāĻŧāύ⧇āϰ āϏāĻšāϜāϤāĻžāϰ āϏāĻŽāĻ¸ā§āϝāĻž āϏāĻŽāĻžāϧāĻžāύ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇, āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻ—āϤāĻŋ āύāϝāĻŧāĨ¤

āĻ…āĻŦāĻļ⧇āώ⧇, āĻāĻŽāĻāϏ āĻāϏāĻ•āĻŋāωāĻāϞ āϏāĻžāĻ°ā§āĻ­āĻžāϰ āφāĻĒāύāĻžāϕ⧇ āύāĻĨāĻŋ āύāĻŋāĻ°ā§āĻŽāĻžāϪ⧇āϰ āĻŦāĻŋāĻĒāϰ⧀āϤ āϏāĻŽāĻ¸ā§āϝāĻžāϰ āϏāĻŽāĻžāϧāĻžāύ āĻ•āϰāϤ⧇ āĻĻ⧇āϝāĻŧ: āφāĻĒāύāĻŋ JSON āϕ⧇ āĻŸā§‡āĻŦāĻŋāϞ⧇ āĻĒāϚāύ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύ OPENJSON. āύāĻĨāĻŋāϟāĻŋ āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āϏāĻŽāϤāϞ āύāĻž āĻšāϞ⧇, āφāĻĒāύāĻžāϕ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻšāĻŦ⧇ CROSS APPLY.

MS SQL āϏāĻžāĻ°ā§āĻ­āĻžāϰ⧇ āĻ—ā§āϰāĻžāĻĢ āĻŽāĻĄā§‡āϞ

āĻ—ā§āϰāĻžāĻĢ (āĻāϞāĻĒāĻŋāϜāĻŋ) āĻŽāĻĄā§‡āϞ⧇āϰ āϜāĻ¨ā§āϝ āϏāĻŽāĻ°ā§āĻĨāύ Microsoft SQL āϏāĻžāĻ°ā§āĻ­āĻžāϰ⧇ āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖāϰ⧂āĻĒ⧇ āĻĒā§āϰāϝāĻŧā§‹āĻ— āĻ•āϰāĻž āĻšāϝāĻŧ āĻ…āύ⧁āĻŽāĻžāύāϝ⧋āĻ—ā§āϝāĻ­āĻžāĻŦ⧇: āύ⧋āĻĄ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰāϤ⧇ āĻāĻŦāĻ‚ āĻ—ā§āϰāĻžāĻĢ āĻĒā§āϰāĻžāĻ¨ā§āϤāϗ⧁āϞāĻŋ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰāϤ⧇ āĻŦāĻŋāĻļ⧇āώ āĻŸā§‡āĻŦāĻŋāϞ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻžāϰ āĻĒā§āϰāĻ¸ā§āϤāĻžāĻŦ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇āĨ¤ āĻāχ āϧāϰāύ⧇āϰ āĻŸā§‡āĻŦāĻŋāϞ āĻāĻ•ā§āϏāĻĒā§āϰ⧇āĻļāύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āϤ⧈āϰāĻŋ āĻ•āϰāĻž āĻšāϝāĻŧ CREATE TABLE AS NODE и CREATE TABLE AS EDGE āϝāĻĨāĻžāĻ•ā§āϰāĻŽā§‡āĨ¤

āĻĒā§āϰāĻĨāĻŽ āϧāϰāϪ⧇āϰ āĻŸā§‡āĻŦāĻŋāϞāϗ⧁āϞāĻŋ āϰ⧇āĻ•āĻ°ā§āĻĄ āϏāĻ‚āϰāĻ•ā§āώāϪ⧇āϰ āϜāĻ¨ā§āϝ āϏāĻžāϧāĻžāϰāĻŖ āĻŸā§‡āĻŦāĻŋāϞ⧇āϰ āĻŽāϤ⧋, āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āĻŦāĻžāĻšā§āϝāĻŋāĻ• āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āϝ āĻšāϞ āϝ⧇ āĻŸā§‡āĻŦāĻŋāϞāϟāĻŋāϤ⧇ āĻāĻ•āϟāĻŋ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ•ā§āώ⧇āĻ¤ā§āϰ āϰāϝāĻŧ⧇āϛ⧇ $node_id — āĻĄāĻžāϟāĻžāĻŦ⧇āϏ⧇āϰ āĻŽāĻ§ā§āϝ⧇ āĻāĻ•āϟāĻŋ āĻ—ā§āϰāĻžāĻĢ āύ⧋āĻĄā§‡āϰ āĻ…āύāĻ¨ā§āϝ āĻļāύāĻžāĻ•ā§āϤāĻ•āĻžāϰ⧀āĨ¤

āĻāĻ•āχāĻ­āĻžāĻŦ⧇, āĻĻā§āĻŦāĻŋāϤ⧀āϝāĻŧ āϧāϰāϪ⧇āϰ āĻŸā§‡āĻŦāĻŋāϞ⧇ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ•ā§āώ⧇āĻ¤ā§āϰ āϰāϝāĻŧ⧇āϛ⧇ $from_id и $to_id, āĻāχ āϜāĻžāϤ⧀āϝāĻŧ āĻŸā§‡āĻŦāĻŋāϞ⧇āϰ āĻāĻ¨ā§āĻŸā§āϰāĻŋāϗ⧁āϞāĻŋ āύ⧋āĻĄāϗ⧁āϞāĻŋāϰ āĻŽāĻ§ā§āϝ⧇ āϏāĻ‚āϝ⧋āĻ—āϗ⧁āϞāĻŋāϕ⧇ āĻ¸ā§āĻĒāĻˇā§āϟāĻ­āĻžāĻŦ⧇ āϏāĻ‚āĻœā§āĻžāĻžāϝāĻŧāĻŋāϤ āĻ•āϰ⧇āĨ¤ āĻĒā§āϰāϤāĻŋāϟāĻŋ āϧāϰāύ⧇āϰ āϏāĻŽā§āĻĒāĻ°ā§āĻ• āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰāϤ⧇ āĻāĻ•āϟāĻŋ āĻĒ⧃āĻĨāĻ• āĻŸā§‡āĻŦāĻŋāϞ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āĻšāϝāĻŧāĨ¤

āĻŽāĻžāĻ˛ā§āϟāĻŋ-āĻŽāĻĄā§‡āϞ āĻĄāĻŋāĻŦāĻŋāĻāĻŽāĻāϏ āĻ•āĻŋ āφāϧ⧁āύāĻŋāĻ• āϤāĻĨā§āϝ āĻŦā§āϝāĻŦāĻ¸ā§āĻĨāĻžāϰ āĻ­āĻŋāĻ¤ā§āϤāĻŋ? āφāϏ⧁āύ āĻāĻ•āϟāĻŋ āωāĻĻāĻžāĻšāϰāĻŖ āĻĻāĻŋāϝāĻŧ⧇ āĻāϟāĻŋ āĻŦā§āϝāĻžāĻ–ā§āϝāĻž āĻ•āϰāĻž āϝāĻžāĻ•āĨ¤ āĻ—ā§āϰāĻžāĻĢ āĻĄā§‡āϟāĻžāϰ āϚāĻŋāĻ¤ā§āϰ⧇āϰ āĻŽāϤ⧋ āĻāĻ•āϟāĻŋ āĻŦāĻŋāĻ¨ā§āϝāĻžāϏ āĻĨāĻžāĻ•āϤ⧇ āĻĻāĻŋāύāĨ¤ āϤāĻžāϰāĻĒāϰ⧇ āĻĄāĻžāϟāĻžāĻŦ⧇āϏ⧇ āϏāĻ‚āĻļā§āϞāĻŋāĻˇā§āϟ āĻ•āĻžāĻ āĻžāĻŽā§‹ āϤ⧈āϰāĻŋ āĻ•āϰāϤ⧇ āφāĻĒāύāĻžāϕ⧇ āύāĻŋāĻŽā§āύāϞāĻŋāĻ–āĻŋāϤ DDL āĻĒā§āϰāĻļā§āύāϗ⧁āϞāĻŋ āϚāĻžāϞāĻžāϤ⧇ āĻšāĻŦ⧇:

CREATE TABLE Person (
  ID INTEGER NOT NULL,
  name VARCHAR(100)
) AS NODE;

CREATE TABLE Cafe (
  ID INTEGER NOT NULL, 
  name VARCHAR(100), 
) AS NODE;

CREATE TABLE likes (
  rating INTEGER
) AS EDGE;

CREATE TABLE friendOf
  AS EDGE;

ALTER TABLE likes
  ADD CONSTRAINT EC_LIKES CONNECTION (Person TO Cafe);

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

SELECT Cafe.name
  FROM Person, likes, Cafe
  WHERE MATCH (Person-(friendOf)-(likes)->Cafe)
  AND Person.name = 'John';

āϤāĻĻ⧁āĻĒāϰāĻŋ, āĻāχ āϜāĻžāϤ⧀āϝāĻŧ āϏāĻžāϰāĻŖā§€āϗ⧁āϞāĻŋāϰ āϏāĻžāĻĨ⧇ āĻ•āĻžāϜ āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻāχ āĻ—ā§āϰāĻžāĻĢ āĻĒā§āϝāĻžāϟāĻžāĻ°ā§āύāϗ⧁āϞāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āύāĻž āĻ•āϰāĻž āĻŦ⧇āĻļ āĻ•āĻ āĻŋāύ, āϝ⧇āĻšā§‡āϤ⧁ āϏāĻžāϧāĻžāϰāĻŖ āĻāϏāĻ•āĻŋāωāĻāϞ āĻĒā§āϰāĻļā§āύāϗ⧁āϞāĻŋāϤ⧇ āĻ…āύ⧁āϰ⧂āĻĒ āϏāĻŽāĻ¸ā§āϝāĻžāϗ⧁āϞāĻŋ āϏāĻŽāĻžāϧāĻžāύ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ "āĻ—ā§āϰāĻžāĻĢ" āύ⧋āĻĄ āϏāύāĻžāĻ•ā§āϤāĻ•āĻžāϰ⧀āϗ⧁āϞāĻŋ āĻĒāĻžāĻ“āϝāĻŧāĻžāϰ āϜāĻ¨ā§āϝ āĻ…āϤāĻŋāϰāĻŋāĻ•ā§āϤ āĻĒā§āϰāĻšā§‡āĻˇā§āϟāĻž āĻ•āϰāĻž āĻĒā§āϰāϝāĻŧā§‹āϜāύ ($node_id, $from_id, $to_id; āĻāĻ•āχ āĻ•āĻžāϰāϪ⧇, āĻĄā§‡āϟāĻž āϏāĻ¨ā§āύāĻŋāĻŦ⧇āĻļ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻĒā§āϰāĻļā§āύāϗ⧁āϞāĻŋ āĻāĻ–āĻžāύ⧇ āĻĻ⧇āĻ–āĻžāύ⧋ āĻšāϝāĻŧāύāĻŋ āĻ•āĻžāϰāĻŖ āϏ⧇āϗ⧁āϞāĻŋ āĻ…āĻĒā§āϰāϝāĻŧā§‹āϜāύ⧀āϝāĻŧāĻ­āĻžāĻŦ⧇ āĻ•āĻˇā§āϟāĻ•āϰ)āĨ¤

āĻāĻŽāĻāϏ āĻāϏāĻ•āĻŋāωāĻāϞ āϏāĻžāĻ°ā§āĻ­āĻžāϰ⧇ āĻĄāϕ⧁āĻŽā§‡āĻ¨ā§āϟ āĻāĻŦāĻ‚ āĻ—ā§āϰāĻžāĻĢ āĻŽāĻĄā§‡āϞ⧇āϰ āĻŦāĻžāĻ¸ā§āϤāĻŦāĻžāϝāĻŧāύ⧇āϰ āĻŦāĻ°ā§āĻŖāύāĻž āϏāĻ‚āĻ•ā§āώāĻŋāĻĒā§āϤ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ, āφāĻŽāĻŋ āϞāĻ•ā§āĻˇā§āϝ āĻ•āϰāĻŦ āϝ⧇ āĻāĻ•āϟāĻŋ āĻŽāĻĄā§‡āϞ⧇āϰ āωāĻĒāϰ⧇ āĻ…āĻ¨ā§āϝ āĻŽāĻĄā§‡āϞ⧇āϰ āĻāχ āϧāϰāύ⧇āϰ āĻŦāĻžāĻ¸ā§āϤāĻŦāĻžāϝāĻŧāύ āϏāĻĢāϞ āĻŦāϞ⧇ āĻŽāύ⧇ āĻšāϝāĻŧ āύāĻž, āĻĒā§āϰāĻžāĻĨāĻŽāĻŋāĻ•āĻ­āĻžāĻŦ⧇ āĻ­āĻžāώāĻž āĻĄāĻŋāϜāĻžāχāύ⧇āϰ āĻĻ⧃āĻˇā§āϟāĻŋāϕ⧋āĻŖ āĻĨ⧇āϕ⧇āĨ¤ āĻāĻ•āϟāĻŋ āĻ­āĻžāώāĻžāϰ āϏāĻžāĻĨ⧇ āĻ…āĻ¨ā§āϝ āĻ­āĻžāώāĻžāϰ āĻĒā§āϰāϏāĻžāϰāĻŋāϤ āĻ•āϰāĻž āĻĒā§āϰāϝāĻŧā§‹āϜāύ, āĻ­āĻžāώāĻžāϗ⧁āϞāĻŋ āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖāϰ⧂āĻĒ⧇ "āĻ…āĻ°ā§āĻĨā§‹āĻ—ā§‹āύāĻžāϞ" āύāϝāĻŧ, āϏāĻžāĻŽāĻžā§āϜāĻ¸ā§āϝ⧇āϰ āύāĻŋāϝāĻŧāĻŽāϗ⧁āϞāĻŋ āĻŦ⧇āĻļ āωāĻĻā§āĻ­āϟ āĻšāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

āύāĻĨāĻŋ āĻŽāĻĄā§‡āϞ⧇āϰ āωāĻĒāϰ āĻ­āĻŋāĻ¤ā§āϤāĻŋ āĻ•āϰ⧇ āĻŽāĻžāĻ˛ā§āϟāĻŋ-āĻŽāĻĄā§‡āϞ āĻĄāĻŋāĻŦāĻŋāĻāĻŽāĻāϏ

āĻāχ āĻŦāĻŋāĻ­āĻžāϗ⧇, āφāĻŽāĻŋ āϤāĻžāĻĻ⧇āϰ āĻŽāĻ§ā§āϝ⧇ āϏāĻŦāĻšā§‡āϝāĻŧ⧇ āϜāύāĻĒā§āϰāĻŋāϝāĻŧ āύāϝāĻŧ, MongoDB-āĻāϰ āωāĻĻāĻžāĻšāϰāĻŖ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻĄāϕ⧁āĻŽā§‡āĻ¨ā§āϟ āĻĄāĻŋāĻŦāĻŋāĻāĻŽāĻāϏ-āĻ āĻŽāĻžāĻ˛ā§āϟāĻŋ-āĻŽāĻĄā§‡āϞ āĻŦāĻžāĻ¸ā§āϤāĻŦāĻžāϝāĻŧāύ⧇āϰ āϚāĻŋāĻ¤ā§āϰ āϤ⧁āϞ⧇ āϧāϰāϤ⧇ āϚāĻžāχ (āϝ⧇āĻŽāύ āĻŦāϞāĻž āĻšāϝāĻŧ⧇āĻ›āĻŋāϞ, āĻāϤ⧇ āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āĻļāĻ°ā§āϤāϏāĻžāĻĒ⧇āĻ•ā§āώ āĻ—ā§āϰāĻžāĻĢ āĻ…āĻĒāĻžāϰ⧇āϟāϰ āϰāϝāĻŧ⧇āϛ⧇ $lookup и $graphLookup, āĻļāĻžāĻ°ā§āĻĄ āϏāĻ‚āĻ—ā§āϰāĻšā§‡ āĻ•āĻžāϜ āĻ•āϰāϛ⧇ āύāĻž), āϤāĻŦ⧇ āφāϰāĻ“ āĻĒāϰāĻŋāĻĒāĻ•ā§āĻ• āĻāĻŦāĻ‚ "āĻāĻ¨ā§āϟāĻžāϰāĻĒā§āϰāĻžāχāϜ" DBMS āĻāϰ āωāĻĻāĻžāĻšāϰāĻŖ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻŽāĻžāĻ°ā§āĻ•āϞāϜāĻŋāĻ•.

āϏ⧁āϤāϰāĻžāĻ‚, āϏāĻ‚āĻ—ā§āϰāĻšā§‡ āύāĻŋāĻŽā§āύāϞāĻŋāĻ–āĻŋāϤ āϧāϰāϪ⧇āϰ āĻāĻ•ā§āϏāĻāĻŽāĻāϞ āύāĻĨāĻŋāϗ⧁āϞāĻŋāϰ āĻāĻ•āϟāĻŋ āϏ⧇āϟ āĻĨāĻžāĻ•āϤ⧇ āĻĻāĻŋāύ (āĻŽāĻžāĻ°ā§āĻ•āϞāϜāĻŋāĻ• āφāĻĒāύāĻžāϕ⧇ JSON āύāĻĨāĻŋāϗ⧁āϞāĻŋ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰāĻžāϰ āĻ…āύ⧁āĻŽāϤāĻŋ āĻĻ⧇āϝāĻŧ):

<Person INN="631803299804">
  <name>John</name>
  <surname>Smith</surname>
</Person>

MarkLogic āĻŽāĻ§ā§āϝ⧇ āϏāĻŽā§āĻĒāĻ°ā§āϕ⧀āϝāĻŧ āĻŽāĻĄā§‡āϞ

āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āύāĻĨāĻŋāϰ āϏāĻ‚āĻ—ā§āϰāĻšā§‡āϰ āĻāĻ•āϟāĻŋ āϰāĻŋāϞ⧇āĻļāύāĻžāϞ āĻ­āĻŋāω āϤ⧈āϰāĻŋ āĻ•āϰāĻž āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇ āĻĒā§āϰāĻĻāĻ°ā§āĻļāύ āĻŸā§‡āĻŽāĻĒā§āϞ⧇āϟ (āωāĻĒāĻžāĻĻāĻžāύ⧇āϰ āĻŦāĻŋāώāϝāĻŧāĻŦāĻ¸ā§āϤ⧁ value āύ⧀āĻšā§‡āϰ āωāĻĻāĻžāĻšāϰāϪ⧇ āĻāĻ•āϟāĻŋ āύāĻŋāĻ°ā§āĻŦāĻŋāϚāĻžāϰ⧇ XPath āĻšāϤ⧇ āĻĒāĻžāϰ⧇):

<template >
  <context>/Person</context>
  <rows>
    <row>
      <view-name>Person</view-name>
      <columns>
        <column>
          <name>SSN</name>
          <value>@SSN</value>
          <type>string</type>
        </column>
        <column>
          <name>name</name>
          <value>name</value>
        </column>
        <column>
          <name>surname</name>
          <value>surname</value>
        </column>
      </columns>
    </row>
  <rows>
</template>

āφāĻĒāύāĻŋ āĻāĻ•āϟāĻŋ SQL āĻ•ā§āϝ⧋āϝāĻŧāĻžāϰ⧀ (āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ, ODBC āĻāϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡):

SELECT name, surname FROM Person WHERE name="John"

āĻĻ⧁āĻ°ā§āĻ­āĻžāĻ—ā§āϝāĻŦāĻļāϤ, āĻĄāĻŋāϏāĻĒā§āϞ⧇ āĻŸā§‡āĻŽāĻĒā§āϞ⧇āϟ āĻĻā§āĻŦāĻžāϰāĻž āϤ⧈āϰāĻŋ āϰāĻŋāϞ⧇āĻļāύāĻžāϞ āĻ­āĻŋāω āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āĻĒāĻ āύāϝ⧋āĻ—ā§āϝāĨ¤ āĻāϟāĻŋāϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āĻ…āύ⧁āϰ⧋āϧ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻž āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ, MarkLogic āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻžāϰ āĻšā§‡āĻˇā§āϟāĻž āĻ•āϰāĻŦ⧇ āύāĻĨāĻŋāϰ āϏ⧂āĻšā§€. āĻĒā§‚āĻ°ā§āĻŦ⧇, āĻŽāĻžāĻ°ā§āĻ•āϞāϜāĻŋāϕ⧇āϰ āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ­āĻžāĻŦ⧇ āϏ⧀āĻŽāĻŋāϤ āϏāĻŽā§āĻĒāĻ°ā§āĻ•āĻ—āϤ āĻĻ⧃āĻˇā§āϟāĻŋāĻ­āĻ™ā§āĻ—āĻŋ āĻ›āĻŋāϞ āϏ⧂āϚāĻ• āĻ­āĻŋāĻ¤ā§āϤāĻŋāĻ• āĻāĻŦāĻ‚ āϞāĻŋāĻ–āύāϝ⧋āĻ—ā§āϝ, āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻāĻ–āύ āϏ⧇āϗ⧁āϞāĻŋāϕ⧇ āĻ…āĻŦāĻŽā§‚āĻ˛ā§āϝāĻžāϝāĻŧāύ āĻ•āϰāĻž āĻšāϝāĻŧāĨ¤

MarkLogic āĻŽāĻ§ā§āϝ⧇ āĻ—ā§āϰāĻžāĻĢ āĻŽāĻĄā§‡āϞ

āĻ—ā§āϰāĻžāĻĢ (RDF) āĻŽāĻĄā§‡āϞ⧇āϰ āϏāĻŽāĻ°ā§āĻĨāύ āϏāĻš, āϏāĻŦāĻ•āĻŋāϛ⧁ āĻāĻ•āχ āϰāĻ•āĻŽāĨ¤ āφāĻŦāĻžāϰ āϏāĻžāĻšāĻžāĻ¯ā§āϝ āύāĻŋāϝāĻŧ⧇ āĻĒā§āϰāĻĻāĻ°ā§āĻļāύ āĻŸā§‡āĻŽāĻĒā§āϞ⧇āϟ āφāĻĒāύāĻŋ āωāĻĒāϰ⧇āϰ āωāĻĻāĻžāĻšāϰāĻŖ āĻĨ⧇āϕ⧇ āύāĻĨāĻŋāϰ āϏāĻ‚āĻ—ā§āϰāĻšā§‡āϰ āĻāĻ•āϟāĻŋ RDF āωāĻĒāĻ¸ā§āĻĨāĻžāĻĒāύāĻž āϤ⧈āϰāĻŋ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύ:

<template >
  <context>/Person</context>
    <vars>
      <var>
        <name>PREFIX</name>
        <val>"http://example.org/example#"</val>
      </var>
    </vars>
  <triples>
    <triple>
      <subject><value>sem:iri( $PREFIX || @SSN )</value></subject>
      <predicate><value>sem:iri( $PREFIX || surname )</value></predicate>
      <object><value>xs:string( surname )</value></object>
    </triple>
    <triple>
      <subject><value>sem:iri( $PREFIX || @SSN )</value></subject>
      <predicate><value>sem:iri( $PREFIX || name )</value></predicate>
      <object><value>xs:string( name )</value></object>
    </triple>
  </triples>
  </template>

āφāĻĒāύāĻŋ āĻāĻ•āϟāĻŋ SPARQL āĻ•ā§āϝ⧋āϝāĻŧāĻžāϰ⧀ āĻĻāĻŋāϝāĻŧ⧇ āĻĢāϞāĻ¸ā§āĻŦāϰ⧂āĻĒ RDF āĻ—ā§āϰāĻžāĻĢāϟāĻŋ āϏāĻŽā§āĻŦā§‹āϧāύ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύ:

PREFIX : <http://example.org/example#>
SELECT ?name ?surname {
  :631803299804 :name ?name ; :surname ?surname .
}

āϰāĻŋāϞ⧇āĻļāύāĻžāϞ āĻĨ⧇āϕ⧇ āĻ­āĻŋāĻ¨ā§āύ, MarkLogic āĻ—ā§āϰāĻžāĻĢ āĻŽāĻĄā§‡āϞāϟāĻŋāϕ⧇ āĻ…āĻ¨ā§āϝ āĻĻ⧁āϟāĻŋ āωāĻĒāĻžāϝāĻŧ⧇ āϏāĻŽāĻ°ā§āĻĨāύ āĻ•āϰ⧇:

  1. āĻāĻ•āϟāĻŋ āĻĄāĻŋāĻŦāĻŋāĻāĻŽāĻāϏ āφāϰāĻĄāĻŋāĻāĻĢ āĻĄā§‡āϟāĻžāϰ āĻāĻ•āϟāĻŋ āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āφāϞāĻžāĻĻāĻž āĻ¸ā§āĻŸā§‹āϰ⧇āϜ āĻšāϤ⧇ āĻĒāĻžāϰ⧇ (āĻāϤ⧇ āĻŸā§āϰāĻŋāĻĒāϞ⧇āϟ āĻŦāϞāĻž āĻšāĻŦ⧇ āĻĒāϰāĻŋāϚāĻžāϞāĻŋāϤ āωāĻĒāϰ⧇ āĻŦāĻ°ā§āĻŖāĻŋāϤ āĻāϰ āĻŦāĻŋāĻĒāϰ⧀āϤ⧇ āύāĻŋāĻˇā§āĻ•āĻžāĻļāĻŋāϤ).
  2. āĻŦāĻŋāĻļ⧇āώ āĻ•ā§āϰāĻŽāĻŋāĻ•āĻ•āϰāϪ⧇ RDF āϏāĻšāϜāĻ­āĻžāĻŦ⧇ XML āĻŦāĻž JSON āύāĻĨāĻŋāϤ⧇ āĻĸā§‹āĻ•āĻžāύ⧋ āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇ (āĻāĻŦāĻ‚ āϤāĻžāϰāĻĒāϰ āĻŸā§āϰāĻŋāĻĒāϞ⧇āϟ āĻŦāϞāĻž āĻšāĻŦ⧇ āĻ…āĻŦā§āϝāĻŦāĻ¸ā§āĻĨāĻžāĻĒāĻŋāϤ) āĻāϟāĻŋ āϏāĻŽā§āĻ­āĻŦāϤ āĻŽā§‡āĻ•āĻžāύāĻŋāϜāĻŽā§‡āϰ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ idref āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āϝāĻĻ⧇āϰ

MarkLogic-āĻ āϕ⧀āĻ­āĻžāĻŦ⧇ āϜāĻŋāύāĻŋāϏāϗ⧁āϞāĻŋ "āϏāĻ¤ā§āϝāĻŋāχ" āĻ•āĻžāϜ āĻ•āϰ⧇ āϤāĻžāϰ āĻāĻ•āϟāĻŋ āĻ­āĻžāϞ āϧāĻžāϰāĻŖāĻž āĻĻ⧇āĻ“āϝāĻŧāĻž āĻšāϝāĻŧ⧇āϛ⧇ āĻ…āĻĒāϟāĻŋāĻ•ā§āϝāĻžāϞ API, āĻāχ āĻ…āĻ°ā§āĻĨ⧇, āĻāϟāĻŋ āύāĻŋāĻŽā§āύ-āĻ¸ā§āϤāϰ⧇āϰ, āϝāĻĻāĻŋāĻ“ āĻāϰ āωāĻĻā§āĻĻ⧇āĻļā§āϝ āĻŦāϰāĻ‚ āĻŦāĻŋāĻĒāϰ⧀āϤ - āĻŦā§āϝāĻŦāĻšā§ƒāϤ āĻĄā§‡āϟāĻž āĻŽāĻĄā§‡āϞ āĻĨ⧇āϕ⧇ āĻŦāĻŋāĻŽā§‚āĻ°ā§āϤ āĻ•āϰāĻžāϰ āĻšā§‡āĻˇā§āϟāĻž āĻ•āϰāĻž, āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āĻŽāĻĄā§‡āϞ⧇ āĻĄā§‡āϟāĻžāϰ āϏāĻžāĻĨ⧇ āϏāĻžāĻŽāĻžā§āϜāĻ¸ā§āϝāĻĒā§‚āĻ°ā§āĻŖ āĻ•āĻžāϜ āύāĻŋāĻļā§āϚāĻŋāϤ āĻ•āϰāĻž, āϞ⧇āύāĻĻ⧇āύ āχāĻ¤ā§āϝāĻžāĻĻāĻŋāĨ¤

āĻŽāĻžāĻ˛ā§āϟāĻŋ-āĻŽāĻĄā§‡āϞ āĻĄāĻŋāĻŦāĻŋāĻāĻŽāĻāϏ "āĻāĻ•āϟāĻŋ āĻĒā§āϰāϧāĻžāύ āĻŽāĻĄā§‡āϞ āĻ›āĻžāĻĄāĻŧāĻžāχ"

āĻŦāĻžāϜāĻžāϰ⧇ āĻāĻŽāύ āĻĄāĻŋāĻŦāĻŋāĻāĻŽāĻāϏāĻ“ āϰāϝāĻŧ⧇āϛ⧇ āϝ⧇āϗ⧁āϞ⧋ āύāĻŋāĻœā§‡āĻĻ⧇āϰāϕ⧇ āĻĒā§āϰāĻžāĻĨāĻŽāĻŋāĻ•āĻ­āĻžāĻŦ⧇ āĻŽāĻžāĻ˛ā§āϟāĻŋ-āĻŽāĻĄā§‡āϞ āĻšāĻŋāϏ⧇āĻŦ⧇ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāύ āĻ•āϰ⧇, āϕ⧋āύ⧋ āωāĻ¤ā§āϤāϰāĻžāϧāĻŋāĻ•āĻžāϰāϏ⧂āĻ¤ā§āϰ⧇ āĻĒāĻžāĻ“āϝāĻŧāĻž āĻĒā§āϰāϧāĻžāύ āĻŽāĻĄā§‡āϞ āĻ›āĻžāĻĄāĻŧāĻžāχāĨ¤ āĻāχ āĻ…āĻ¨ā§āϤāĻ°ā§āϭ⧁āĻ•ā§āϤ āφāϰāĻžāύāĻ—ā§‹āĻĄāĻŋāĻŦāĻŋ, OrientDB (2018 āϏāĻžāϞ āĻĨ⧇āϕ⧇ āĻĄā§‡āϭ⧇āϞāĻĒāĻŽā§‡āĻ¨ā§āϟ āϕ⧋āĻŽā§āĻĒāĻžāύāĻŋ SAP āĻāϰ āĻ…āĻ¨ā§āϤāĻ°ā§āĻ—āϤ) āĻāĻŦāĻ‚ āĻ•āϏāĻŽāϏāĻĄāĻŋāĻŦāĻŋ (Microsoft Azure āĻ•ā§āϞāĻžāωāĻĄ āĻĒā§āĻ˛ā§āϝāĻžāϟāĻĢāĻ°ā§āĻŽā§‡āϰ āĻ…āĻ‚āĻļ āĻšāĻŋāϏāĻžāĻŦ⧇ āĻĒāϰāĻŋāώ⧇āĻŦāĻž)āĨ¤

āφāϏāϞ⧇, ArangoDB āĻāĻŦāĻ‚ OrientDB-āϤ⧇ "āϕ⧋āϰ" āĻŽāĻĄā§‡āϞ āϰāϝāĻŧ⧇āϛ⧇āĨ¤ āωāĻ­āϝāĻŧ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇āχ, āĻāϗ⧁āϞāĻŋ āϤāĻžāĻĻ⧇āϰ āύāĻŋāϜāĻ¸ā§āĻŦ āĻĄā§‡āϟāĻž āĻŽāĻĄā§‡āϞ, āϝāĻž āύāĻĨāĻŋāϰ āϏāĻžāϧāĻžāϰāĻŖā§€āĻ•āϰāĻŖāĨ¤ āϏāĻžāϧāĻžāϰāĻŖā§€āĻ•āϰāĻŖāϗ⧁āϞāĻŋ āĻŽā§‚āϞāϤ āĻāĻ•āϟāĻŋ āĻ—ā§āϰāĻžāĻĢ āĻāĻŦāĻ‚ āϰāĻŋāϞ⧇āĻļāύāĻžāϞ āĻĒā§āϰāĻ•ā§ƒāϤāĻŋāϰ āĻĒā§āϰāĻļā§āύāϗ⧁āϞāĻŋ āϏāĻŽā§āĻĒāĻžāĻĻāύ āĻ•āϰāĻžāϰ āĻ•ā§āώāĻŽāϤāĻžāϕ⧇ āϏāĻšāϜāϤāϰ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝāĨ¤

āĻāχ āĻŽāĻĄā§‡āϞāϗ⧁āϞāĻŋ āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻĄāĻŋāĻŦāĻŋāĻāĻŽāĻāϏ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ⧇āϰ āϜāĻ¨ā§āϝ āωāĻĒāϞāĻŦā§āϧ; āϤāĻžāĻĻ⧇āϰ āύāĻŋāϜāĻ¸ā§āĻŦ āĻ•ā§āϝ⧋āϝāĻŧāĻžāϰ⧀ āĻ­āĻžāώāĻžāϗ⧁āϞāĻŋ āϤāĻžāĻĻ⧇āϰ āϏāĻžāĻĨ⧇ āĻ•āĻžāϜ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻĄāĻŋāϜāĻžāχāύ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇āĨ¤ āĻ…āĻŦāĻļā§āϝāχ, āĻāχ āϧāϰāύ⧇āϰ āĻŽāĻĄā§‡āϞ āĻāĻŦāĻ‚ āĻĄāĻŋāĻŦāĻŋāĻāĻŽāĻāϏāϗ⧁āϞāĻŋ āĻĒā§āϰāϤāĻŋāĻļā§āϰ⧁āϤāĻŋāĻļā§€āϞ, āϤāĻŦ⧇ āĻ¸ā§āĻŸā§āϝāĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻŽāĻĄā§‡āϞ āĻāĻŦāĻ‚ āĻ­āĻžāώāĻžāϰ āϏāĻžāĻĨ⧇ āϏāĻžāĻŽāĻžā§āϜāĻ¸ā§āϝ⧇āϰ āĻ…āĻ­āĻžāĻŦ āĻāχ āĻĄāĻŋāĻŦāĻŋāĻāĻŽāĻāϏāϗ⧁āϞāĻŋāϕ⧇ āϞāĻŋāĻ—ā§āϝāĻžāϏāĻŋ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽāϗ⧁āϞāĻŋāϤ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āĻ…āϏāĻŽā§āĻ­āĻŦ āĻ•āϰ⧇ āϤ⧋āϞ⧇ - āϏ⧇āĻ–āĻžāύ⧇ āχāϤāĻŋāĻŽāĻ§ā§āϝ⧇ āĻŦā§āϝāĻŦāĻšā§ƒāϤ āĻĄāĻŋāĻŦāĻŋāĻāĻŽāĻāϏāϗ⧁āϞāĻŋ āĻĒā§āϰāϤāĻŋāĻ¸ā§āĻĨāĻžāĻĒāύ āĻ•āϰāϤ⧇āĨ¤

HabrÊ-āĻ ArangoDB āĻāĻŦāĻ‚ OrientDB āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āχāϤāĻŋāĻŽāĻ§ā§āϝ⧇āχ āĻāĻ•āϟāĻŋ āϚāĻŽā§ŽāĻ•āĻžāϰ āύāĻŋāĻŦāĻ¨ā§āϧ āĻ›āĻŋāϞ: NoSQL āĻĄāĻžāϟāĻžāĻŦ⧇āϏ⧇ āϝ⧋āĻ— āĻĻāĻŋāύ.

āφāϰāĻžāύāĻ—ā§‹āĻĄāĻŋāĻŦāĻŋ

ArangoDB āĻāĻ•āϟāĻŋ āĻ—ā§āϰāĻžāĻĢ āĻĄā§‡āϟāĻž āĻŽāĻĄā§‡āϞ⧇āϰ āϜāĻ¨ā§āϝ āϏāĻŽāĻ°ā§āĻĨāύ āĻĻāĻžāĻŦāĻŋ āĻ•āϰ⧇āĨ¤

ArangoDB-āϤ⧇ āĻāĻ•āϟāĻŋ āĻ—ā§āϰāĻžāĻĢ⧇āϰ āύ⧋āĻĄāϗ⧁āϞāĻŋ āϏāĻžāϧāĻžāϰāĻŖ āύāĻĨāĻŋ, āĻāĻŦāĻ‚ āĻĒā§āϰāĻžāĻ¨ā§āϤāϗ⧁āϞāĻŋ āĻāĻ•āϟāĻŋ āĻŦāĻŋāĻļ⧇āώ āϧāϰāύ⧇āϰ āύāĻĨāĻŋ āϝāĻž āύāĻŋāϝāĻŧāĻŽāĻŋāϤ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ•ā§āώ⧇āĻ¤ā§āϰāϗ⧁āϞāĻŋāϰ āϏāĻžāĻĨ⧇ āĻĨāĻžāϕ⧇ (_key, _id, _rev) āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ•ā§āώ⧇āĻ¤ā§āϰ _from и _to. āĻĄāϕ⧁āĻŽā§‡āĻ¨ā§āϟ āĻĄāĻŋāĻŦāĻŋāĻāĻŽāĻāϏ-āĻāϰ āύāĻĨāĻŋ āϐāϤāĻŋāĻšā§āϝāĻ—āϤāĻ­āĻžāĻŦ⧇ āϏāĻ‚āĻ—ā§āϰāĻšā§‡ āĻāĻ•āĻ¤ā§āϰāĻŋāϤ āĻ•āϰāĻž āĻšāϝāĻŧāĨ¤ āĻĒā§āϰāĻžāĻ¨ā§āϤ⧇āϰ āĻĒā§āϰāϤāĻŋāύāĻŋāϧāĻŋāĻ¤ā§āĻŦāĻ•āĻžāϰ⧀ āύāĻĨāĻŋāϰ āϏāĻ‚āĻ—ā§āϰāĻšāϗ⧁āϞāĻŋāϕ⧇ ArangoDB-āϤ⧇ āĻĒā§āϰāĻžāĻ¨ā§āϤ āϏāĻ‚āĻ—ā§āϰāĻš āĻŦāϞāĻž āĻšāϝāĻŧāĨ¤ āϝāĻžāχāĻšā§‹āĻ•, āĻĒā§āϰāĻžāĻ¨ā§āϤ āϏāĻ‚āĻ—ā§āϰāĻšā§‡āϰ āύāĻĨāĻŋāϗ⧁āϞāĻŋāĻ“ āύāĻĨāĻŋ, āϤāĻžāχ ArangoDB-āϤ⧇ āĻĒā§āϰāĻžāĻ¨ā§āϤāϗ⧁āϞāĻŋāĻ“ āύ⧋āĻĄ āĻšāĻŋāϏāĻžāĻŦ⧇ āĻ•āĻžāϜ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

āĻ•āĻžāρāϚāĻž āϤāĻĨā§āϝ

āφāĻŽāĻžāĻĻ⧇āϰ āĻāĻ•āϟāĻŋ āϏāĻ‚āĻ—ā§āϰāĻš āĻ•āϰāĻž āϝāĻžāĻ• persons, āϝāĻžāϰ āύāĻĨāĻŋāϗ⧁āϞāĻŋ āĻĻ⧇āĻ–āϤ⧇ āĻāχāϰāĻ•āĻŽ:

[
  {
    "_id"  : "people/alice" ,
    "_key" : "alice" ,
    "name" : "АĐģĐ¸ŅĐ°"
  },
  {
    "_id"  : "people/bob" ,
    "_key" : "bob" ,
    "name" : "Боб"  
  }
]

āĻāĻ•āϟāĻž āĻ•āĻžāϞ⧇āĻ•āĻļāύāĻ“ āĻĨāĻžāϕ⧁āĻ• cafes:

[
  {
    "_id" : "cafes/jd" ,
    "_key" : "jd" ,
    "name" : "ДĐļĐžĐŊ ДоĐŊĐŊ"  
  },
  {
    "_id" : "cafes/jj" ,
    "_key" : "jj" ,
    "name" : "ЖаĐŊ-ЖаĐē"
  }
]

āϤāĻžāϰāĻĒāϰ āĻ•āĻžāϞ⧇āĻ•āĻļāύ likes āĻāχ āĻŽāϤ āĻšā§‡āĻšāĻžāϰāĻž āĻšāϤ⧇ āĻĒāĻžāϰ⧇:

[
  {
    "_id" : "likes/1" ,
    "_key" : "1" ,
    "_from" : "persons/alice" ,
    "_to" : "cafes/jd",
    "since" : 2010 
  },
  {
    "_id" : "likes/2" ,
    "_key" : "2" ,
    "_from" : "persons/alice" ,
    "_to" : "cafes/jj",
    "since" : 2011 
  } ,
  {
    "_id" : "likes/3" ,
    "_key" : "3" ,
    "_from" : "persons/bob" ,
    "_to" : "cafes/jd",
    "since" : 2012 
  }
]

āĻĒā§āϰāĻļā§āύ āĻāĻŦāĻ‚ āĻĢāϞāĻžāĻĢāϞ

āφāϰāĻžāĻ™ā§āĻ—ā§‹āĻĄāĻŋāĻŦāĻŋāϤ⧇ āĻŦā§āϝāĻŦāĻšā§ƒāϤ AQL āĻ­āĻžāώāĻžāϝāĻŧ āĻāĻ•āϟāĻŋ āĻ—ā§āϰāĻžāĻĢ-āĻ¸ā§āϟāĻžāχāϞ āĻĒā§āϰāĻļā§āύ, āϕ⧇ āϕ⧋āύ āĻ•ā§āϝāĻžāĻĢ⧇ āĻĒāĻ›āĻ¨ā§āĻĻ āĻ•āϰ⧇ āϏ⧇ āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āĻŽāĻžāύāĻŦ-āĻĒāĻ āύāϝ⧋āĻ—ā§āϝ āϤāĻĨā§āϝ⧇ āĻĢāĻŋāϰ⧇ āφāϏ⧇, āĻĻ⧇āĻ–āϤ⧇ āĻāχāϰāĻ•āĻŽ:

FOR p IN persons
  FOR c IN OUTBOUND p likes
  RETURN { person : p.name , likes : c.name }

āĻāĻ•āϟāĻŋ āϰāĻŋāϞ⧇āĻļāύāĻžāϞ āĻ¸ā§āϟāĻžāχāϞ⧇, āϝ⧇āĻ–āĻžāύ⧇ āφāĻŽāϰāĻž āϏāĻŽā§āĻĒāĻ°ā§āĻ•āϗ⧁āϞāĻŋāϕ⧇ āϏāĻžā§āϚāϝāĻŧ āĻ•āϰāĻžāϰ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤ⧇ "āĻ•āĻŽā§āĻĒāĻŋāωāϟāĻŋāĻ‚" āĻ•āϰāĻ›āĻŋ, āĻāχ āĻ•ā§āϝ⧋āϝāĻŧāĻžāϰ⧀āϟāĻŋ āĻāĻ­āĻžāĻŦ⧇ āĻĒ⧁āύāϰāĻžāϝāĻŧ āϞ⧇āĻ–āĻž āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇ (āϝāĻžāχāĻšā§‹āĻ•, āϏāĻ‚āĻ—ā§āϰāĻš āĻ›āĻžāĻĄāĻŧāĻžāχ likes āĻ›āĻžāĻĄāĻŧāĻž āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇):

FOR p IN persons
  FOR l IN likes
  FILTER p._key == l._from
    FOR c IN cafes
    FILTER l._to == c._key
    RETURN { person : p.name , likes : c.name }

āωāĻ­āϝāĻŧ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇ āĻĢāϞāĻžāĻĢāϞ āĻāĻ•āχ āĻšāĻŦ⧇:

[
  { "person" : "АĐģĐ¸ŅĐ°" , likes : "ЖаĐŊ-ЖаĐē" } ,
  { "person" : "АĐģĐ¸ŅĐ°" , likes : "ДĐļĐžĐŊ ДоĐŊĐŊ" } ,
  { "person" : "Боб" , likes : "ДĐļĐžĐŊ ДоĐŊĐŊ" }
]

āφāϰ⧋ āĻĒā§āϰāĻļā§āύ āĻāĻŦāĻ‚ āĻĢāϞāĻžāĻĢāϞ

āϝāĻĻāĻŋ āωāĻĒāϰ⧇āϰ āĻĢāϞāĻžāĻĢāϞ āĻŦāĻŋāĻ¨ā§āϝāĻžāϏāϟāĻŋ āĻāĻ•āϟāĻŋ āύāĻĨāĻŋ DBMS-āĻāϰ āĻšā§‡āϝāĻŧ⧇ āϰāĻŋāϞ⧇āĻļāύāĻžāϞ DBMS-āĻāϰ āϜāĻ¨ā§āϝ āĻŦ⧇āĻļāĻŋ āϏāĻžāϧāĻžāϰāĻŖ āĻŦāϞ⧇ āĻŽāύ⧇ āĻšāϝāĻŧ, āφāĻĒāύāĻŋ āĻāχ āĻ•ā§āϝ⧋āϝāĻŧāĻžāϰ⧀āϟāĻŋ āĻšā§‡āĻˇā§āϟāĻž āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύ (āĻ…āĻĨāĻŦāĻž āφāĻĒāύāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύ COLLECT):

FOR p IN persons
  RETURN {
    person : p.name,
    likes : (
      FOR c IN OUTBOUND p likes
      RETURN c.name
    )
}

āĻĢāϞāĻžāĻĢāϞ āĻāχ āĻŽāϤ āĻĻ⧇āĻ–āĻžāĻŦ⧇:

[
  { "person" : "АĐģĐ¸ŅĐ°" , likes : ["ЖаĐŊ-ЖаĐē" , "ДĐļĐžĐŊ ДоĐŊĐŊ"]  } ,
  { "person" : "Боб" , likes : ["ДĐļĐžĐŊ ДоĐŊĐŊ"] }
]

OrientDB

OrientDB-āϤ⧇ āĻāĻ•āϟāĻŋ āύāĻĨāĻŋ āĻŽāĻĄā§‡āϞ⧇āϰ āωāĻĒāϰ⧇ āĻāĻ•āϟāĻŋ āĻ—ā§āϰāĻžāĻĢ āĻŽāĻĄā§‡āϞ āĻŦāĻžāĻ¸ā§āϤāĻŦāĻžāϝāĻŧāύ⧇āϰ āĻ­āĻŋāĻ¤ā§āϤāĻŋ āϏ⧁āϝ⧋āĻ— āĻĄāϕ⧁āĻŽā§‡āĻ¨ā§āϟ āĻĢāĻŋāĻ˛ā§āĻĄā§‡, āĻ•āĻŽ āĻŦāĻž āĻŦ⧇āĻļāĻŋ āĻ¸ā§āĻŸā§āϝāĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻ¸ā§āϕ⧇āϞāĻžāϰ āĻŽāĻžāύ āĻ›āĻžāĻĄāĻŧāĻžāĻ“, āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āϧāϰāϪ⧇āϰ āĻŽāĻžāύ āϰāϝāĻŧ⧇āϛ⧇ āϝ⧇āĻŽāύ LINK, LINKLIST, LINKSET, LINKMAP и LINKBAG. āĻāχ āϧāϰāύ⧇āϰ āĻŽāĻžāύ āĻšāϞ āϞāĻŋāĻ™ā§āĻ• āĻŦāĻž āϞāĻŋāĻ™ā§āϕ⧇āϰ āϏāĻ‚āĻ—ā§āϰāĻš āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻļāύāĻžāĻ•ā§āϤāĻ•āĻžāϰ⧀ āύāĻĨāĻŋāĨ¤

āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻĻā§āĻŦāĻžāϰāĻž āύāĻŋāĻ°ā§āϧāĻžāϰāĻŋāϤ āύāĻĨāĻŋ āĻļāύāĻžāĻ•ā§āϤāĻ•āĻžāϰ⧀āϰ āĻāĻ•āϟāĻŋ "āĻļāĻžāϰ⧀āϰāĻŋāĻ• āĻ…āĻ°ā§āĻĨ" āϰāϝāĻŧ⧇āϛ⧇, āϝāĻž āĻĄāĻžāϟāĻžāĻŦ⧇āϏ⧇ āϰ⧇āĻ•āĻ°ā§āĻĄā§‡āϰ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāύ āύāĻŋāĻ°ā§āĻĻ⧇āĻļ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āĻāϟāĻŋ āĻĻ⧇āĻ–āϤ⧇ āĻāϰāĻ•āĻŽ āĻ•āĻŋāϛ⧁ āĻĻ⧇āĻ–āĻžāϝāĻŧ: @rid : #3:16. āϏ⧁āϤāϰāĻžāĻ‚, āϰ⧇āĻĢāĻžāϰ⧇āĻ¨ā§āϏ āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝ⧇āϰ āĻŽāĻžāύāϗ⧁āϞāĻŋ āύāĻŋāĻ°ā§āĻŦāĻžāϚāύ⧇āϰ āĻļāĻ°ā§āϤāϗ⧁āϞāĻŋāϰ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤ⧇ (āϝ⧇āĻŽāύ āϰāĻŋāϞ⧇āĻļāύāĻžāϞ āĻŽāĻĄā§‡āϞ⧇āϰ āĻŽāϤ⧋) āϏāĻ¤ā§āϝāĻŋāχ āĻĒāϝāĻŧ⧇āĻ¨ā§āϟāĻžāϰ (āĻ—ā§āϰāĻžāĻĢ āĻŽāĻĄā§‡āϞ⧇āϰ āĻŽāϤ⧋)āĨ¤

ArangoDB-āĻāϰ āĻŽāϤ, OrientDB-āĻ āĻĒā§āϰāĻžāĻ¨ā§āϤāϗ⧁āϞāĻŋāϕ⧇ āĻĒ⧃āĻĨāĻ• āύāĻĨāĻŋ āĻšāĻŋāϏāĻžāĻŦ⧇ āωāĻĒāĻ¸ā§āĻĨāĻžāĻĒāύ āĻ•āϰāĻž āĻšāϝāĻŧ (āϝāĻĻāĻŋāĻ“ āϝāĻĻāĻŋ āĻāĻ•āϟāĻŋ āĻĒā§āϰāĻžāĻ¨ā§āϤ⧇āϰ āύāĻŋāϜāĻ¸ā§āĻŦ āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝ āύāĻž āĻĨāĻžāϕ⧇ āϤāĻŦ⧇ āĻāϟāĻŋ āϤ⧈āϰāĻŋ āĻ•āϰāĻž āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āϞāĻžāχāϟāĻ“āϝāĻŧ⧇āϟ, āĻāĻŦāĻ‚ āĻāϟāĻŋ āĻāĻ•āϟāĻŋ āĻĒ⧃āĻĨāĻ• āύāĻĨāĻŋāϰ āϏāĻžāĻĨ⧇ āϏāĻ™ā§āĻ—āϤāĻŋāĻĒā§‚āĻ°ā§āĻŖ āĻšāĻŦ⧇ āύāĻž)āĨ¤

āĻ•āĻžāρāϚāĻž āϤāĻĨā§āϝ

āĻ•āĻžāĻ›āĻžāĻ•āĻžāĻ›āĻŋ āĻāĻ•āϟāĻŋ āĻŦāĻŋāĻ¨ā§āϝāĻžāϏ⧇ āĻĄāĻžāĻŽā§āĻĒ āĻŦāĻŋāĻ¨ā§āϝāĻžāϏ OrientDB āĻĄāĻžāϟāĻžāĻŦ⧇āϏ, ArangoDB-āĻāϰ āĻĒā§‚āĻ°ā§āĻŦāĻŦāĻ°ā§āϤ⧀ āωāĻĻāĻžāĻšāϰāϪ⧇āϰ āĻĄā§‡āϟāĻž āĻāχāϰāĻ•āĻŽ āĻĻ⧇āĻ–āϤ⧇ āĻšāĻŦ⧇:

[
     {
      "@type": "document",
      "@rid": "#11:0",
      "@class": "Person",
      "name": "АĐģĐ¸ŅĐ°",
      "out_likes": [
        "#30:1",
        "#30:2"
      ],
      "@fieldTypes": "out_likes=LINKBAG"
    },
    {
      "@type": "document",
      "@rid": "#12:0",
      "@class": "Person",
      "name": "Боб",
      "out_likes": [
        "#30:3"
      ],
      "@fieldTypes": "out_likes=LINKBAG"
    },
    {
      "@type": "document",
      "@rid": "#21:0",
      "@class": "Cafe",
      "name": "ЖаĐŊ-ЖаĐē",
      "in_likes": [
        "#30:2",
        "#30:3"
      ],
      "@fieldTypes": "in_likes=LINKBAG"
    },
    {
      "@type": "document",
      "@rid": "#22:0",
      "@class": "Cafe",
      "name": "ДĐļĐžĐŊ ДоĐŊĐŊ",
      "in_likes": [
        "#30:1"
      ],
      "@fieldTypes": "in_likes=LINKBAG"
    },
    {
      "@type": "document",
      "@rid": "#30:1",
      "@class": "likes",
      "in": "#22:0",
      "out": "#11:0",
      "since": 1262286000000,
      "@fieldTypes": "in=LINK,out=LINK,since=date"
    },
    {
      "@type": "document",
      "@rid": "#30:2",
      "@class": "likes",
      "in": "#21:0",
      "out": "#11:0",
      "since": 1293822000000,
      "@fieldTypes": "in=LINK,out=LINK,since=date"
    },
    {
      "@type": "document",
      "@rid": "#30:3",
      "@class": "likes",
      "in": "#21:0",
      "out": "#12:0",
      "since": 1325354400000,
      "@fieldTypes": "in=LINK,out=LINK,since=date"
    }
  ]

āφāĻŽāϰāĻž āĻĻ⧇āĻ–āϤ⧇ āĻĒāĻžāĻšā§āĻ›āĻŋ, āĻļā§€āĻ°ā§āώāĻŦāĻŋāĻ¨ā§āĻĻ⧁āϗ⧁āϞāĻŋ āχāύāĻ•āĻžāĻŽāĻŋāĻ‚ āĻāĻŦāĻ‚ āĻŦāĻšāĻŋāĻ°ā§āĻ—āĻžāĻŽā§€ āĻĒā§āϰāĻžāĻ¨ā§āϤ āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āϤāĻĨā§āϝ āϏāĻžā§āϚāϝāĻŧ āĻ•āϰ⧇āĨ¤ āĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻĄāϕ⧁āĻŽā§‡āĻ¨ā§āϟ āĻāĻĒāĻŋāφāχāϕ⧇ āύāĻŋāĻœā§‡āχ āϰ⧇āĻĢāĻžāϰ⧇āĻ¨ā§āϏāĻŋāϝāĻŧāĻžāϞ āχāĻ¨ā§āϟāĻŋāĻ—ā§āϰāĻŋāϟāĻŋ āύāĻŋāϰ⧀āĻ•ā§āώāĻŖ āĻ•āϰāϤ⧇ āĻšāĻŦ⧇ āĻāĻŦāĻ‚ āĻ—ā§āϰāĻžāĻĢ āĻāĻĒāĻŋāφāχ āĻāχ āĻ•āĻžāϜāϟāĻŋ āĻ•āϰ⧇āĨ¤ āϤāĻŦ⧇ āφāϏ⧁āύ āĻĻ⧇āĻ–āĻŋ āϝ⧇ "āĻŦāĻŋāĻļ⧁āĻĻā§āϧ" āĻ•ā§āϝ⧋āϝāĻŧāĻžāϰ⧀ āĻ˛ā§āϝāĻžāĻ™ā§āϗ⧁āϝāĻŧ⧇āϜāϗ⧁āϞāĻŋāϤ⧇ OrientDB-āĻāϰ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āϕ⧇āĻŽāύ āĻĻ⧇āĻ–āĻžāϝāĻŧ āϝ⧇āϗ⧁āϞāĻŋ āĻĒā§āϰ⧋āĻ—ā§āϰāĻžāĻŽāĻŋāĻ‚ āĻ˛ā§āϝāĻžāĻ™ā§āϗ⧁āϝāĻŧ⧇āϜāϗ⧁āϞāĻŋāϤ⧇ āĻāĻ•āĻ¤ā§āϰāĻŋāϤ āύāϝāĻŧāĨ¤

āĻĒā§āϰāĻļā§āύ āĻāĻŦāĻ‚ āĻĢāϞāĻžāĻĢāϞ

OrientDB-āϤ⧇ ArangoDB-āĻāϰ āωāĻĻāĻžāĻšāϰāĻŖ āĻĨ⧇āϕ⧇ āĻ•ā§āϝ⧋āϝāĻŧāĻžāϰ⧀āϟāĻŋāϰ āωāĻĻā§āĻĻ⧇āĻļā§āϝ⧇āϰ āĻ…āύ⧁āϰ⧂āĻĒ āĻāĻ•āϟāĻŋ āĻĒā§āϰāĻļā§āύ āĻāχāϰāĻ•āĻŽ āĻĻ⧇āĻ–āĻžāĻšā§āϛ⧇:

SELECT name AS person_name, OUT('likes').name AS cafe_name
   FROM Person
   UNWIND cafe_name

āĻĢāϞāĻžāĻĢāϞ āύāĻŋāĻŽā§āύāϞāĻŋāĻ–āĻŋāϤ āφāĻ•āĻžāϰ⧇ āĻĒā§āϰāĻžāĻĒā§āϤ āĻ•āϰāĻž āĻšāĻŦ⧇:

[
  { "person_name": "АĐģĐ¸ŅĐ°", "cafe_name": "ДĐļĐžĐŊ ДоĐŊĐŊ" },
  { "person_name": "АĐģĐ¸ŅĐ°", "cafe_name": "ЖаĐŊ-ЖаĐē" },
  { "person_name": "Боб",  "cafe_name": "ЖаĐŊ-ЖаĐē" }
]

āϝāĻĻāĻŋ āĻĢāϞāĻžāĻĢāϞ⧇āϰ āĻŦāĻŋāĻ¨ā§āϝāĻžāϏāϟāĻŋ āφāĻŦāĻžāϰ āϖ⧁āĻŦ "āϰāĻŋāϞ⧇āĻļāύāĻžāϞ" āĻŦāϞ⧇ āĻŽāύ⧇ āĻšāϝāĻŧ, āϤāĻžāĻšāϞ⧇ āφāĻĒāύāĻžāϕ⧇ āϞāĻžāχāύāϟāĻŋ āĻŽā§āϛ⧇ āĻĢ⧇āϞāϤ⧇ āĻšāĻŦ⧇ UNWIND():

[
  { "person_name": "АĐģĐ¸ŅĐ°", "cafe_name": [ "ДĐļĐžĐŊ ДоĐŊĐŊ", "ЖаĐŊ-ЖаĐē" ] },
  { "person_name": "Боб",  "cafe_name": [ "ЖаĐŊ-ЖаĐē" ' }
]

OrientDB-āĻāϰ āĻ•ā§āϝ⧋āϝāĻŧāĻžāϰ⧀ āĻ˛ā§āϝāĻžāĻ™ā§āϗ⧁āϝāĻŧ⧇āϜ āĻ—ā§āϰ⧇āĻŽāϞāĻŋāύ-āĻāϰ āĻŽāϤ āϏāĻ¨ā§āύāĻŋāĻŦ⧇āĻļ āϏāĻš SQL āĻšāĻŋāϏāĻžāĻŦ⧇ āĻŦāĻ°ā§āĻŖāύāĻž āĻ•āϰāĻž āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āϏāĻ‚āĻ¸ā§āĻ•āϰāĻŖ 2.2-āĻ, āĻāĻ•āϟāĻŋ āϏāĻžāχāĻĢāĻžāϰ-āϏāĻĻ⧃āĻļ āĻ…āύ⧁āϰ⧋āϧ āĻĢāĻ°ā§āĻŽ āωāĻĒāĻ¸ā§āĻĨāĻŋāϤ āĻšāϝāĻŧ⧇āĻ›āĻŋāϞ, MATCH :

MATCH {CLASS: Person, AS: person}-likes->{CLASS: Cafe, AS: cafe}
RETURN person.name AS person_name, LIST(cafe.name) AS cafe_name
GROUP BY person_name

āĻĢāϞāĻžāĻĢāϞ⧇āϰ āĻŦāĻŋāĻ¨ā§āϝāĻžāϏ āφāϗ⧇āϰ āĻ…āύ⧁āϰ⧋āϧ⧇āϰ āĻŽāϤ⧋āχ āĻšāĻŦ⧇āĨ¤ āĻāϟāĻŋāϕ⧇ āφāϰāĻ“ "āϏāĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāϤ" āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āϕ⧀ āĻ…āĻĒāϏāĻžāϰāĻŖ āĻ•āϰāĻž āĻĻāϰāĻ•āĻžāϰ āϤāĻž āύāĻŋāϝāĻŧ⧇ āĻ­āĻžāĻŦ⧁āύ, āϝ⧇āĻŽāύ āĻĒā§āϰāĻĨāĻŽ āĻĒā§āϰāĻļā§āύ⧇āϰ āĻŽāϤ⧋⧎

āφāϜ⧁āϰ āĻ•āϏāĻŽāϏāĻĄāĻŋāĻŦāĻŋ

āĻ…āĻ˛ā§āĻĒ āĻĒāϰāĻŋāĻŽāĻžāϪ⧇, ArangoDB āĻāĻŦāĻ‚ OrientDB āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āωāĻĒāϰ⧇ āϝāĻž āĻŦāϞāĻž āĻšāϝāĻŧ⧇āϛ⧇ āϤāĻž Azure CosmosDB-āϤ⧇ āĻĒā§āϰāϝ⧋āĻœā§āϝāĨ¤ CosmosDB āύāĻŋāĻŽā§āύāϞāĻŋāĻ–āĻŋāϤ āĻĄā§‡āϟāĻž āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ API āĻĒā§āϰāĻĻāĻžāύ āĻ•āϰ⧇: SQL, MongoDB, Gremlin āĻāĻŦāĻ‚ CassandraāĨ¤

SQL API āĻāĻŦāĻ‚ MongoDB API āĻĄāϕ⧁āĻŽā§‡āĻ¨ā§āϟ āĻŽāĻĄā§‡āϞ⧇ āĻĄā§‡āϟāĻž āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻ•āϰāϤ⧇ āĻŦā§āϝāĻŦāĻšā§ƒāϤ āĻšāϝāĻŧāĨ¤ āĻ—ā§āϰ⧇āĻŽāϞāĻŋāύ āĻāĻĒāĻŋāφāχ āĻāĻŦāĻ‚ āĻ•ā§āϝāĻžāϏāĻžāĻ¨ā§āĻĄā§āϰāĻž āĻāĻĒāĻŋāφāχ - āϝāĻĨāĻžāĻ•ā§āϰāĻŽā§‡ āĻ—ā§āϰāĻžāĻĢ āĻāĻŦāĻ‚ āĻ•āϞāĻžāĻŽ āĻŦāĻŋāĻ¨ā§āϝāĻžāϏ⧇ āĻĄā§‡āϟāĻž āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝāĨ¤ āϏāĻŽāĻ¸ā§āϤ āĻŽāĻĄā§‡āϞ⧇āϰ āĻĄā§‡āϟāĻž CosmosDB āĻ…āĻ­ā§āϝāĻ¨ā§āϤāϰ⧀āĻŖ āĻŽāĻĄā§‡āϞ āĻŦāĻŋāĻ¨ā§āϝāĻžāϏ⧇ āϏāĻ‚āϰāĻ•ā§āώāĻŋāϤ āĻšāϝāĻŧ: āĻāφāϰāĻāϏ ("āĻ…ā§āϝāĻžāϟāĻŽ-āϰ⧇āĻ•āĻ°ā§āĻĄ-āϏāĻŋāϕ⧋āϝāĻŧ⧇āĻ¨ā§āϏ"), āϝāĻž āύāĻĨāĻŋāϰ āĻ•āĻžāĻ›āĻžāĻ•āĻžāĻ›āĻŋāĻ“āĨ¤

āĻŽāĻžāĻ˛ā§āϟāĻŋ-āĻŽāĻĄā§‡āϞ āĻĄāĻŋāĻŦāĻŋāĻāĻŽāĻāϏ āĻ•āĻŋ āφāϧ⧁āύāĻŋāĻ• āϤāĻĨā§āϝ āĻŦā§āϝāĻŦāĻ¸ā§āĻĨāĻžāϰ āĻ­āĻŋāĻ¤ā§āϤāĻŋ?

āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰ āĻĻā§āĻŦāĻžāϰāĻž āύāĻŋāĻ°ā§āĻŦāĻžāϚāĻŋāϤ āĻĄā§‡āϟāĻž āĻŽāĻĄā§‡āϞ āĻāĻŦāĻ‚ āĻŦā§āϝāĻŦāĻšā§ƒāϤ API āĻĒāϰāĻŋāώ⧇āĻŦāĻžāϤ⧇ āĻāĻ•āϟāĻŋ āĻ…ā§āϝāĻžāĻ•āĻžāωāĻ¨ā§āϟ āϤ⧈āϰāĻŋ āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻ¸ā§āĻĨāĻŋāϰ āĻ•āϰāĻž āĻšāϝāĻŧāĨ¤ āĻ…āĻ¨ā§āϝ āĻŽāĻĄā§‡āϞ⧇āϰ āĻŦāĻŋāĻ¨ā§āϝāĻžāϏ⧇ āĻāĻ• āĻŽāĻĄā§‡āϞ⧇ āϞ⧋āĻĄ āĻ•āϰāĻž āĻĄā§‡āϟāĻž āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻ•āϰāĻž āϏāĻŽā§āĻ­āĻŦ āύāϝāĻŧ, āϝ⧇āĻŽāύāϟāĻŋ āĻāχāϰāĻ•āĻŽ āĻ•āĻŋāϛ⧁ āĻĻā§āĻŦāĻžāϰāĻž āϚāĻŋāĻ¤ā§āϰāĻŋāϤ āĻšāϝāĻŧ⧇āϛ⧇:

āĻŽāĻžāĻ˛ā§āϟāĻŋ-āĻŽāĻĄā§‡āϞ āĻĄāĻŋāĻŦāĻŋāĻāĻŽāĻāϏ āĻ•āĻŋ āφāϧ⧁āύāĻŋāĻ• āϤāĻĨā§āϝ āĻŦā§āϝāĻŦāĻ¸ā§āĻĨāĻžāϰ āĻ­āĻŋāĻ¤ā§āϤāĻŋ?

āĻāχāĻ­āĻžāĻŦ⧇, Azure CosmosDB-āϤ⧇ āĻŽāĻžāĻ˛ā§āϟāĻŋ-āĻŽāĻĄā§‡āϞ āφāϜ āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āĻāĻ•āϟāĻŋ āĻĒā§āϰāĻ¸ā§āϤ⧁āϤāĻ•āĻžāϰāϕ⧇āϰ āĻĨ⧇āϕ⧇ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āĻŽāĻĄā§‡āϞāϕ⧇ āϏāĻŽāĻ°ā§āĻĨāύ āĻ•āϰ⧇ āĻāĻ•āĻžāϧāĻŋāĻ• āĻĄā§‡āϟāĻžāĻŦ⧇āϏ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻžāϰ āĻ•ā§āώāĻŽāϤāĻž, āϝāĻž āĻŽāĻžāĻ˛ā§āϟāĻŋ-āϭ⧇āϰāĻŋāϝāĻŧ⧇āĻ¨ā§āϟ āĻ¸ā§āĻŸā§‹āϰ⧇āĻœā§‡āϰ āϏāĻŽāĻ¸ā§āϤ āϏāĻŽāĻ¸ā§āϝāĻžāϰ āϏāĻŽāĻžāϧāĻžāύ āĻ•āϰ⧇ āύāĻžāĨ¤

āĻāĻ•āϟāĻŋ āĻ—ā§āϰāĻžāĻĢ āĻŽāĻĄā§‡āϞ⧇āϰ āωāĻĒāϰ āĻ­āĻŋāĻ¤ā§āϤāĻŋ āĻ•āϰ⧇ āĻŽāĻžāĻ˛ā§āϟāĻŋ-āĻŽāĻĄā§‡āϞ āĻĄāĻŋāĻŦāĻŋāĻāĻŽāĻāϏ?

āϞāĻ•ā§āώāĻŖā§€āϝāĻŧ āĻŦāĻŋāώāϝāĻŧ āĻšāϞ āϝ⧇ āĻŦāĻžāϜāĻžāϰ⧇ āĻāĻ–āύāĻ“ āϕ⧋āύāĻ“ āĻŽāĻžāĻ˛ā§āϟāĻŋ-āĻŽāĻĄā§‡āϞ āĻĄāĻŋāĻŦāĻŋāĻāĻŽāĻāϏ āύ⧇āχ āϝāĻž āĻāĻ•āϟāĻŋ āĻ—ā§āϰāĻžāĻĢ āĻŽāĻĄā§‡āϞ⧇āϰ āωāĻĒāϰ āĻ­āĻŋāĻ¤ā§āϤāĻŋ āĻ•āϰ⧇ (āĻāĻ•āϏāĻžāĻĨ⧇ āĻĻ⧁āϟāĻŋ āĻ—ā§āϰāĻžāĻĢ āĻŽāĻĄā§‡āϞ⧇āϰ āϜāĻ¨ā§āϝ āĻŽāĻžāĻ˛ā§āϟāĻŋ-āĻŽāĻĄā§‡āϞ āϏāĻŽāĻ°ā§āĻĨāύ āĻ›āĻžāĻĄāĻŧāĻž: RDF āĻāĻŦāĻ‚ LPG; āĻāϟāĻŋ āĻĻ⧇āϖ⧁āύ āĻĒā§‚āĻ°ā§āĻŦāĻŦāĻ°ā§āϤ⧀ āĻĒā§āϰāĻ•āĻžāĻļāύāĻž) āĻ—ā§āϰāĻžāĻĢ āĻŽāĻĄā§‡āϞ⧇āϰ āωāĻĒāϰ⧇ āĻāĻ•āϟāĻŋ āύāĻĨāĻŋāϰ āĻŽāĻĄā§‡āϞ āĻŦāĻžāĻ¸ā§āϤāĻŦāĻžāϝāĻŧāύ⧇āϰ āĻ•āĻžāϰāϪ⧇ āϏāĻŦāĻšā§‡āϝāĻŧ⧇ āĻŦāĻĄāĻŧ āĻ…āϏ⧁āĻŦāĻŋāϧāĻž āĻšāϝāĻŧ, āĻāĻ•āϟāĻŋ āϏāĻŽā§āĻĒāĻ°ā§āĻ•āĻ—āϤ āύāϝāĻŧāĨ¤

āĻ—ā§āϰāĻžāĻĢ āĻŽāĻĄā§‡āϞ⧇āϰ āωāĻĒāϰ⧇ āĻāĻ•āϟāĻŋ āϰāĻŋāϞ⧇āĻļāύāĻžāϞ āĻŽāĻĄā§‡āϞ āϕ⧀āĻ­āĻžāĻŦ⧇ āĻŦāĻžāĻ¸ā§āϤāĻŦāĻžāϝāĻŧāύ āĻ•āϰāĻž āϝāĻžāϝāĻŧ āϏ⧇āχ āĻĒā§āϰāĻļā§āύāϟāĻŋ āĻĒāϰāĻŦāĻ°ā§āϤ⧀āϟāĻŋāϰ āĻ—āĻ āύ⧇āϰ āϏāĻŽāϝāĻŧāĻ“ āĻŦāĻŋāĻŦ⧇āϚāύāĻž āĻ•āϰāĻž āĻšāϝāĻŧ⧇āĻ›āĻŋāϞāĨ¤ āĻ•āĻŋāĻ­āĻžāĻŦ⧇ āϤāĻŋāύāĻŋ āĻŦāϞ⧇āύ,āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ, āĻĄā§‡āĻ­āĻŋāĻĄ āĻŽā§āϝāĻžāĻ•āĻ—āĻ­āĻ°ā§āύ:

āĻ—ā§āϰāĻžāĻĢ āĻĒāĻĻā§āϧāϤāĻŋāϤ⧇ āĻāĻŽāύ āĻ•āĻŋāϛ⧁ āĻ…āĻ¨ā§āϤāĻ°ā§āύāĻŋāĻšāĻŋāϤ āύ⧇āχ āϝāĻž āĻāĻ•āϟāĻŋ āĻ—ā§āϰāĻžāĻĢ āĻĄāĻžāϟāĻžāĻŦ⧇āϏ⧇ āĻāĻ•āϟāĻŋ āĻ¸ā§āϤāϰ āϤ⧈āϰāĻŋ āĻ•āϰāϤ⧇ āĻŦāĻžāϧāĻž āĻĻ⧇āϝāĻŧ (āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ, āωāĻĒāϝ⧁āĻ•ā§āϤ āϏ⧂āĻšā§€āĻ•āϰāϪ⧇āϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡) āϝāĻž āĻāĻ•āϟāĻŋ āϰāĻŋāϞ⧇āĻļāύāĻžāϞ āĻ­āĻŋāω āϏāĻ•ā§āώāĻŽ āĻ•āϰ⧇ āϝāĻž (1) āϏāĻžāϧāĻžāϰāĻŖ āϕ⧀ āĻŽāĻžāύ āĻœā§‹āĻĄāĻŧāĻž āĻĨ⧇āϕ⧇ āϟāĻŋāĻĒāϞ āĻĒ⧁āύāϰ⧁āĻĻā§āϧāĻžāϰ āĻāĻŦāĻ‚ (2) āĻāϰ āĻ—ā§āϰ⧁āĻĒāĻŋāĻ‚ āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇āϰ āϧāϰāύ āĻĻā§āĻŦāĻžāϰāĻž tuples.

āĻāĻ•āϟāĻŋ āĻ—ā§āϰāĻžāĻĢ āĻŽāĻĄā§‡āϞ⧇āϰ āωāĻĒāϰ⧇ āĻāĻ•āϟāĻŋ āύāĻĨāĻŋ āĻŽāĻĄā§‡āϞ āĻŦāĻžāĻ¸ā§āϤāĻŦāĻžāϝāĻŧāύ āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ, āφāĻĒāύāĻžāϕ⧇ āĻŽāύ⧇ āϰāĻžāĻ–āϤ⧇ āĻšāĻŦ⧇, āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ, āύāĻŋāĻŽā§āύāϞāĻŋāĻ–āĻŋāϤāϗ⧁āϞāĻŋ:

  • āĻāĻ•āϟāĻŋ JSON āĻ…ā§āϝāĻžāϰ⧇āϰ āωāĻĒāĻžāĻĻāĻžāύāϗ⧁āϞāĻŋāϕ⧇ āĻ•ā§āϰāĻŽāĻžāύ⧁āϏāĻžāϰ⧇ āĻŦāĻŋāĻŦ⧇āϚāύāĻž āĻ•āϰāĻž āĻšāϝāĻŧ, āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻ—ā§āϰāĻžāĻĢ⧇āϰ āĻāĻ•āϟāĻŋ āĻĒā§āϰāĻžāĻ¨ā§āϤ⧇āϰ āĻļā§€āĻ°ā§āώāĻŦāĻŋāĻ¨ā§āĻĻ⧁ āĻĨ⧇āϕ⧇ āύāĻŋāĻ°ā§āĻ—āϤ āωāĻĒāĻžāĻĻāĻžāύāϗ⧁āϞāĻŋ āύāϝāĻŧ;
  • āĻĄāϕ⧁āĻŽā§‡āĻ¨ā§āϟ āĻŽāĻĄā§‡āϞ⧇āϰ āĻĄā§‡āϟāĻž āϏāĻžāϧāĻžāϰāĻŖāϤ āĻĄāĻŋāύāϰāĻŽāĻžāϞāĻžāχāϜ āĻ•āϰāĻž āĻšāϝāĻŧ; āφāĻĒāύāĻŋ āĻāĻ–āύāĻ“ āĻāĻ•āχ āĻāĻŽāĻŦ⧇āĻĄā§‡āĻĄ āĻĄāϕ⧁āĻŽā§‡āĻ¨ā§āĻŸā§‡āϰ āĻāĻ•āĻžāϧāĻŋāĻ• āĻ•āĻĒāĻŋ āϏāĻžā§āϚāϝāĻŧ āĻ•āϰāϤ⧇ āϚāĻžāύ āύāĻž āĻāĻŦāĻ‚ āϏāĻžāĻŦāĻĄāϕ⧁āĻŽā§‡āĻ¨ā§āĻŸā§‡ āϏāĻžāϧāĻžāϰāĻŖāϤ āφāχāĻĄā§‡āĻ¨ā§āϟāĻŋāĻĢāĻžāϝāĻŧāĻžāϰ āĻĨāĻžāϕ⧇ āύāĻž;
  • āĻ…āĻ¨ā§āϝāĻĻāĻŋāϕ⧇, āύāĻĨāĻŋ DBMS-āĻāϰ āφāĻĻāĻ°ā§āĻļ āĻšāϞ āϝ⧇ āύāĻĨāĻŋāϗ⧁āϞāĻŋ āϤ⧈āϰāĻŋ āĻ•āϰāĻž "āϏāĻŽāĻˇā§āϟāĻŋ" āϝāĻž āĻĒā§āϰāϤāĻŋāĻŦāĻžāϰ āύāϤ⧁āύ āĻ•āϰ⧇ āϤ⧈āϰāĻŋ āĻ•āϰāĻžāϰ āĻĒā§āϰāϝāĻŧā§‹āϜāύ āĻšāϝāĻŧ āύāĻžāĨ¤ āϏāĻŽāĻžāĻĒā§āϤ āύāĻĨāĻŋāϰ āϏāĻžāĻĨ⧇ āϏāĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāϤ āĻāĻ•āϟāĻŋ āϏāĻžāĻŦāĻ—ā§āϰāĻžāĻĢ āĻĻā§āϰ⧁āϤ āĻĒā§āϰāĻžāĻĒā§āϤ āĻ•āϰāĻžāϰ āĻ•ā§āώāĻŽāϤāĻž āϏāĻš āĻ—ā§āϰāĻžāĻĢ āĻŽāĻĄā§‡āϞ āĻĒā§āϰāĻĻāĻžāύ āĻ•āϰāĻž āĻĒā§āϰāϝāĻŧā§‹āϜāύāĨ¤

āĻ•āĻŋāϛ⧁ āĻŦāĻŋāĻœā§āĻžāĻžāĻĒāύ

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

āφāĻŽāĻŋ āφāĻļāĻž āĻ•āϰāĻŋ āύāĻŋāĻŽā§āύāϞāĻŋāĻ–āĻŋāϤ āύāĻŋāĻŦāĻ¨ā§āϧāϗ⧁āϞāĻŋāϰ āĻŽāĻ§ā§āϝ⧇ āĻāĻ•āϟāĻŋāϤ⧇ NitrosBase-āĻ āĻŽāĻĄā§‡āϞ āĻŽā§āϝāĻžāϚāĻŋāĻ‚ āϕ⧇āĻŽāύ āĻĻ⧇āĻ–āĻžāĻšā§āϛ⧇ āϤāĻž āĻŦāĻ°ā§āĻŖāύāĻž āĻ•āϰāĻŦāĨ¤

āωāĻĒāϏāĻ‚āĻšāĻžāϰ

āφāĻŽāĻŋ āφāĻļāĻž āĻ•āϰāĻŋ āϝ⧇ āĻŽāĻžāĻ˛ā§āϟāĻŋ-āĻŽāĻĄā§‡āϞāĻŋāĻ‚ āĻŦāϞāĻž āĻšāϝāĻŧ āϤāĻžāϰ āϏāĻžāϧāĻžāϰāĻŖ āϰ⧂āĻĒāϰ⧇āĻ–āĻž āĻĒāĻžāĻ āϕ⧇āϰ āĻ•āĻžāϛ⧇ āĻ•āĻŽāĻŦ⧇āĻļāĻŋ āĻ¸ā§āĻĒāĻˇā§āϟ āĻšāϝāĻŧ⧇ āϗ⧇āϛ⧇āĨ¤ āĻŽāĻžāĻ˛ā§āϟāĻŋ-āĻŽāĻĄā§‡āϞ āĻĄāĻŋāĻŦāĻŋāĻāĻŽāĻāϏāϗ⧁āϞāĻŋ āĻŦ⧇āĻļ āφāϞāĻžāĻĻāĻž, āĻāĻŦāĻ‚ "āĻŽāĻžāĻ˛ā§āϟāĻŋ-āĻŽāĻĄā§‡āϞ āϏāĻŽāĻ°ā§āĻĨāύ" āφāϞāĻžāĻĻāĻž āĻĻ⧇āĻ–āϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āĻĒā§āϰāϤāĻŋāϟāĻŋ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇ "āĻŽāĻžāĻ˛ā§āϟāĻŋ-āĻŽāĻĄā§‡āϞ" āϕ⧀ āĻŦāϞāĻž āĻšāϝāĻŧ āϤāĻž āĻŦā§‹āĻāĻžāϰ āϜāĻ¨ā§āϝ, āύāĻŋāĻŽā§āύāϞāĻŋāĻ–āĻŋāϤ āĻĒā§āϰāĻļā§āύ⧇āϰ āωāĻ¤ā§āϤāϰ āĻĻ⧇āĻ“āϝāĻŧāĻž āĻĻāϰāĻ•āĻžāϰ⧀:

  1. āφāĻŽāϰāĻž āĻ•āĻŋ āϐāϤāĻŋāĻšā§āϝāĻ—āϤ āĻŽāĻĄā§‡āϞ āĻŦāĻž āϕ⧋āύ⧋ āϧāϰāύ⧇āϰ "āĻšāĻžāχāĻŦā§āϰāĻŋāĻĄ" āĻŽāĻĄā§‡āϞ āϏāĻŽāĻ°ā§āĻĨāύ āĻ•āϰāĻžāϰ āĻ•āĻĨāĻž āĻŦāϞāĻ›āĻŋ?
  2. āĻŽāĻĄā§‡āϞāϗ⧁āϞāĻŋ āĻ•āĻŋ "āϏāĻŽāĻžāύ", āύāĻžāĻ•āĻŋ āϤāĻžāĻĻ⧇āϰ āĻŽāĻ§ā§āϝ⧇ āĻāĻ•āϟāĻŋ āĻ…āĻ¨ā§āϝāĻĻ⧇āϰ āĻŦāĻŋāώāϝāĻŧ?
  3. āĻŽāĻĄā§‡āϞāϗ⧁āϞāĻŋ āĻ•āĻŋ āĻāϕ⧇ āĻ…āĻĒāϰ⧇āϰ āĻĒā§āϰāϤāĻŋ "āωāĻĻāĻžāϏ⧀āύ"? āĻāĻ• āĻŽāĻĄā§‡āϞ⧇ āϞ⧇āĻ–āĻž āĻĄā§‡āϟāĻž āĻ•āĻŋ āĻ…āĻ¨ā§āϝāϟāĻŋāϤ⧇ āĻĒāĻĄāĻŧāĻž āϝāĻžāϝāĻŧ āĻŦāĻž āĻāĻŽāύāĻ•āĻŋ āĻ“āĻ­āĻžāϰāϰāĻžāχāϟ āĻ•āϰāĻž āϝāĻžāϝāĻŧ?

āφāĻŽāĻŋ āĻŽāύ⧇ āĻ•āϰāĻŋ āϝ⧇ āĻŽāĻžāĻ˛ā§āϟāĻŋ-āĻŽāĻĄā§‡āϞ āĻĄāĻŋāĻŦāĻŋāĻāĻŽāĻāϏ⧇āϰ āĻĒā§āϰāĻžāϏāĻ™ā§āĻ—āĻŋāĻ•āϤāĻž āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āĻĒā§āϰāĻļā§āύāϟāĻŋ āχāϤāĻŋāĻŽāĻ§ā§āϝ⧇ āχāϤāĻŋāĻŦāĻžāϚāĻ•āĻ­āĻžāĻŦ⧇ āωāĻ¤ā§āϤāϰ āĻĻ⧇āĻ“āϝāĻŧāĻž āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇, āϤāĻŦ⧇ āφāĻ•āĻ°ā§āώāĻŖā§€āϝāĻŧ āĻĒā§āϰāĻļā§āύ āĻšāϞ āĻ…āĻĻā§‚āϰ āĻ­āĻŦāĻŋāĻˇā§āϝāϤ⧇ āϤāĻžāĻĻ⧇āϰ āϕ⧋āύ āϧāϰāϪ⧇āϰ āϚāĻžāĻšāĻŋāĻĻāĻž āĻŦ⧇āĻļāĻŋ āĻšāĻŦ⧇āĨ¤ āĻŽāύ⧇ āĻšāĻšā§āϛ⧇ āĻŽāĻžāĻ˛ā§āϟāĻŋ-āĻŽāĻĄā§‡āϞ āĻĄāĻŋāĻŦāĻŋāĻāĻŽāĻāϏ āϝ⧇āϗ⧁āϞāĻŋ āϐāϤāĻŋāĻšā§āϝāĻ—āϤ āĻŽāĻĄā§‡āϞāϗ⧁āϞāĻŋāϕ⧇ āϏāĻŽāĻ°ā§āĻĨāύ āĻ•āϰ⧇, āĻĒā§āϰāĻžāĻĨāĻŽāĻŋāĻ•āĻ­āĻžāĻŦ⧇ āϏāĻŽā§āĻĒāĻ°ā§āĻ•āϝ⧁āĻ•ā§āϤ, āϤāĻžāĻĻ⧇āϰ āϚāĻžāĻšāĻŋāĻĻāĻž āĻŦ⧇āĻļāĻŋ āĻšāĻŦ⧇; āĻŽāĻžāĻ˛ā§āϟāĻŋ-āĻŽāĻĄā§‡āϞ āĻĄāĻŋāĻŦāĻŋāĻāĻŽāĻāϏ-āĻāϰ āϜāύāĻĒā§āϰāĻŋāϝāĻŧāϤāĻž, āύāϤ⧁āύ āĻŽāĻĄā§‡āϞāϗ⧁āϞāĻŋ āĻ…āĻĢāĻžāϰ āĻ•āϰ⧇ āϝāĻž āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āϐāϤāĻŋāĻšā§āϝāĻŦāĻžāĻšā§€āϗ⧁āϞāĻŋāϰ āϏ⧁āĻŦāĻŋāϧāĻžāϗ⧁āϞāĻŋāϕ⧇ āĻāĻ•āĻ¤ā§āϰāĻŋāϤ āĻ•āϰ⧇, āĻāϟāĻŋ āφāϰāĻ“ āĻĻā§‚āϰāĻŦāĻ°ā§āϤ⧀ āĻ­āĻŦāĻŋāĻˇā§āϝāϤ⧇āϰ āĻŦāĻŋāώāϝāĻŧāĨ¤

āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āύāĻŋāĻŦāĻ¨ā§āϧāĻŋāϤ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰāĻž āϜāϰāĻŋāĻĒ⧇ āĻ…āĻ‚āĻļāĻ—ā§āϰāĻšāĻŖ āĻ•āϰāϤ⧇ āĻĒāĻžāϰāĻŦ⧇āύāĨ¤ āϏāĻžāχāύ āχāύ āĻ•āϰ⧁āύāĻ•āϰ⧁āύāĨ¤

āφāĻĒāύāĻŋ āĻ•āĻŋ āĻŽāĻžāĻ˛ā§āϟāĻŋ-āĻŽāĻĄā§‡āϞ āĻĄāĻŋāĻŦāĻŋāĻāĻŽāĻāϏ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇āύ?

  • āφāĻŽāϰāĻž āĻāϟāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻŋ āύāĻž, āφāĻŽāϰāĻž āĻāĻ•āϟāĻŋ DBMS āĻāĻŦāĻ‚ āĻāĻ•āϟāĻŋ āĻŽāĻĄā§‡āϞ⧇ āϏāĻŦāĻ•āĻŋāϛ⧁ āϏāĻžā§āϚāϝāĻŧ āĻ•āϰāĻŋ

  • āφāĻŽāϰāĻž āϐāϤāĻŋāĻšā§āϝāĻ—āϤ DBMSs-āĻāϰ āĻŽāĻžāĻ˛ā§āϟāĻŋ-āĻŽāĻĄā§‡āϞ āĻ•ā§āώāĻŽāϤāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻŋ

  • āφāĻŽāϰāĻž āĻŦāĻšā§āϭ⧁āϜ āĻ…āĻ§ā§āϝāĻŦāϏāĻžāϝāĻŧ āĻ…āύ⧁āĻļā§€āϞāύ āĻ•āϰāĻŋ

  • āφāĻŽāϰāĻž āύāϤ⧁āύ āĻŽāĻžāĻ˛ā§āϟāĻŋ-āĻŽāĻĄā§‡āϞ DBMS āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻŋ (Arango, Orient, CosmosDB)

19 āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āĻ­ā§‹āϟ āĻĻāĻŋāϝāĻŧ⧇āϛ⧇āύāĨ¤ 4 āϜāύ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āĻŦāĻŋāϰāϤ āĻ›āĻŋāϞ⧇āύāĨ¤

āωāĻ¤ā§āϏ: www.habr.com

āĻāĻ•āϟāĻŋ āĻŽāĻ¨ā§āϤāĻŦā§āϝ āϜ⧁āĻĄāĻŧ⧁āύ