рдорд▓реНрдЯреА-рдореЙрдбреЗрд▓ рдбреАрдмреАрдПрдордПрд╕ рдЖрдзреБрдирд┐рдХ рдорд╛рд╣рд┐рддреА рдкреНрд░рдгрд╛рд▓реАрдЪрд╛ рдЖрдзрд╛рд░ рдЖрд╣реЗрдд рдХрд╛?

рдЖрдзреБрдирд┐рдХ рдорд╛рд╣рд┐рддреА рдкреНрд░рдгрд╛рд▓реА рдЦреВрдк рдЬрдЯрд┐рд▓ рдЖрд╣реЗрдд. рд╕рд░реНрд╡рд╛рдд рдХрдореА рдирд╛рд╣реА, рддреНрдпрд╛рдВрдЪреА рдЬрдЯрд┐рд▓рддрд╛ рддреНрдпрд╛рдВрдЪреНрдпрд╛рдордзреНрдпреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдбреЗрдЯрд╛рдЪреНрдпрд╛ рдЬрдЯрд┐рд▓рддреЗрдореБрд│реЗ рдЖрд╣реЗ. рдбреЗрдЯрд╛рдЪреА рдЬрдЯрд┐рд▓рддрд╛ рдЕрдиреЗрдХрджрд╛ рд╡рд╛рдкрд░рд▓реЗрд▓реНрдпрд╛ рдбреЗрдЯрд╛ рдореЙрдбреЗрд▓рдЪреНрдпрд╛ рд╡рд┐рд╡рд┐рдзрддреЗрдордзреНрдпреЗ рдЕрд╕рддреЗ. рдореНрд╣рдгреВрди, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЬреЗрд╡реНрд╣рд╛ рдбреЗрдЯрд╛ "рдореЛрдард╛" рд╣реЛрддреЛ, рддреЗрд╡реНрд╣рд╛ рд╕рдорд╕реНрдпрд╛рдкреНрд░рдзрд╛рди рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдВрдкреИрдХреА рдПрдХ рдореНрд╣рдгрдЬреЗ рдХреЗрд╡рд│ рддреНрдпрд╛рдЪреА рдорд╛рддреНрд░рд╛ ("рд╡реНрд╣реЙрд▓реНрдпреВрдо") рдирд╛рд╣реА рддрд░ рддреНрдпрд╛рдЪреА рд╡рд┐рд╡рд┐рдзрддрд╛ ("рд╡рд┐рд╡рд┐рдзрддрд╛") рджреЗрдЦреАрд▓ рдЕрд╕рддреЗ.

рддреБрдореНрд╣рд╛рд▓рд╛ рдЕрджреНрдпрд╛рдк рддрд░реНрдХрд╛рдордзреНрдпреЗ рддреНрд░реБрдЯреА рдЖрдврд│рд▓реА рдирд╕рд▓реНрдпрд╛рд╕, рд╡рд╛рдЪрд╛.

рдорд▓реНрдЯреА-рдореЙрдбреЗрд▓ рдбреАрдмреАрдПрдордПрд╕ рдЖрдзреБрдирд┐рдХ рдорд╛рд╣рд┐рддреА рдкреНрд░рдгрд╛рд▓реАрдЪрд╛ рдЖрдзрд╛рд░ рдЖрд╣реЗрдд рдХрд╛?


рд╕рд╛рдордЧреНрд░реА

рдкреЙрд▓реАрдЧреНрд▓реЙрдЯ рдЪрд┐рдХрд╛рдЯреА
рдорд▓реНрдЯреА рдореЙрдбреЗрд▓
рд░рд┐рд▓реЗрд╢рдирд▓ рдореЙрдбреЗрд▓рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдорд▓реНрдЯреА-рдореЙрдбреЗрд▓ DBMS
     рдПрдордПрд╕ рдПрд╕рдХреНрдпреВрдПрд▓ рд╕рд░реНрд╡реНрд╣рд░рдордзреАрд▓ рджрд╕реНрддрдРрд╡рдЬ рдореЙрдбреЗрд▓
     MS SQL рд╕рд░реНрд╡реНрд╣рд░рдордзреАрд▓ рдЖрд▓реЗрдЦ рдореЙрдбреЗрд▓
рджрд╕реНрддрдРрд╡рдЬ рдореЙрдбреЗрд▓рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдорд▓реНрдЯреА-рдореЙрдбреЗрд▓ DBMS
     MarkLogic рдордзреНрдпреЗ рд░рд┐рд▓реЗрд╢рдирд▓ рдореЙрдбреЗрд▓
     MarkLogic рдордзреНрдпреЗ рдЖрд▓реЗрдЦ рдореЙрдбреЗрд▓
рдорд▓реНрдЯреА-рдореЙрдбреЗрд▓ рдбреАрдмреАрдПрдордПрд╕ "рдореБрдЦреНрдп рдореЙрдбреЗрд▓рд╢рд┐рд╡рд╛рдп"
     рдЕрд░рдВрдЧреЛрдбреАрдмреА
     рдУрд░рд┐рдПрдВрдЯрдбреАрдмреА
     рдЕрдЭрд░ рдХреЙрд╕рдореЙрд╕рдбреАрдмреА
рдЖрд▓реЗрдЦ рдореЙрдбреЗрд▓рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдорд▓реНрдЯреА-рдореЙрдбреЗрд▓ рдбреАрдмреАрдПрдордПрд╕?
рдирд┐рд╖реНрдХрд░реНрд╖
рд╕рд░реНрд╡реЗрдХреНрд╖рдг

рдкреЙрд▓реАрдЧреНрд▓реЙрдЯ рдЪрд┐рдХрд╛рдЯреА

рдЙрдкрд░реЛрдХреНрдд рд╡рд╕реНрддреБрд╕реНрдерд┐рддреАрдХрдбреЗ рдиреЗрдд рдЖрд╣реЗ рдХреА рдХрдзреАрдХрдзреА рдПрдХрд╛ рд╕рд┐рд╕реНрдЯрдордЪреНрдпрд╛ рдЪреМрдХрдЯреАрдд рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рддреНрдпрд╛рд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рд╡рд┐рд╡рд┐рдз рд╕рдорд╕реНрдпрд╛рдВрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЕрдиреЗрдХ рднрд┐рдиреНрди рдбреАрдмреАрдПрдордПрд╕ рд╡рд╛рдкрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рддреЗ, рдЬреНрдпрд╛рдкреИрдХреА рдкреНрд░рддреНрдпреЗрдХ рд╕реНрд╡рддрдГрдЪреНрдпрд╛ рдбреЗрдЯрд╛ рдореЙрдбреЗрд▓рд▓рд╛ рд╕рдорд░реНрдерди рджреЗрддреЛ. рдПрдо. рдлреЙрд▓рд░рдЪреНрдпрд╛ рд╣рд▓рдХреНрдпрд╛ рд╣рд╛рддрд╛рдиреЗ, рд▓реЗрдЦрдХ рдЕрдиреЗрдХ рдкреНрд░рд╕рд┐рджреНрдз рдкреБрд╕реНрддрдХреЗ рдЖрдгрд┐ рдПрдХ рд╕рд╣-рд▓реЗрдЦрдХ рдЪрдкрд│ рдЬрд╛рд╣реАрд░рдирд╛рдорд╛, рдпрд╛ рд╕реНрдерд┐рддреАрд▓рд╛ рдореНрд╣рдгрддрд╛рдд рдорд▓реНрдЯреА-рд╡реНрд╣реЗрд░рд┐рдпрдВрдЯ рд╕реНрдЯреЛрд░реЗрдЬ ("рдкреЙрд▓реАрдЧреНрд▓реЙрдЯ рдкрд░реНрд╕рд┐рд╕реНрдЯрдиреНрд╕").

рдИ-рдХреЙрдорд░реНрд╕ рдХреНрд╖реЗрддреНрд░рд╛рдд рдкреВрд░реНрдг-рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреАрдХреГрдд рдЖрдгрд┐ рдЙрдЪреНрдЪ-рд▓реЛрдб рдНрдкреНрд▓рд┐рдХреЗрд╢рдирдордзреНрдпреЗ рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░реЗрдЬ рдЖрдпреЛрдЬрд┐рдд рдХрд░рдгреНрдпрд╛рдЪреЗ рдЦрд╛рд▓реАрд▓ рдЙрджрд╛рд╣рд░рдг рдлреЙрд▓рд░рдХрдбреЗ рдЖрд╣реЗ.

рдорд▓реНрдЯреА-рдореЙрдбреЗрд▓ рдбреАрдмреАрдПрдордПрд╕ рдЖрдзреБрдирд┐рдХ рдорд╛рд╣рд┐рддреА рдкреНрд░рдгрд╛рд▓реАрдЪрд╛ рдЖрдзрд╛рд░ рдЖрд╣реЗрдд рдХрд╛?

рд╣реЗ рдЙрджрд╛рд╣рд░рдг, рдЕрд░реНрдерд╛рддрдЪ, рдХрд╛рд╣реАрд╕реЗ рдЕрддрд┐рд╢рдпреЛрдХреНрддреАрдкреВрд░реНрдг рдЖрд╣реЗ, рдкрд░рдВрддреБ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЗрддреВрд╕рд╛рдареА рдПрдХ рдХрд┐рдВрд╡рд╛ рджреБрд╕рд░рд╛ DBMS рдирд┐рд╡рдбрдгреНрдпрд╛рдЪреНрдпрд╛ рдмрд╛рдЬреВрдиреЗ рдХрд╛рд╣реА рд╡рд┐рдЪрд╛рд░ рдЖрдврд│реВ рд╢рдХрддрд╛рдд, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдпреЗрдереЗ.

рд╣реЗ рд╕реНрдкрд╖реНрдЯ рдЖрд╣реЗ рдХреА рдЕрд╢рд╛ рдкреНрд░рд╛рдгреАрд╕рдВрдЧреНрд░рд╣рд╛рд▓рдпрд╛рдд рд╕реЗрд╡рдХ рдЕрд╕рдгреЗ рд╕реЛрдкреЗ рдирд╛рд╣реА.

  • рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░реЗрдЬ рдХрд░рдд рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдХреЛрдбрдЪреЗ рдкреНрд░рдорд╛рдг рд╡рд╛рдкрд░рд▓реЗрд▓реНрдпрд╛ DBMS рдЪреНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдЪреНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рдд рд╡рд╛рдврддреЗ; рдХреЛрдб рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЭрд┐рдВрдЧ рдбреЗрдЯрд╛рдЪреЗ рдкреНрд░рдорд╛рдг рдпрд╛ рд╕рдВрдЦреНрдпреЗрдЪреНрдпрд╛ рд╡рд░реНрдЧрд╛рдЪреНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рдд рдирд╕рд▓реНрдпрд╛рд╕ рдЪрд╛рдВрдЧрд▓реЗ рдЖрд╣реЗ.
  • рд╡рд╛рдкрд░рд▓реНрдпрд╛ рдЬрд╛рдгрд╛рд░реНтАНрдпрд╛ DBMS рдЪреНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдЪреНрдпрд╛ рдЧреБрдгрд╛рдХрд╛рд░ рдореНрд╣рдгреВрди, рд╡рд╛рдкрд░рд▓реЗрд▓реНрдпрд╛ рдкреНрд░рддреНрдпреЗрдХ DBMS рдЪреА рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЭ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ (рд╕реНрдХреЗрд▓реЗрдмрд┐рд▓рд┐рдЯреА, рдлреЙрд▓реНрдЯ рдЯреЙрд▓рд░рдиреНрд╕, рдЙрдЪреНрдЪ рдЙрдкрд▓рдмреНрдзрддрд╛) рдкреНрд░рджрд╛рди рдХрд░рдгреНрдпрд╛рдЪрд╛ рдЦрд░реНрдЪ рд╡рд╛рдврддреЛ.
  • рд╕рдВрдкреВрд░реНрдгрдкрдгреЗ рд╕реНрдЯреЛрд░реЗрдЬ рдЙрдкрдкреНрд░рдгрд╛рд▓реАрдЪреА рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЭ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдгреЗ рдЕрд╢рдХреНрдп рдЖрд╣реЗ - рд╡рд┐рд╢реЗрд╖рдд: рд╡реНрдпрд╡рд╣рд╛рд░.

рдкреНрд░рд╛рдгреАрд╕рдВрдЧреНрд░рд╣рд╛рд▓рдп рд╕рдВрдЪрд╛рд▓рдХрд╛рдЪреНрдпрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдирд╛рддреВрди, рд╕рд░реНрд╡рдХрд╛рд╣реА рдЕрд╕реЗ рджрд┐рд╕рддреЗ:

  • DBMS рдирд┐рд░реНрдорд╛рддреНрдпрд╛рдХрдбреВрди рдкрд░рд╡рд╛рдиреЗ рдЖрдгрд┐ рддрд╛рдВрддреНрд░рд┐рдХ рд╕рдорд░реНрдердирд╛рдЪреНрдпрд╛ рдХрд┐рдВрдорддреАрдордзреНрдпреЗ рдПрдХрд╛рдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рд╡рд╛рдв.
  • рдУрд╡реНрд╣рд░рд╕реНрдЯрд╛рдл рдЖрдгрд┐ рд╡рд╛рдврд▓реЗрд▓реА рдореБрджрдд.
  • рдбреЗрдЯрд╛рдЪреНрдпрд╛ рд╡рд┐рд╕рдВрдЧрддреАрдореБрд│реЗ рдереЗрдЯ рдЖрд░реНрдерд┐рдХ рдиреБрдХрд╕рд╛рди рдХрд┐рдВрд╡рд╛ рджрдВрдб.

рд╕рд┐рд╕реНрдЯрдордЪреНрдпрд╛ рдПрдХреВрдг рдорд╛рд▓рдХреА рдЦрд░реНрдЪрд╛рдордзреНрдпреЗ (TCO) рд▓рдХреНрд╖рдгреАрдп рд╡рд╛рдв рдЭрд╛рд▓реА рдЖрд╣реЗ. "рдорд▓реНрдЯрд┐рдкрд▓ рд╕реНрдЯреЛрд░реЗрдЬ рдкрд░реНрдпрд╛рдп" рдЪреНрдпрд╛ рдкрд░рд┐рд╕реНрдерд┐рддреАрддреВрди рдмрд╛рд╣реЗрд░ рдкрдбрдгреНрдпрд╛рдЪрд╛ рдХрд╛рд╣реА рдорд╛рд░реНрдЧ рдЖрд╣реЗ рдХрд╛?

рдорд▓реНрдЯреА рдореЙрдбреЗрд▓

"рдорд▓реНрдЯреАрд╡реНрд╣реЗрд░рд┐рдПрдЯ рд╕реНрдЯреЛрд░реЗрдЬ" рд╣рд╛ рд╢рдмреНрдж 2011 рдордзреНрдпреЗ рд╡рд╛рдкрд░рд╛рдд рдЖрд▓рд╛. рджреГрд╖реНрдЯрд┐рдХреЛрдирд╛рдЪреНрдпрд╛ рд╕рдорд╕реНрдпрд╛рдВрдмрджреНрджрд▓ рдЬрд╛рдЧрд░реВрдХрддрд╛ рдЖрдгрд┐ рдЙрдкрд╛рдп рд╢реЛрдзрдгреНрдпрд╛рд╕рд╛рдареА рдЕрдиреЗрдХ рд╡рд░реНрд╖реЗ рд▓рд╛рдЧрд▓реА рдЖрдгрд┐ 2015 рдкрд░реНрдпрдВрдд, рдЧрд╛рд░реНрдЯрдирд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдХрд╛рдВрдЪреНрдпрд╛ рддреЛрдВрдбреВрди, рдЙрддреНрддрд░ рддрдпрд╛рд░ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ:

рдЕрд╕реЗ рджрд┐рд╕рддреЗ рдХреА рдпрд╛рд╡реЗрд│реА рдЧрд╛рд░реНрдЯрдирд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдХрд╛рдВрдЪрд╛ рдЕрдВрджрд╛рдЬ рдмрд░реЛрдмрд░ рд╣реЛрддрд╛. рд╕рд╣ рдкреГрд╖реНрдард╛рд╡рд░ рдЧреЗрд▓рд╛рдд рддрд░ рдореБрдЦреНрдп рд░реЗрдЯрд┐рдВрдЧ рдбреАрдмреА-рдЗрдВрдЬрд┐рдирд╡рд░ рдбреАрдмреАрдПрдордПрд╕, рддреБрдореНрд╣реА рддреЗ рдкрд╛рд╣реВ рд╢рдХрддрд╛╨╛рддреНрдпрд╛рдЪреЗ рдмрд╣реБрддреЗрдХ рдиреЗрддреЗ рд╕реНрд╡рддрдГрд▓рд╛ рд╡рд┐рд╢реЗрд╖рддрдГ рдорд▓реНрдЯреА-рдореЙрдбреЗрд▓ рдбреАрдмреАрдПрдордПрд╕ рдореНрд╣рдгреВрди рд╕реНрдерд╛рди рджреЗрддрд╛рдд. рдХреЛрдгрддреНрдпрд╛рд╣реА рдЦрд╛рдЬрдЧреА рд░реЗрдЯрд┐рдВрдЧрд╕рд╣ рдкреГрд╖реНрдард╛рд╡рд░ рддреЗрдЪ рдкрд╛рд╣рд┐рд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ.

рдЦрд╛рд▓реАрд▓ рд╕рд╛рд░рдгреА DBMS рджрд░реНрд╢рд╡рд┐рддреЗ - рдкреНрд░рддреНрдпреЗрдХ рдЦрд╛рдЬрдЧреА рд░реЗрдЯрд┐рдВрдЧрдордзреАрд▓ рдиреЗрддреЗ, рдЬреЗ рдмрд╣реБ-рдореЙрдбреЗрд▓ рдЕрд╕рд▓реНрдпрд╛рдЪрд╛ рджрд╛рд╡рд╛ рдХрд░рддрд╛рдд. рдкреНрд░рддреНрдпреЗрдХ DBMS рд╕рд╛рдареА, рдореВрд│ рд╕рдорд░реНрдерд┐рдд рдореЙрдбреЗрд▓ (рдЬреЗ рдПрдХреЗрдХрд╛рд│реА рдПрдХрдореЗрд╡ рд╣реЛрддреЗ) рдЖрдгрд┐ рддреНрдпрд╛рд╕реЛрдмрдд рд╕рдзреНрдпрд╛ рд╕рдорд░реНрдерд┐рдд рдореЙрдбреЗрд▓реНрд╕ рд╕реВрдЪрд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗрдд. рдбреАрдмреАрдПрдордПрд╕ рджреЗрдЦреАрд▓ рд╕реВрдЪреАрдмрджреНрдз рдЖрд╣реЗрдд рдЬреЗ рд╕реНрд╡рддрдГрд▓рд╛ "рдореВрд│рдд: рдорд▓реНрдЯреА-рдореЙрдбреЗрд▓" рдореНрд╣рдгреВрди рд╕реНрдерд╛рди рджреЗрддрд╛рдд рдЖрдгрд┐ рдирд┐рд░реНрдорд╛рддреНрдпрд╛рдВрдиреБрд╕рд╛рд░, рдХреЛрдгрддреЗрд╣реА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╡рд╛рд░рд╕рд╛ рдорд┐рд│рд╛рд▓реЗрд▓реЗ рдореЙрдбреЗрд▓ рдирд╛рд╣реАрдд.

DBMS рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдореЙрдбреЗрд▓ рдЕрддрд┐рд░рд┐рдХреНрдд рдореЙрдбреЗрд▓
рдУрд░реЕрдХрд▓ рд╕рдВрдмрдВрдзреАрдд рдЖрд▓реЗрдЦ, рджрд╕реНрддрдРрд╡рдЬ
рдПрдордПрд╕ рдПрд╕рдХреНрдпреВрдПрд▓ рд╕рдВрдмрдВрдзреАрдд рдЖрд▓реЗрдЦ, рджрд╕реНрддрдРрд╡рдЬ
рдкреЛрд╕реНрдЯрдЧреНрд░реЗ рдПрд╕рдХреНрдпреВрдПрд▓ рд╕рдВрдмрдВрдзреАрдд рдЖрд▓реЗрдЦ*, рджрд╕реНрддрдРрд╡рдЬ
рдорд╛рд░реНрдХрд▓реЙрдЬрд┐рдХ рдорд╛рд╣рд┐рддреАрдкрдЯ рдЖрд▓реЗрдЦ, рд╕рдВрдмрдВрдзрд╛рддреНрдордХ
MongoDB рдорд╛рд╣рд┐рддреАрдкрдЯ рдореБрдЦреНрдп рдореВрд▓реНрдп, рдЖрд▓реЗрдЦ*
рдбреЗрдЯрд╛рд╕реНрдЯреЕрдХреНрд╕ рд░реБрдВрдж-рд╕реНрддрдВрдн рдорд╛рд╣рд┐рддреАрдкрдЯ, рдЖрд▓реЗрдЦ
Redis рдХреА-рдореВрд▓реНрдп рдорд╛рд╣рд┐рддреАрдкрдЯ, рдЖрд▓реЗрдЦ*
рдЕрд░рдВрдЧреЛрдбреАрдмреА - рдЖрд▓реЗрдЦ, рджрд╕реНрддрдРрд╡рдЬ
рдУрд░рд┐рдПрдВрдЯрдбреАрдмреА - рдЖрд▓реЗрдЦ, рджрд╕реНрддрдРрд╡рдЬ, рд╕рдВрдмрдВрдзрд╛рддреНрдордХ
рдЕрдЭрд░ рдХреЙрд╕рдореЙрд╕рдбреАрдмреА - рдЖрд▓реЗрдЦ, рджрд╕реНрддрдРрд╡рдЬ, рд╕рдВрдмрдВрдзрд╛рддреНрдордХ

рдЯреЗрдмрд▓рд╛рд╡рд░ рдиреЛрдЯреНрд╕

рдЯреЗрдмрд▓рдордзреАрд▓ рддрд╛рд░рдХрд╛ рдЪрд┐рдиреНрд╣рд╛рдВрдХрд┐рдд рд╡рд┐рдзрд╛рдиреЗ рдЬреНрдпрд╛рдВрдирд╛ рдЖрд░рдХреНрд╖рдг рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ:

  • PostgreSQL DBMS рдЧреНрд░рд╛рдл рдбреЗрдЯрд╛ рдореЙрдбреЗрд▓рд▓рд╛ рд╕рдорд░реНрдерди рджреЗрдд рдирд╛рд╣реА, рдкрд░рдВрддреБ рд╣реЗ рдЙрддреНрдкрд╛рджрди рддреНрдпрд╛рд╕ рд╕рдорд░реНрдерди рджреЗрддреЗ рддреНрдпрд╛рд╡рд░ рдЖрдзрд╛рд░рд┐рдд, рдЬрд╕реЗ рдХреА AgensGraph.
  • рдореЛрдВрдЧреЛрдбреАрдмреАрдЪреНрдпрд╛ рд╕рдВрдмрдВрдзрд╛рдд, рдХреНрд╡реЗрд░реА рднрд╛рд╖реЗрдд рдЖрд▓реЗрдЦ рдСрдкрд░реЗрдЯрд░рдЪреНрдпрд╛ рдЙрдкрд╕реНрдерд┐рддреАрдмрджреНрджрд▓ рдмреЛрд▓рдгреЗ рдЕрдзрд┐рдХ рдпреЛрдЧреНрдп рдЖрд╣реЗ ($lookup, $graphLookup) рдЖрд▓реЗрдЦ рдореЙрдбреЗрд▓рд▓рд╛ рд╕рдорд░реНрдерди рджреЗрдгреНрдпрд╛рдкреЗрдХреНрд╖рд╛, рдЬрд░реА, рдЕрд░реНрдерд╛рддрдЪ, рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдкрд░рд┐рдЪрдпрд╛рд╕рд╛рдареА рдЧреНрд░рд╛рдл рдореЙрдбреЗрд▓рд▓рд╛ рд╕рдорд░реНрдерди рджреЗрдгреНрдпрд╛рдЪреНрдпрд╛ рджрд┐рд╢реЗрдиреЗ рднреМрддрд┐рдХ рд╕реНрдЯреЛрд░реЗрдЬ рд╕реНрддрд░рд╛рд╡рд░ рдХрд╛рд╣реА рдСрдкреНрдЯрд┐рдорд╛рдпрдЭреЗрд╢рди рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗрдд.
  • рд░реЗрдбрд┐рд╕рдЪреНрдпрд╛ рд╕рдВрдмрдВрдзрд╛рдд, рдЖрдореНрд╣рд╛рд▓рд╛ рд╡рд┐рд╕реНрддрд╛рд░рд╛рдЪрд╛ рдЕрд░реНрде рдЖрд╣реЗ рд░реЗрдбрд┐рд╕рдЧреНрд░рд╛рдл.

рдкреБрдвреЗ, рдкреНрд░рддреНрдпреЗрдХ рд╡рд░реНрдЧрд╛рд╕рд╛рдареА, рдпрд╛ рд╡рд░реНрдЧрд╛рддреВрди DBMS рдордзреНрдпреЗ рдЕрдиреЗрдХ рдореЙрдбреЗрд▓реНрд╕рд╕рд╛рдареА рд╕рдорд░реНрдерди рдХрд╕реЗ рд▓рд╛рдЧреВ рдХреЗрд▓реЗ рдЬрд╛рддреЗ рддреЗ рдЖрдореНрд╣реА рджрд╛рдЦрд╡реВ. рдЖрдореНрд╣реА рд░рд┐рд▓реЗрд╢рдирд▓, рдбреЙрдХреНрдпреБрдореЗрдВрдЯ рдЖрдгрд┐ рдЖрд▓реЗрдЦ рдореЙрдбреЗрд▓реНрд╕рдирд╛ рд╕рд░реНрд╡рд╛рдд рдорд╣рддреНрд╡рд╛рдЪреЗ рдорд╛рдиреВ рдЖрдгрд┐ рд╡рд┐рд╢рд┐рд╖реНрдЯ DBMS рдЪреА рдЙрджрд╛рд╣рд░рдгреЗ рд╡рд╛рдкрд░реВрди "рдЧрд╣рд╛рд│ рдЕрд╕рд▓реЗрд▓реЗ" рдХрд╕реЗ рдЕрдВрдорд▓рд╛рдд рдЖрдгрд▓реЗ рдЬрд╛рддрд╛рдд рд╣реЗ рджрд╛рдЦрд╡реВ.

рд░рд┐рд▓реЗрд╢рдирд▓ рдореЙрдбреЗрд▓рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдорд▓реНрдЯреА-рдореЙрдбреЗрд▓ DBMS

рдЖрдШрд╛рдбреАрдЪреЗ DBMS рд╕рдзреНрдпрд╛ рд░рд┐рд▓реЗрд╢рдирд▓ рдЖрд╣реЗрдд; рдЬрд░ RDBMS рдиреЗ рдорд▓реНрдЯреА-рдореЙрдбреЗрд▓рд┐рдВрдЧрдЪреНрдпрд╛ рджрд┐рд╢реЗрдиреЗ рд╣рд╛рд▓рдЪрд╛рд▓ рджрд╛рдЦрд╡рд▓реА рдирд╛рд╣реА рддрд░ рдЧрд╛рд░реНрдЯрдирд░рдЪрд╛ рдЕрдВрджрд╛рдЬ рдЦрд░рд╛ рдорд╛рдирддрд╛ рдпреЗрдгрд╛рд░ рдирд╛рд╣реА. рдЖрдгрд┐ рддреЗ рджрд╛рдЦрд╡реВрди рджреЗрддрд╛рдд. рдЖрддрд╛ рдмрд╣реБ-рдореЙрдбреЗрд▓ рдбреАрдмреАрдПрдордПрд╕ рд╣реЗ рд╕реНрд╡рд┐рд╕ рдЪрд╛рдХреВрд╕рд╛рд░рдЦреЗ рдЖрд╣реЗ, рдЬреЗ рдХрд╛рд╣реА рдЪрд╛рдВрдЧрд▓реЗ рдХрд░реВ рд╢рдХрдд рдирд╛рд╣реА, рдереЗрдЯ рд▓реЕрд░реА рдПрд▓рд┐рд╕рдирдХрдбреЗ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ.

рд▓реЗрдЦрдХ, рддрдерд╛рдкрд┐, Microsoft SQL рд╕рд░реНрд╡реНрд╣рд░рдордзреНрдпреЗ рдорд▓реНрдЯреА-рдореЙрдбреЗрд▓рд┐рдВрдЧрдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрд▓рд╛ рдкреНрд░рд╛рдзрд╛рдиреНрдп рджреЗрддрд╛рдд, рдЬреНрдпрд╛рдЪреНрдпрд╛ рдЙрджрд╛рд╣рд░рдгрд╛рд╡рд░ рджрд╕реНрддрдРрд╡рдЬ рдЖрдгрд┐ рдЖрд▓реЗрдЦ рдореЙрдбреЗрд▓рд╕рд╛рдареА RDBMS рд╕рдорд░реНрдерди рд╡рд░реНрдгрди рдХреЗрд▓реЗ рдЬрд╛рдИрд▓.

рдПрдордПрд╕ рдПрд╕рдХреНрдпреВрдПрд▓ рд╕рд░реНрд╡реНрд╣рд░рдордзреАрд▓ рджрд╕реНрддрдРрд╡рдЬ рдореЙрдбреЗрд▓

рдПрдордПрд╕ рдПрд╕рдХреНрдпреВрдПрд▓ рд╕рд░реНрд╡реНрд╣рд░ рджрд╕реНрддрдРрд╡рдЬ рдореЙрдбреЗрд▓рд╕рд╛рдареА рд╕рдорд░реНрдерди рдХрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рддреЗ рдпрд╛рдмрджреНрджрд▓ рд╣реЕрдмреНрд░реЗрд╡рд░ рджреЛрди рдЙрддреНрдХреГрд╖реНрдЯ рд▓реЗрдЦ рдЖрдзреАрдЪ рдЖрд▓реЗ рдЖрд╣реЗрдд; рдореА рд╕реНрд╡рдд: рд▓рд╛ рдереЛрдбрдХреНрдпрд╛рдд рд░реАрдЯреЗрд▓рд┐рдВрдЧ рдЖрдгрд┐ рд╕рдорд╛рд▓реЛрдЪрдирд╛рдкрд░реНрдпрдВрдд рдорд░реНрдпрд╛рджрд┐рдд рдареЗрд╡рддреЛ:

MS SQL рд╕рд░реНрд╡реНрд╣рд░рдордзреАрд▓ рджрд╕реНрддрдРрд╡рдЬ рдореЙрдбреЗрд▓рд▓рд╛ рд╕рдорд░реНрдерди рджреЗрдгреНрдпрд╛рдЪрд╛ рдорд╛рд░реНрдЧ рд░рд┐рд▓реЗрд╢рдирд▓ DBMS рд╕рд╛рдареА рдЕрдЧрджреА рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрдкреВрд░реНрдг рдЖрд╣реЗ: JSON рджрд╕реНрддрдРрд╡рдЬ рд╕рд╛рдорд╛рдиреНрдп рдордЬрдХреВрд░ рдлреАрд▓реНрдбрдордзреНрдпреЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдЖрд╣реЗ. рджрд╕реНрддрдРрд╡рдЬ рдореЙрдбреЗрд▓рд╕рд╛рдареА рд╕рдорд░реНрдерди рд╣реЗ JSON рдкрд╛рд░реНрд╕ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд┐рд╢реЗрд╖ рдСрдкрд░реЗрдЯрд░ рдкреНрд░рджрд╛рди рдХрд░рдгреЗ рдЖрд╣реЗ:

  • JSON_VALUE рд╕реНрдХреЗрд▓рд░ рд╡рд┐рд╢реЗрд╖рддрд╛ рдореВрд▓реНрдпреЗ рдХрд╛рдврдгреНрдпрд╛рд╕рд╛рдареА,
  • JSON_QUERY рдЙрдк-рджрд╕реНрддрдРрд╡рдЬ рдХрд╛рдврдгреНрдпрд╛рд╕рд╛рдареА.

рджреЛрдиреНрд╣реА рдСрдкрд░реЗрдЯрд░реНрд╕рдЪрд╛ рджреБрд╕рд░рд╛ рдпреБрдХреНрддрд┐рд╡рд╛рдж JSONPath рд╕рд╛рд░рдЦреА рд╡рд╛рдХреНрдпрд░рдЪрдирд╛ рдордзреНрдпреЗ рдПрдХ рдЕрднрд┐рд╡реНрдпрдХреНрддреА рдЖрд╣реЗ.

рдЕрдореВрд░реНрддрдкрдгреЗ, рдЖрдореНрд╣реА рдЕрд╕реЗ рдореНрд╣рдгреВ рд╢рдХрддреЛ рдХреА рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХреЗрд▓реЗрд▓реЗ рджрд╕реНрддрдРрд╡рдЬ рдЯрдкрд▓реНрд╕рдЪреНрдпрд╛ рд╡рд┐рдкрд░реАрдд, рд░рд┐рд▓реЗрд╢рдирд▓ рдбреАрдмреАрдПрдордПрд╕рдордзреНрдпреЗ "рдкреНрд░рдердо-рд╢реНрд░реЗрдгреА рд╕рдВрд╕реНрдерд╛" рдирд╛рд╣реАрдд. рд╡рд┐рд╢реЗрд╖рддрдГ, MS SQL рд╕рд░реНрд╡реНрд╣рд░рдордзреНрдпреЗ рд╕рдзреНрдпрд╛ JSON рджрд╕реНрддрдРрд╡рдЬрд╛рдВрдЪреНрдпрд╛ рдлреАрд▓реНрдбрд╡рд░ рдХреЛрдгрддреЗрд╣реА рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдирд╛рд╣реАрдд, рдЬреНрдпрд╛рдореБрд│реЗ рдпрд╛ рдлреАрд▓реНрдбрдЪреА рдореВрд▓реНрдпреЗ рд╡рд╛рдкрд░реВрди рд╕рд╛рд░рдгреНрдпрд╛рдВрдордзреНрдпреЗ рд╕рд╛рдореАрд▓ рд╣реЛрдгреЗ рдХрдареАрдг рд╣реЛрддреЗ рдЖрдгрд┐ рдпрд╛ рдореВрд▓реНрдпрд╛рдВрдЪрд╛ рд╡рд╛рдкрд░ рдХрд░реВрди рджрд╕реНрддрдРрд╡рдЬ рджреЗрдЦреАрд▓ рдирд┐рд╡рдбрдгреЗ рдХрдареАрдг рд╣реЛрддреЗ. рддрдерд╛рдкрд┐, рдЕрд╢рд╛ рдлреАрд▓реНрдбрд╕рд╛рдареА рдЧрдгрдирд╛ рдХреЗрд▓реЗрд▓рд╛ рд╕реНрддрдВрдн рдЖрдгрд┐ рддреНрдпрд╛рд╡рд░ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рддрдпрд╛рд░ рдХрд░рдгреЗ рд╢рдХреНрдп рдЖрд╣реЗ.

рдпрд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рдПрдордПрд╕ рдПрд╕рдХреНрдпреВрдПрд▓ рд╕рд░реНрд╡реНрд╣рд░ рдСрдкрд░реЗрдЯрд░ рд╡рд╛рдкрд░реВрди рдЯреЗрдмрд▓рдЪреНрдпрд╛ рд╕рд╛рдордЧреНрд░реАрдордзреВрди JSON рджрд╕реНрддрдРрд╡рдЬ рд╕реЛрдпреАрд╕реНрдХрд░рдкрдгреЗ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЛ FOR JSON PATH - рдПрдХ рд╢рдХреНрдпрддрд╛, рдПрдХрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЕрд░реНрдерд╛рдиреЗ, рдорд╛рдЧреАрд▓ рдПрдХрд╛рдЪреНрдпрд╛ рд╡рд┐рд░реБрджреНрдз, рдкрд╛рд░рдВрдкрд╛рд░рд┐рдХ рд╕реНрдЯреЛрд░реЗрдЬ. рд╣реЗ рд╕реНрдкрд╖реНрдЯ рдЖрд╣реЗ рдХреА RDBMS рдХрд┐рддреАрд╣реА рд╡реЗрдЧрд╡рд╛рди рдЕрд╕рд▓рд╛ рддрд░реАрд╣реА, рд╣рд╛ рджреГрд╖реНрдЯреАрдХреЛрди рджрд╕реНрддрдРрд╡рдЬ DBMSs рдЪреНрдпрд╛ рд╡рд┐рдЪрд╛рд░рд╕рд░рдгреАрдЪреНрдпрд╛ рд╡рд┐рд░реЛрдзрд╛рднрд╛рд╕ рдЖрд╣реЗ, рдЬреЗ рдореВрд▓рдд: рд▓реЛрдХрдкреНрд░рд┐рдп рдкреНрд░рд╢реНрдирд╛рдВрдЪреА рддрдпрд╛рд░ рдЙрддреНрддрд░реЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рддреЗ рдЖрдгрд┐ рдХреЗрд╡рд│ рд╡рд┐рдХрд╛рд╕рд╛рдЪреНрдпрд╛ рд╕реБрд▓рднрддреЗрдЪреНрдпрд╛ рд╕рдорд╕реНрдпрд╛ рд╕реЛрдбрд╡реВ рд╢рдХрддреЗ, рдкрд░рдВрддреБ рдЧрддреА рдирд╛рд╣реА.

рд╢реЗрд╡рдЯреА, рдПрдордПрд╕ рдПрд╕рдХреНрдпреВрдПрд▓ рд╕рд░реНрд╡реНрд╣рд░ рддреБрдореНрд╣рд╛рд▓рд╛ рджрд╕реНрддрдРрд╡рдЬ рдмрд╛рдВрдзрдХрд╛рдорд╛рдЪреНрдпрд╛ рд╡рд┐рд░реБрджреНрдз рд╕рдорд╕реНрдпрд╛ рд╕реЛрдбрд╡рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЛ: рддреБрдореНрд╣реА рдЬреЗрдПрд╕рдУрдПрдирд▓рд╛ рдЯреЗрдмрд▓рдордзреНрдпреЗ рд╡рд┐рдШрдЯрд┐рдд рдХрд░реВ рд╢рдХрддрд╛ OPENJSON. рджрд╕реНрддрдРрд╡рдЬ рдкреВрд░реНрдгрдкрдгреЗ рд╕рдкрд╛рдЯ рдирд╕рд▓реНрдпрд╛рд╕, рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕реЗрд▓ CROSS APPLY.

MS SQL рд╕рд░реНрд╡реНрд╣рд░рдордзреАрд▓ рдЖрд▓реЗрдЦ рдореЙрдбреЗрд▓

рдЧреНрд░рд╛рдл (LPG) рдореЙрдбреЗрд▓рд╕рд╛рдареА рд╕рдорд░реНрдерди рджреЗрдЦреАрд▓ 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; рддреНрдпрд╛рдЪ рдХрд╛рд░рдгрд╛рд╕реНрддрд╡, рдбреЗрдЯрд╛ рдШрд╛рд▓рдгреНрдпрд╛рд╕рд╛рдареАрдЪреНрдпрд╛ рдХреНрд╡реЗрд░реА рдпреЗрдереЗ рджрд╛рдЦрд╡рд▓реНрдпрд╛ рдЬрд╛рдд рдирд╛рд╣реАрдд рдХрд╛рд░рдг рддреНрдпрд╛ рдЕрдирд╛рд╡рд╢реНрдпрдХрдкрдгреЗ рдЕрд╡рдЬрдб рдЖрд╣реЗрдд).

рдПрдордПрд╕ рдПрд╕рдХреНрдпреВрдПрд▓ рд╕рд░реНрд╡реНрд╣рд░рдордзреАрд▓ рджрд╕реНрддрдРрд╡рдЬ рдЖрдгрд┐ рдЖрд▓реЗрдЦ рдореЙрдбреЗрд▓реНрд╕рдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪреНрдпрд╛ рд╡рд░реНрдгрдирд╛рдЪрд╛ рд╕рд╛рд░рд╛рдВрд╢ рджреЗрдгреНрдпрд╛рд╕рд╛рдареА, рдореА рд▓рдХреНрд╖рд╛рдд рдШреЗрддреЛ рдХреА рдПрдХрд╛ рдореЙрдбреЗрд▓рдЪреНрдпрд╛ рджреБрд╕рд░реНтАНрдпрд╛ рдореЙрдбреЗрд▓рдЪреА рдЕрд╢реА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдкреНрд░рд╛рдореБрдЦреНрдпрд╛рдиреЗ рднрд╛рд╖рд╛ рдбрд┐рдЭрд╛рдЗрдирдЪреНрдпрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдирд╛рддреВрди рдпрд╢рд╕реНрд╡реА рд╡рд╛рдЯрдд рдирд╛рд╣реА. рдПрдХрд╛ рднрд╛рд╖реЗрдЪрд╛ рджреБрд╕рд░реНтАНрдпрд╛ рднрд╛рд╖реЗрд╕рд╣ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ, рднрд╛рд╖рд╛ рдкреВрд░реНрдгрдкрдгреЗ "рдСрд░реНрдереЛрдЧреЛрдирд▓" рдирд╕рддрд╛рдд, рд╕реБрд╕рдВрдЧрддрддрд╛ рдирд┐рдпрдо рдмрд░реЗрдЪ рд╡рд┐рдЪрд┐рддреНрд░ рдЕрд╕реВ рд╢рдХрддрд╛рдд.

рджрд╕реНрддрдРрд╡рдЬ рдореЙрдбреЗрд▓рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдорд▓реНрдЯреА-рдореЙрдбреЗрд▓ DBMS

рдпрд╛ рд╡рд┐рднрд╛рдЧрд╛рдд, рдореА рд╕рд░реНрд╡рд╛рдд рд▓реЛрдХрдкреНрд░рд┐рдп рдирд╕рд▓реЗрд▓реНрдпрд╛ рдореЛрдВрдЧреЛрдбреАрдмреАрдЪреЗ рдЙрджрд╛рд╣рд░рдг рд╡рд╛рдкрд░реВрди рджрд╕реНрддрдРрд╡рдЬ рдбреАрдмреАрдПрдордПрд╕рдордзреНрдпреЗ рдорд▓реНрдЯреА-рдореЙрдбреЗрд▓рдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рд╕реНрдкрд╖реНрдЯ рдХрд░реВ рдЗрдЪреНрдЫрд┐рддреЛ (рдореНрд╣рдЯрд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ, рддреНрдпрд╛рдд рдлрдХреНрдд рд╕рд╢рд░реНрдд рдЖрд▓реЗрдЦ рдСрдкрд░реЗрдЯрд░ рдЖрд╣реЗрдд $lookup ╨╕ $graphLookup. рдорд╛рд░реНрдХрд▓реЙрдЬрд┐рдХ.

рдореНрд╣рдгреВрди, рд╕рдВрдЧреНрд░рд╣рд╛рдордзреНрдпреЗ рдЦрд╛рд▓реАрд▓ рдкреНрд░рдХрд╛рд░рдЪреНрдпрд╛ XML рджрд╕реНрддрдРрд╡рдЬрд╛рдВрдЪрд╛ рд╕рдВрдЪ рдЕрд╕реВ рджреНрдпрд╛ (рдорд╛рд░реНрдХрд▓реЙрдЬрд┐рдХ рддреБрдореНрд╣рд╛рд▓рд╛ 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>

рддреБрдореНрд╣реА рдкрд░рд┐рдгрд╛рдореА RDF рдЖрд▓реЗрдЦрд╛рд▓рд╛ SPARQL рдХреНрд╡реЗрд░реАрд╕рд╣ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░реВ рд╢рдХрддрд╛:

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

рд░рд┐рд▓реЗрд╢рдирд▓рдЪреНрдпрд╛ рд╡рд┐рдкрд░реАрдд, рдорд╛рд░реНрдХрд▓реЙрдЬрд┐рдХ рдЧреНрд░рд╛рдл рдореЙрдбреЗрд▓рд▓рд╛ рдЗрддрд░ рджреЛрди рдкреНрд░рдХрд╛рд░реЗ рд╕рдорд░реНрдерди рджреЗрддреЗ:

  1. рдбреАрдмреАрдПрдордПрд╕ рд╣рд╛ рдЖрд░рдбреАрдПрдл рдбреЗрдЯрд╛рдЪрд╛ рдкреВрд░реНрдг рд╡рд╛рдв рдЭрд╛рд▓реЗрд▓рд╛ рд╕реНрд╡рддрдВрддреНрд░ рд╕реНрдЯреЛрд░реЗрдЬ рдЕрд╕реВ рд╢рдХрддреЛ (рддреНрдпрд╛рддреАрд▓ рддрд┐рдкреНрдкрдЯ рдореНрд╣рдгрддрд╛рдд. рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рд╡рд░ рд╡рд░реНрдгрди рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╡рд┐рд░реВрджреНрдз рдХрд╛рдврд▓рд╛).
  2. рд╡рд┐рд╢реЗрд╖ рдХреНрд░рдорд╡рд╛рд░реАрдд RDF рдлрдХреНрдд XML рдХрд┐рдВрд╡рд╛ JSON рджрд╕реНрддрдРрд╡рдЬрд╛рдВрдордзреНрдпреЗ рдШрд╛рддрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ (рдЖрдгрд┐ рдирдВрддрд░ рддрд┐рдкреНрдкрдЯ рдореНрд╣рдЯрд▓реЗ рдЬрд╛рдИрд▓ рдЕрд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд). рд╣реЗ рдмрд╣реБрдзрд╛ рдпрдВрддреНрд░рдгрд╛рдВрдирд╛ рдкрд░реНрдпрд╛рдп рдЖрд╣реЗ idref рдЖрдгрд┐ рдЗрддрд░.

рдорд╛рд░реНрдХрд▓реЙрдЬрд┐рдХрдордзреНрдпреЗ "рдЦрд░реЛрдЦрд░" рдЧреЛрд╖реНрдЯреА рдХрд╢рд╛ рдХрд╛рд░реНрдп рдХрд░рддрд╛рдд рдпрд╛рдЪреА рдЪрд╛рдВрдЧрд▓реА рдХрд▓реНрдкрдирд╛ рджрд┐рд▓реА рдЖрд╣реЗ рдСрдкреНрдЯрд┐рдХрд▓ API, рдпрд╛ рдЕрд░реНрдерд╛рдиреЗ, рддреЗ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдЖрд╣реЗ, рдЬрд░реА рддреНрдпрд╛рдЪрд╛ рдЙрджреНрджреЗрд╢ рдЙрд▓рдЯ рдЖрд╣реЗ - рд╡рд╛рдкрд░рд▓реЗрд▓реНрдпрд╛ рдбреЗрдЯрд╛ рдореЙрдбреЗрд▓рдордзреВрди рдЕрдореВрд░реНрдд рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рдгреЗ, рднрд┐рдиреНрди рдореЙрдбреЗрд▓рдордзреАрд▓ рдбреЗрдЯрд╛рд╕рд╣ рд╕реБрд╕рдВрдЧрдд рдХрд╛рд░реНрдп рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдгреЗ, рд╡реНрдпрд╡рд╣рд╛рд░ рдЗ.

рдорд▓реНрдЯреА-рдореЙрдбреЗрд▓ рдбреАрдмреАрдПрдордПрд╕ "рдореБрдЦреНрдп рдореЙрдбреЗрд▓рд╢рд┐рд╡рд╛рдп"

рдмрд╛рдЬрд╛рд░рд╛рдд рдЕрд╕реЗ рдбреАрдмреАрдПрдордПрд╕ рджреЗрдЦреАрд▓ рдЖрд╣реЗрдд рдЬреЗ рд╕реНрд╡рддрдГрд▓рд╛ рд╕реБрд░рд╡рд╛рддреАрд▓рд╛ рдорд▓реНрдЯреА-рдореЙрдбреЗрд▓ рдореНрд╣рдгреВрди рдареЗрд╡рддрд╛рдд, рдХреЛрдгрддреНрдпрд╛рд╣реА рд╡рд╛рд░рд╢рд╛рдиреЗ рдорд┐рд│рд╛рд▓реЗрд▓реНрдпрд╛ рдореБрдЦреНрдп рдореЙрдбреЗрд▓рд╢рд┐рд╡рд╛рдп. рдпрд╛рдд рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЕрд░рдВрдЧреЛрдбреАрдмреА, рдУрд░рд┐рдПрдВрдЯрдбреАрдмреА (2018 рдкрд╛рд╕реВрди рд╡рд┐рдХрд╛рд╕ рдХрдВрдкрдиреА SAP рдЪреНрдпрд╛ рдорд╛рд▓рдХреАрдЪреА рдЖрд╣реЗ) рдЖрдгрд┐ рдХреЙрд╕рдореЙрд╕рдбреАрдмреА (Microsoft Azure рдХреНрд▓рд╛рдЙрдб рдкреНрд▓реЕрдЯрдлреЙрд░реНрдордЪрд╛ рднрд╛рдЧ рдореНрд╣рдгреВрди рд╕реЗрд╡рд╛).

рдЦрд░рдВ рддрд░, ArangoDB рдЖрдгрд┐ OrientDB рдордзреНрдпреЗ "рдХреЛрд░" рдореЙрдбреЗрд▓реНрд╕ рдЖрд╣реЗрдд. рджреЛрдиреНрд╣реА рдкреНрд░рдХрд░рдгрд╛рдВрдордзреНрдпреЗ, рд╣реЗ рддреНрдпрд╛рдВрдЪреЗ рд╕реНрд╡рддрдГрдЪреЗ рдбреЗрдЯрд╛ рдореЙрдбреЗрд▓ рдЖрд╣реЗрдд, рдЬреЗ рдПрдХ рджрд╕реНрддрдРрд╡рдЬрд╛рдЪреЗ рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг рдЖрд╣реЗрдд. рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг рд╣реЗ рдкреНрд░рд╛рдореБрдЦреНрдпрд╛рдиреЗ рдЖрд▓реЗрдЦ рдЖрдгрд┐ рд░рд┐рд▓реЗрд╢рдирд▓ рдирд┐рд╕рд░реНрдЧрд╛рдЪреНрдпрд╛ рдкреНрд░рд╢реНрдирд╛рдВрдЪреА рдХреНрд╖рдорддрд╛ рд╕реБрд▓рдн рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрд╣реЗрдд.

рд╣реА рдореЙрдбреЗрд▓реНрд╕ рдирд┐рд░реНрджрд┐рд╖реНрдЯ DBMS рдордзреНрдпреЗ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЙрдкрд▓рдмреНрдз рдЖрд╣реЗрдд; рддреНрдпрд╛рдВрдЪреНрдпрд╛ рд╕реНрд╡рддрдГрдЪреНрдпрд╛ рдХреНрд╡реЗрд░реА рднрд╛рд╖рд╛ рддреНрдпрд╛рдВрдЪреНрдпрд╛рд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реНрдпрд╛ рдЖрд╣реЗрдд. рдЕрд░реНрдерд╛рдд, рдЕрд╢реА рдореЙрдбреЗрд▓реНрд╕ рдЖрдгрд┐ рдбреАрдмреАрдПрдордПрд╕ рдЖрд╢рд╛рджрд╛рдпрдХ рдЖрд╣реЗрдд, рдкрд░рдВрддреБ рдорд╛рдирдХ рдореЙрдбреЗрд▓реНрд╕ рдЖрдгрд┐ рднрд╛рд╖рд╛рдВрд╢реА рд╕реБрд╕рдВрдЧрддрддреЗрдЪреНрдпрд╛ рдЕрднрд╛рд╡рд╛рдореБрд│реЗ рдпрд╛ рдбреАрдмреАрдПрдордПрд╕рдЪрд╛ рд╡рд╛рдкрд░ рд▓реЗрдЧреЗрд╕реА рд╕рд┐рд╕реНрдЯреАрдордордзреНрдпреЗ рдХрд░рдгреЗ рдЕрд╢рдХреНрдп рд╣реЛрддреЗ-рдЖрдзреАрдкрд╛рд╕реВрди рд╡рд╛рдкрд░рд▓реЗрд▓реНрдпрд╛ рдбреАрдмреАрдПрдордПрд╕ рдкреБрдирд░реНрд╕реНрдерд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА.

Habr├й рд╡рд░ ArangoDB рдЖрдгрд┐ OrientDB рдмрджреНрджрд▓ рдЖрдзреАрдЪ рдПрдХ рдЕрджреНрднреБрдд рд▓реЗрдЦ рд╣реЛрддрд╛: NoSQL рдбреЗрдЯрд╛рдмреЗрд╕рдордзреНрдпреЗ рд╕рд╛рдореАрд▓ рд╡реНрд╣рд╛.

рдЕрд░рдВрдЧреЛрдбреАрдмреА

ArangoDB рдЧреНрд░рд╛рдл рдбреЗрдЯрд╛ рдореЙрдбреЗрд▓рд╕рд╛рдареА рд╕рдорд░реНрдердирд╛рдЪрд╛ рджрд╛рд╡рд╛ рдХрд░рддреЗ.

ArangoDB рдордзреАрд▓ рдЖрд▓реЗрдЦрд╛рдЪреЗ рдиреЛрдбреНрд╕ рд╣реЗ рд╕рд╛рдорд╛рдиреНрдп рджрд╕реНрддрдРрд╡рдЬ рдЖрд╣реЗрдд рдЖрдгрд┐ рдХрдбрд╛ рд╣реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рдХрд╛рд░рдЪреЗ рджрд╕реНрддрдРрд╡рдЬ рдЖрд╣реЗрдд рдЬреНрдпрд╛рдд рдирд┐рдпрдорд┐рдд рд╕рд┐рд╕реНрдЯрдо рдлреАрд▓реНрдбрд╕рд╣ (_key, _id, _rev) рд╕рд┐рд╕реНрдЯрдо рдлреАрд▓реНрдб _from ╨╕ _to. рджрд╕реНрддрдРрд╡рдЬ рдбреАрдмреАрдПрдордПрд╕рдордзреАрд▓ рджрд╕реНрддрдРрд╡рдЬ рдкрд╛рд░рдВрдкрд╛рд░рд┐рдХрдкрдгреЗ рд╕рдВрдЧреНрд░рд╣рд╛рдВрдордзреНрдпреЗ рдПрдХрддреНрд░рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд. рдПрдЬрдиреНрд╕рдЪреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдгрд╛рд▒реНрдпрд╛ рджрд╕реНрддрдРрд╡рдЬрд╛рдВрдЪреНрдпрд╛ рд╕рдВрдЧреНрд░рд╣рд╛рдВрдирд╛ рдЕрд░рд╛рдВрдЧреЛрдбреАрдмреАрдордзреНрдпреЗ рдПрдЬ рдХрд▓реЗрдХреНрд╢рди рдореНрд╣рдгрддрд╛рдд. рддрд╕реЗ, рдПрдЬ рдХрд▓реЗрдХреНрд╢рди рджрд╕реНрддрдРрд╡рдЬ рджреЗрдЦреАрд▓ рджрд╕реНрддрдРрд╡рдЬ рдЖрд╣реЗрдд, рдореНрд╣рдгреВрди 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 
  }
]

рдкреНрд░рд╢реНрди рдЖрдгрд┐ рдкрд░рд┐рдгрд╛рдо

ArangoDB рдордзреНрдпреЗ рд╡рд╛рдкрд░рд▓реНрдпрд╛ рдЬрд╛рдгрд╛рд░реНтАНрдпрд╛ 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 рдордзреНрдпреЗ рджрд╕реНрддрдРрд╡рдЬ рдореЙрдбреЗрд▓рдЪреНрдпрд╛ рд╢реАрд░реНрд╖рд╕реНрдерд╛рдиреА рдЖрд▓реЗрдЦ рдореЙрдбреЗрд▓ рд▓рд╛рдЧреВ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдЖрдзрд╛рд░ рдЖрд╣реЗ рд╕рдВрдзреА рджрд╕реНрддрдРрд╡рдЬ рдлреАрд▓реНрдб, рдЕрдзрд┐рдХ рдХрд┐рдВрд╡рд╛ рдХрдореА рдорд╛рдирдХ рд╕реНрдХреЗрд▓рд░ рдореВрд▓реНрдпрд╛рдВрд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рдкреНрд░рдХрд╛рд░рд╛рдВрдЪреА рдореВрд▓реНрдпреЗ рджреЗрдЦреАрд▓ рдЕрд╕рддрд╛рдд рдЬрд╕реЗ рдХреА 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"
    }
  ]

рдЬрд╕реЗ рдЖрдкрдг рдкрд╛рд╣реВ рд╢рдХрддреЛ, рд╢рд┐рд░реЛрдмрд┐рдВрджреВ рдпреЗрдгрд╛рд░реНтАНрдпрд╛ рдЖрдгрд┐ рдЬрд╛рдгрд╛рд░реНтАНрдпрд╛ рдХрдбрд╛рдВрдЪреА рдорд╛рд╣рд┐рддреА рджреЗрдЦреАрд▓ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рддрд╛рдд. рдпреЗрдереЗ рд╡рд╛рдкрд░рдд рдЖрд╣реЗ рджрд╕реНрддрдРрд╡рдЬ API рд▓рд╛ рд╕рдВрджрд░реНрднрд┐рдд рдЕрдЦрдВрдбрддреЗрдЪреЗ рд╕реНрд╡рддрдГ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рд╛рд╡реЗ рд▓рд╛рдЧрддреЗ рдЖрдгрд┐ рдЧреНрд░рд╛рдл API рд╣реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ. рдкрд░рдВрддреБ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдВрдордзреНрдпреЗ рд╕рдорд╛рдХрд▓рд┐рдд рдирд╕рд▓реЗрд▓реНрдпрд╛ тАЬрд╢реБрджреНрдзтАЭ рдХреНрд╡реЗрд░реА рднрд╛рд╖рд╛рдВрдордзреНрдпреЗ 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 рджрд╕реНрддрдРрд╡рдЬ рдореЙрдбреЗрд▓рдордзреАрд▓ рдбреЗрдЯрд╛ рдНрдХреНрд╕реЗрд╕ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддрд╛рдд. Gremlin API рдЖрдгрд┐ Cassandra API - рдЕрдиреБрдХреНрд░рдореЗ рдЧреНрд░рд╛рдл рдЖрдгрд┐ рдХреЙрд▓рдо рдлреЙрд░рдореЕрдЯрдордзреНрдпреЗ рдбреЗрдЯрд╛ рдНрдХреНрд╕реЗрд╕ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА. рд╕рд░реНрд╡ рдореЙрдбреЗрд▓рдордзреАрд▓ рдбреЗрдЯрд╛ CosmosDB рдЕрдВрддрд░реНрдЧрдд рдореЙрдбреЗрд▓ рдлреЙрд░рдореЕрдЯрдордзреНрдпреЗ рд╕реЗрд╡реНрд╣ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ: рдПрдЖрд░рдПрд╕ (тАЬрдПрдЯрдо-рд░реЗрдХреЙрд░реНрдб-рд╕рд┐рдХреНрд╡реЗрдВрд╕тАЭ), рдЬреЗ рджрд╕реНрддрдРрд╡рдЬрд╛рдЪреНрдпрд╛ рдЕрдЧрджреА рдЬрд╡рд│ рдЖрд╣реЗ.

рдорд▓реНрдЯреА-рдореЙрдбреЗрд▓ рдбреАрдмреАрдПрдордПрд╕ рдЖрдзреБрдирд┐рдХ рдорд╛рд╣рд┐рддреА рдкреНрд░рдгрд╛рд▓реАрдЪрд╛ рдЖрдзрд╛рд░ рдЖрд╣реЗрдд рдХрд╛?

рдкрд░рдВрддреБ рд╕реЗрд╡реЗрдордзреНрдпреЗ рдЦрд╛рддреЗ рддрдпрд╛рд░ рдХрд░рддрд╛рдирд╛ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдиреЗ рдирд┐рд╡рдбрд▓реЗрд▓реЗ рдбреЗрдЯрд╛ рдореЙрдбреЗрд▓ рдЖрдгрд┐ рд╡рд╛рдкрд░рд▓реЗрд▓реЗ API рдирд┐рд╢реНрдЪрд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд. рдПрдХрд╛ рдореЙрдбреЗрд▓рдордзреНрдпреЗ рд▓реЛрдб рдХреЗрд▓реЗрд▓рд╛ рдбреЗрдЯрд╛ рджреБрд╕рд░реНтАНрдпрд╛ рдореЙрдбреЗрд▓рдЪреНрдпрд╛ рдлреЙрд░рдореЕрдЯрдордзреНрдпреЗ рдНрдХреНрд╕реЗрд╕ рдХрд░рдгреЗ рд╢рдХреНрдп рдирд╛рд╣реА, рдЬрд╕реЗ рдХреА рдЕрд╕реЗ рдХрд╛рд╣реАрддрд░реА рд╕реНрдкрд╖реНрдЯ рдХреЗрд▓реЗ рдЖрд╣реЗ:

рдорд▓реНрдЯреА-рдореЙрдбреЗрд▓ рдбреАрдмреАрдПрдордПрд╕ рдЖрдзреБрдирд┐рдХ рдорд╛рд╣рд┐рддреА рдкреНрд░рдгрд╛рд▓реАрдЪрд╛ рдЖрдзрд╛рд░ рдЖрд╣реЗрдд рдХрд╛?

рдЕрд╢рд╛рдкреНрд░рдХрд╛рд░реЗ, Azure CosmosDB рдордзреАрд▓ рдорд▓реНрдЯреА-рдореЙрдбреЗрд▓ рдЖрдЬ рдПрдХрд╛ рдирд┐рд░реНрдорд╛рддреНрдпрд╛рдХрдбреВрди рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдореЙрдбреЗрд▓реНрд╕рдирд╛ рд╕рдорд░реНрдерди рджреЗрдгрд╛рд░реЗ рдЕрдиреЗрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рдЖрд╣реЗ, рдЬреЗ рдорд▓реНрдЯреА-рд╡реНрд╣реЗрд░рд┐рдпрдВрдЯ рд╕реНрдЯреЛрд░реЗрдЬрдЪреНрдпрд╛ рд╕рд░реНрд╡ рд╕рдорд╕реНрдпрд╛ рд╕реЛрдбрд╡рдд рдирд╛рд╣реА.

рдЖрд▓реЗрдЦ рдореЙрдбреЗрд▓рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдорд▓реНрдЯреА-рдореЙрдбреЗрд▓ рдбреАрдмреАрдПрдордПрд╕?

рд▓рдХреНрд╖рдгреАрдп рд╡рд╕реНрддреБрд╕реНрдерд┐рддреА рдЕрд╢реА рдЖрд╣реЗ рдХреА рдмрд╛рдЬрд╛рд░рд╛рдд рдЕрджреНрдпрд╛рдк рдХреЛрдгрддреЗрд╣реА рдорд▓реНрдЯреА-рдореЙрдбреЗрд▓ рдбреАрдмреАрдПрдордПрд╕ рдирд╛рд╣реАрдд рдЬреЗ рдЖрд▓реЗрдЦ рдореЙрдбреЗрд▓рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЖрд╣реЗрдд (рдПрдХрд╛рдЪ рд╡реЗрд│реА рджреЛрди рдЖрд▓реЗрдЦ рдореЙрдбреЗрд▓рд╕рд╛рдареА рдорд▓реНрдЯреА-рдореЙрдбреЗрд▓ рд╕рдорд░реНрдерди рд╡рдЧрд│рддрд╛: RDF рдЖрдгрд┐ LPG; рд╣реЗ рдкрд╣рд╛ рдорд╛рдЧреАрд▓ рдкреНрд░рдХрд╛рд╢рди). рд╕рд░реНрд╡рд╛рдд рдореЛрдареА рдЕрдбрдЪрдг рд╕рдВрдмрдВрдзрд┐рдд рдореЙрдбреЗрд▓рдЪреНрдпрд╛ рдРрд╡рдЬреА рдЧреНрд░рд╛рдл рдореЙрдбреЗрд▓рдЪреНрдпрд╛ рд╢реАрд░реНрд╖рд╕реНрдерд╛рдиреА рджрд╕реНрддрдРрд╡рдЬ рдореЙрдбреЗрд▓рдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдореБрд│реЗ рдЙрджреНрднрд╡рддреЗ.

рдЖрд▓реЗрдЦ рдореЙрдбреЗрд▓рдЪреНрдпрд╛ рд╢реАрд░реНрд╖рд╕реНрдерд╛рдиреА рд░рд┐рд▓реЗрд╢рдирд▓ рдореЙрдбреЗрд▓ рдХрд╕реЗ рдЕрдВрдорд▓рд╛рдд рдЖрдгрд╛рдпрдЪреЗ рд╣рд╛ рдкреНрд░рд╢реНрди рдирдВрддрд░рдЪреНрдпрд╛ рдирд┐рд░реНрдорд┐рддреА рджрд░рдореНрдпрд╛рди рджреЗрдЦреАрд▓ рд╡рд┐рдЪрд╛рд░рд╛рдд рдШреЗрддрд▓рд╛ рдЧреЗрд▓рд╛. рдХрд╕реЗ рдмреЛрд▓рд▓реЗрдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде рдбреЗрд╡реНрд╣рд┐рдб рдореЕрдХрдЧрд╡реНрд╣рд░реНрди:

рдЖрд▓реЗрдЦрд╛рдЪреНрдпрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдирд╛рдордзреНрдпреЗ рдЕрдВрддрд░реНрднреВрдд рдЕрд╕реЗ рдХрд╛рд╣реАрд╣реА рдирд╛рд╣реА рдЬреЗ рдЖрд▓реЗрдЦ рдбреЗрдЯрд╛рдмреЗрд╕рд╡рд░ рдПрдХ рд╕реНрддрд░ (рдЙрджрд╛. рдпреЛрдЧреНрдп рдЕрдиреБрдХреНрд░рдордгрд┐рдХреЗрджреНрд╡рд╛рд░реЗ) рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рддреЗ рдЬреЗ (1) рдиреЗрд╣рдореАрдЪреНрдпрд╛ рдХреА рд╡реНрд╣реЕрд▓реНрдпреВ рдЬреЛрдбреНрдпрд╛рдВрдордзреВрди рдЯреНрдпреБрдкрд▓реНрд╕рдЪреА рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддреА рдЖрдгрд┐ (2) рдЧрдЯрдмрджреНрдзрддреЗрд╕рд╣ рдПрдХ рд╕рдВрдмрдВрдзрд╛рддреНрдордХ рджреГрд╢реНрдп рд╕рдХреНрд╖рдо рдХрд░рддреЗ. рд╕рдВрдмрдВрдз рдкреНрд░рдХрд╛рд░рд╛рдиреБрд╕рд╛рд░ tuples.

рдЖрд▓реЗрдЦ рдореЙрдбреЗрд▓рдЪреНрдпрд╛ рд╢реАрд░реНрд╖рд╕реНрдерд╛рдиреА рджрд╕реНрддрдРрд╡рдЬ рдореЙрдбреЗрд▓ рд▓рд╛рдЧреВ рдХрд░рддрд╛рдирд╛, рдЖрдкрдг рд▓рдХреНрд╖рд╛рдд рдареЗрд╡рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЦрд╛рд▓реАрд▓:

  • JSON рдЕреЕрд░реЗрдЪреЗ рдШрдЯрдХ рдХреНрд░рдордмрджреНрдз рдорд╛рдирд▓реЗ рдЬрд╛рддрд╛рдд, рдкрд░рдВрддреБ рдЖрд▓реЗрдЦрд╛рдЪреНрдпрд╛ рдХрд╛рдард╛рдЪреНрдпрд╛ рд╢рд┐рд░реЛрдмрд┐рдВрджреВрдкрд╛рд╕реВрди рдирд┐рдШрдгрд╛рд░реЗ рдШрдЯрдХ рдирд╛рд╣реАрдд;
  • рджрд╕реНрддрдРрд╡рдЬ рдореЙрдбреЗрд▓рдордзреАрд▓ рдбреЗрдЯрд╛ рд╕рд╛рдорд╛рдиреНрдпрддрдГ рд╡рд┐рдХреГрдд рдХреЗрд▓рд╛ рдЬрд╛рддреЛ; рдЖрдкрдг рдЕрджреНрдпрд╛рдк рд╕рдорд╛рди рдПрдореНрдмреЗрдб рдХреЗрд▓реЗрд▓реНрдпрд╛ рджрд╕реНрддрдРрд╡рдЬрд╛рдЪреНрдпрд╛ рдЕрдиреЗрдХ рдкреНрд░рддреА рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░реВ рдЗрдЪреНрдЫрд┐рдд рдирд╛рд╣реА рдЖрдгрд┐ рдЙрдкрджрд╕реНрддрдРрд╡рдЬрд╛рдВрдирд╛ рд╕рд╣рд╕рд╛ рдЕрднрд┐рдЬреНрдЮрд╛рдкрдХ рдирд╕рддрд╛рдд;
  • рджреБрд╕рд░реАрдХрдбреЗ, рджрд╕реНрддрдРрд╡рдЬ DBMSs рдЪреА рд╡рд┐рдЪрд╛рд░рдзрд╛рд░рд╛ рдЕрд╢реА рдЖрд╣реЗ рдХреА рджрд╕реНрддрдРрд╡рдЬ рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реЗ "рдПрдХрддреНрд░рд┐рдд" рдЕрд╕рддрд╛рдд рдЬреНрдпрд╛рдВрдирд╛ рдкреНрд░рддреНрдпреЗрдХ рд╡реЗрд│реА рдирд╡реАрди рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╕рддреЗ. рддрдпрд╛рд░ рджрд╕реНрддрдРрд╡рдЬрд╛рд╢реА рд╕рдВрдмрдВрдзрд┐рдд рд╕рдмрдЧреНрд░рд╛рдл рджреНрд░реБрддрдкрдгреЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдХреНрд╖рдорддреЗрд╕рд╣ рдЖрд▓реЗрдЦ рдореЙрдбреЗрд▓ рдкреНрд░рджрд╛рди рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

рдереЛрдбреА рдЬрд╛рд╣рд┐рд░рд╛рдд

рд▓реЗрдЦрд╛рдЪрд╛ рд▓реЗрдЦрдХ рдирд╛рдпрдЯреНрд░реЛрд╕рдмреЗрд╕ рдбреАрдмреАрдПрдордПрд╕рдЪреНрдпрд╛ рд╡рд┐рдХрд╛рд╕рд╛рд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдЖрд╣реЗ, рдЬреНрдпрд╛рдЪреЗ рдЕрдВрддрд░реНрдЧрдд рдореЙрдбреЗрд▓ рдЖрд▓реЗрдЦ рдЖрд╣реЗ рдЖрдгрд┐ рдмрд╛рд╣реНрдп рдореЙрдбреЗрд▓ - рд░рд┐рд▓реЗрд╢рдирд▓ рдЖрдгрд┐ рдбреЙрдХреНрдпреБрдореЗрдВрдЯ - рддреНрдпрд╛рдЪреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдЖрд╣реЗрдд. рд╕рд░реНрд╡ рдореЙрдбреЗрд▓реНрд╕ рд╕рдорд╛рди рдЖрд╣реЗрдд: рдЬрд╡рд│рдЬрд╡рд│ рдХреЛрдгрддрд╛рд╣реА рдбреЗрдЯрд╛ рддреНрдпрд╛рдВрдЪреНрдпрд╛рдкреИрдХреА рдХреЛрдгрддреНрдпрд╛рд╣реАрдордзреНрдпреЗ рдХреНрд╡реЗрд░реА рднрд╛рд╖рд╛ рд╡рд╛рдкрд░реВрди рдЙрдкрд▓рдмреНрдз рдЖрд╣реЗ рдЬреА рдиреИрд╕рд░реНрдЧрд┐рдХ рдЖрд╣реЗ. рд╢рд┐рд╡рд╛рдп, рдХреЛрдгрддреНрдпрд╛рд╣реА рджреГрд╢реНрдпрд╛рдд, рдбреЗрдЯрд╛ рдмрджрд▓рд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ. рдмрджрд▓ рдЕрдВрддрд░реНрдЧрдд рдореЙрдбреЗрд▓рдордзреНрдпреЗ рдЖрдгрд┐ рддреНрдпрд╛рдиреБрд╕рд╛рд░, рдЗрддрд░ рджреГрд╢реНрдпрд╛рдВрдордзреНрдпреЗ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рд╣реЛрддреАрд▓.

рдЦрд╛рд▓реАрд▓рдкреИрдХреА рдПрдХрд╛ рд▓реЗрдЦрд╛рдд рдореА NitrosBase рдордзреНрдпреЗ рдореЙрдбреЗрд▓ рдЬреБрд│рдгрд╛рд░реЗ рдХрд╕реЗ рджрд┐рд╕рддреЗ рдпрд╛рдЪреЗ рдЖрд╢реЗрдиреЗ рд╡рд░реНрдгрди рдХрд░реЗрди.

рдирд┐рд╖реНрдХрд░реНрд╖

рдорд▓рд╛ рдЖрд╢рд╛ рдЖрд╣реЗ рдХреА рдЬреНрдпрд╛рд▓рд╛ рдорд▓реНрдЯреА-рдореЙрдбреЗрд▓рд┐рдВрдЧ рдореНрд╣рдгрддрд╛рдд рддреНрдпрд╛рдЪреА рд╕рд╛рдорд╛рдиреНрдп рд░реВрдкрд░реЗрд╖рд╛ рд╡рд╛рдЪрдХрд╛рдВрд╕рд╛рдареА рдХрдореА-рдЕрдзрд┐рдХ рдкреНрд░рдорд╛рдгрд╛рдд рд╕реНрдкрд╖реНрдЯ рдЭрд╛рд▓реА рдЖрд╣реЗ. рдорд▓реНрдЯреА-рдореЙрдбреЗрд▓ DBMS рдЦреВрдк рднрд┐рдиреНрди рдЖрд╣реЗрдд рдЖрдгрд┐ тАЬрдорд▓реНрдЯреА-рдореЙрдбреЗрд▓ рд╕рдкреЛрд░реНрдЯтАЭ рднрд┐рдиреНрди рджрд┐рд╕реВ рд╢рдХрддрд╛рдд. рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рдХрд░рдгрд╛рдд "рдорд▓реНрдЯреА-рдореЙрдбреЗрд▓" рдХрд╛рдп рдореНрд╣рдгрддрд╛рдд рд╣реЗ рд╕рдордЬреВрди рдШреЗрдгреНрдпрд╛рд╕рд╛рдареА, рдЦрд╛рд▓реАрд▓ рдкреНрд░рд╢реНрдирд╛рдВрдЪреА рдЙрддреНрддрд░реЗ рджреЗрдгреЗ рдЙрдкрдпреБрдХреНрдд рдЖрд╣реЗ:

  1. рдЖрдореНрд╣реА рдкрд╛рд░рдВрдкрд╛рд░рд┐рдХ рдореЙрдбреЗрд▓ рдХрд┐рдВрд╡рд╛ "рд╣рд╛рдпрдмреНрд░рд┐рдб" рдореЙрдбреЗрд▓рдЪреЗ рд╕рдорд░реНрдерди рдХрд░рдгреНрдпрд╛рдмрджреНрджрд▓ рдмреЛрд▓рдд рдЖрд╣реЛрдд?
  2. рдореЙрдбреЗрд▓ "рд╕рдорд╛рди" рдЖрд╣реЗрдд рдХрд┐рдВрд╡рд╛ рддреНрдпрд╛рдкреИрдХреА рдПрдХ рдЗрддрд░рд╛рдВрдЪрд╛ рд╡рд┐рд╖рдп рдЖрд╣реЗ?
  3. рдореЙрдбреЗрд▓ рдПрдХрдореЗрдХрд╛рдВрдмрджреНрджрд▓ "рдЙрджрд╛рд╕реАрди" рдЖрд╣реЗрдд рдХрд╛? рдПрдХрд╛ рдореЙрдбреЗрд▓рдордзреНрдпреЗ рд▓рд┐рд╣рд┐рд▓реЗрд▓рд╛ рдбреЗрдЯрд╛ рджреБрд╕рд░реНтАНрдпрд╛ рдореЙрдбреЗрд▓рдордзреНрдпреЗ рд╡рд╛рдЪрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ рдХрд┐рдВрд╡рд╛ рдЕрдЧрджреА рдУрд╡реНрд╣рд░рд░рд╛рдИрдЯ рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ?

рдорд▓рд╛ рд╡рд╛рдЯрддреЗ рдХреА рдорд▓реНрдЯреА-рдореЙрдбреЗрд▓ рдбреАрдмреАрдПрдордПрд╕рдЪреНрдпрд╛ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддреЗрдмрджреНрджрд▓рдЪреНрдпрд╛ рдкреНрд░рд╢реНрдирд╛рдЪреЗ рдЖрдзреАрдЪ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдЙрддреНрддрд░ рджрд┐рд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ, рдкрд░рдВрддреБ рдордиреЛрд░рдВрдЬрдХ рдкреНрд░рд╢реНрди рд╣рд╛ рдЖрд╣реЗ рдХреА рдирдЬреАрдХрдЪреНрдпрд╛ рднрд╡рд┐рд╖реНрдпрд╛рдд рддреНрдпрд╛рдкреИрдХреА рдХреЛрдгрддреНрдпрд╛ рдкреНрд░рдХрд╛рд░рд╛рдВрдирд╛ рдЕрдзрд┐рдХ рдорд╛рдЧрдгреА рдЕрд╕реЗрд▓. рдЕрд╕реЗ рджрд┐рд╕рддреЗ рдХреА рдмрд╣реБ-рдореЙрдбреЗрд▓ рдбреАрдмреАрдПрдордПрд╕ рдЬреЗ рдкрд╛рд░рдВрдкрд╛рд░рд┐рдХ рдореЙрдбреЗрд▓рдЪреЗ рд╕рдорд░реНрдерди рдХрд░рддрд╛рдд, рдкреНрд░рд╛рдореБрдЦреНрдпрд╛рдиреЗ рд░рд┐рд▓реЗрд╢рдирд▓, рдЕрдзрд┐рдХ рдорд╛рдЧрдгреА рдЕрд╕реЗрд▓; рдмрд╣реБ-рдореЙрдбреЗрд▓ рдбреАрдмреАрдПрдордПрд╕рдЪреА рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛, рд╡рд┐рд╡рд┐рдз рдкрд╛рд░рдВрдкрд╛рд░рд┐рдХ рд▓реЛрдХрд╛рдВрдЪреЗ рдлрд╛рдпрджреЗ рдПрдХрддреНрд░рд┐рдд рдХрд░рдгрд╛рд░реЗ рдирд╡реАрди рдореЙрдбреЗрд▓ рдСрдлрд░ рдХрд░рдгреЗ, рд╣реА рдЕрдзрд┐рдХ рджреВрд░рдЪреНрдпрд╛ рднрд╡рд┐рд╖реНрдпрд╛рддреАрд▓ рдмрд╛рдм рдЖрд╣реЗ.

рдХреЗрд╡рд│ рдиреЛрдВрджрдгреАрдХреГрдд рд╡рд╛рдкрд░рдХрд░реНрддреЗрдЪ рд╕рд░реНрд╡реЗрдХреНрд╖рдгрд╛рдд рднрд╛рдЧ рдШреЗрдК рд╢рдХрддрд╛рдд. рд╕рд╛рдЗрди рдЗрди рдХрд░рд╛, рдЖрдкрд▓реЗ рд╕реНрд╡рд╛рдЧрдд рдЖрд╣реЗ.

рддреБрдореНрд╣реА рдорд▓реНрдЯреА-рдореЙрдбреЗрд▓ DBMS рд╡рд╛рдкрд░рддрд╛ рдХрд╛?

  • рдЖрдореНрд╣реА рддреЗ рд╡рд╛рдкрд░рдд рдирд╛рд╣реА, рдЖрдореНрд╣реА рд╕рд░реНрд╡ рдХрд╛рд╣реА рдПрдХрд╛ DBMS рдЖрдгрд┐ рдПрдХрд╛ рдореЙрдбреЗрд▓рдордзреНрдпреЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рддреЛ

  • рдЖрдореНрд╣реА рдкрд╛рд░рдВрдкрд╛рд░рд┐рдХ DBMS рдЪреНрдпрд╛ рдорд▓реНрдЯреА-рдореЙрдбреЗрд▓ рдХреНрд╖рдорддрд╛ рд╡рд╛рдкрд░рддреЛ

  • рдЖрдореНрд╣реА рдкреЙрд▓реАрдЧреНрд▓реЙрдЯ рдЪрд┐рдХрд╛рдЯреАрдЪрд╛ рд╕рд░рд╛рд╡ рдХрд░рддреЛ

  • рдЖрдореНрд╣реА рдирд╡реАрди рдорд▓реНрдЯреА-рдореЙрдбреЗрд▓ DBMS (Arango, Orient, CosmosDB) рд╡рд╛рдкрд░рддреЛ

19 рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдиреА рдорддрджрд╛рди рдХреЗрд▓реЗ. 4 рд╡рд╛рдкрд░рдХрд░реНрддреЗ рджреВрд░ рд░рд╛рд╣рд┐рд▓реЗ.

рд╕реНрддреНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛