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

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

рдпрджрд┐ рдЖрдкрдХреЛ рдЕрднреА рддрдХ рддрд░реНрдХ рдореЗрдВ рдХреЛрдИ рджреЛрд╖ рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИ, рддреЛ рдЖрдЧреЗ рдкрдврд╝реЗрдВред

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


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

рдмрд╣реБрднрд╛рд╖реА рджреГрдврд╝рддрд╛
рдмрд╣реБ рдореЙрдбрд▓
рд░рд┐рд▓реЗрд╢рдирд▓ рдореЙрдбрд▓ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдорд▓реНрдЯреА-рдореЙрдбрд▓ DBMS
     MS SQL рд╕рд░реНрд╡рд░ рдореЗрдВ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЙрдбрд▓
     MS SQL рд╕рд░реНрд╡рд░ рдореЗрдВ рдЧреНрд░рд╛рдлрд╝ рдореЙрдбрд▓
рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЙрдбрд▓ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдорд▓реНрдЯреА-рдореЙрдбрд▓ DBMS
     рдорд╛рд░реНрдХрд▓реЙрдЬрд┐рдХ рдореЗрдВ рд░рд┐рд▓реЗрд╢рдирд▓ рдореЙрдбрд▓
     рдорд╛рд░реНрдХрд▓реЙрдЬрд┐рдХ рдореЗрдВ рдЧреНрд░рд╛рдлрд╝ рдореЙрдбрд▓
рдорд▓реНрдЯреА-рдореЙрдбрд▓ DBMS "рдмрд┐рдирд╛ рдореБрдЦреНрдп рдореЙрдбрд▓ рдХреЗ"
     рдЕрд░рдВрдЧреЛрдбреАрдмреА
     OrientDB
     рдПрдЬрд╝реНрдпреЛрд░ рдХреЙрд╕рдореЙрд╕рдбреАрдмреА
рдЧреНрд░рд╛рдлрд╝ рдореЙрдбрд▓ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдорд▓реНрдЯреА-рдореЙрдбрд▓ DBMS?
рдирд┐рд╖реНрдХрд░реНрд╖
╨Ю╨┐╤А╨╛╤Б

рдмрд╣реБрднрд╛рд╖реА рджреГрдврд╝рддрд╛

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

рдлрд╛рдЙрд▓рд░ рдХреЗ рдкрд╛рд╕ рдИ-рдХреЙрдорд░реНрд╕ рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдкреВрд░реНрдг-рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рд╡рд╛рд▓реЗ рдФрд░ рдЙрдЪреНрдЪ-рд▓реЛрдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдбреЗрдЯрд╛ рднрдВрдбрд╛рд░рдг рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХрд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рднреА рд╣реИред

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

рдпрд╣ рдЙрджрд╛рд╣рд░рдг, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдХреБрдЫ рд╣рдж рддрдХ рдЕрддрд┐рд░рдВрдЬрд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдВрдмрдВрдзрд┐рдд рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП рдПрдХ рдпрд╛ рджреВрд╕рд░реЗ рдбреАрдмреАрдПрдордПрд╕ рдХреЛ рдЪреБрдирдиреЗ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рдХреБрдЫ рд╡рд┐рдЪрд╛рд░ рдкрд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдВ.

рд╕рд╛рдлрд╝ рд╣реИ рдХрд┐ рдРрд╕реЗ рдЪрд┐рдбрд╝рд┐рдпрд╛рдШрд░ рдореЗрдВ рдиреМрдХрд░ рдмрдирдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИред

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

рдЪрд┐рдбрд╝рд┐рдпрд╛рдШрд░ рдирд┐рджреЗрд╢рдХ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рд╕рдм рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

  • рдбреАрдмреАрдПрдордПрд╕ рдирд┐рд░реНрдорд╛рддрд╛ рд╕реЗ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдФрд░ рддрдХрдиреАрдХреА рд╕рд╣рд╛рдпрддрд╛ рдХреА рд▓рд╛рдЧрдд рдореЗрдВ рдХрдИ рдЧреБрдирд╛ рд╡реГрджреНрдзрд┐ред
  • рдЬрд░реВрд░рдд рд╕реЗ рдЬреНрдпрд╛рджрд╛ рд╕реНрдЯрд╛рдл рдФрд░ рдмрдврд╝реА рд╣реБрдИ рд╕рдордп рд╕реАрдорд╛ред
  • рдбреЗрдЯрд╛ рдЕрд╕рдВрдЧрддрд┐ рдХреЗ рдХрд╛рд░рдг рдкреНрд░рддреНрдпрдХреНрд╖ рд╡рд┐рддреНрддреАрдп рд╣рд╛рдирд┐ рдпрд╛ рдЬреБрд░реНрдорд╛рдирд╛ред

рд╕рд┐рд╕реНрдЯрдо рдХреА рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдХреА рдХреБрд▓ рд▓рд╛рдЧрдд (TCO) рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд╡реГрджреНрдзрд┐ рд╣реБрдИ рд╣реИред рдХреНрдпрд╛ "рдПрдХрд╛рдзрд┐рдХ рднрдВрдбрд╛рд░рдг рд╡рд┐рдХрд▓реНрдк" рдХреА рд╕реНрдерд┐рддрд┐ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХрд╛ рдХреЛрдИ рд░рд╛рд╕реНрддрд╛ рд╣реИ?

рдмрд╣реБ рдореЙрдбрд▓

"рдорд▓реНрдЯреАрд╡реЗрд░рд┐рдПрдЯ рд╕реНрдЯреЛрд░реЗрдЬ" рд╢рдмреНрдж 2011 рдореЗрдВ рдкреНрд░рдпреЛрдЧ рдореЗрдВ рдЖрдпрд╛ред рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдЧрд░реВрдХрддрд╛ рдФрд░ рд╕рдорд╛рдзрд╛рди рдХреА рдЦреЛрдЬ рдореЗрдВ рдХрдИ рд╕рд╛рд▓ рд▓рдЧ рдЧрдП, рдФрд░ 2015 рддрдХ, рдЧрд╛рд░реНрдЯрдирд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдХреЛрдВ рдХреЗ рдореБрдВрд╣ рд╕реЗ, рдЙрддреНрддрд░ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:

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

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

рдбреАрдмреАрдПрдордПрд╕ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдореЙрдбрд▓ рдЕрддрд┐рд░рд┐рдХреНрдд рдореЙрдбрд▓
рдУрд░реЗрдХрд▓ рд░рд┐рд▓реЗрд╢рдирд▓ рдЧреНрд░рд╛рдлрд╝, рджрд╕реНрддрд╛рд╡реЗрдЬрд╝
MS SQL рд░рд┐рд▓реЗрд╢рдирд▓ рдЧреНрд░рд╛рдлрд╝, рджрд╕реНрддрд╛рд╡реЗрдЬрд╝
рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдПрд╕рдХреНрдпреВрдПрд▓ рд░рд┐рд▓реЗрд╢рдирд▓ рдЧреНрд░рд╛рдл*, рджрд╕реНрддрд╛рд╡реЗрдЬрд╝
рдорд╛рд░реНрдХрд▓реЙрдЬрд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реА рдЧреНрд░рд╛рдлрд╝, рд╕рдВрдмрдВрдзрдкрд░рдХ
MongoDB рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реА рдХреБрдВрдЬреА-рдореВрд▓реНрдп, рдЧреНрд░рд╛рдл*
DataStax рд╡рд┐рд╕реНрддреГрдд рд╕реНрддрдореНрдн рд╡реГрддреНрддрдЪрд┐рддреНрд░, рдЧреНрд░рд╛рдл
Redis рдореМрд▓рд┐рдХ рдореВрд▓реНрдп рд╡реГрддреНрддрдЪрд┐рддреНрд░, рдЧреНрд░рд╛рдл*
рдЕрд░рдВрдЧреЛрдбреАрдмреА - рдЧреНрд░рд╛рдлрд╝, рджрд╕реНрддрд╛рд╡реЗрдЬрд╝
OrientDB - рдЧреНрд░рд╛рдлрд╝, рджрд╕реНрддрд╛рд╡реЗрдЬрд╝, рд╕рдВрдмрдВрдзрдкрд░рдХ
рдПрдЬрд╝реНрдпреЛрд░ рдХреЙрд╕рдореЙрд╕рдбреАрдмреА - рдЧреНрд░рд╛рдлрд╝, рджрд╕реНрддрд╛рд╡реЗрдЬрд╝, рд╕рдВрдмрдВрдзрдкрд░рдХ

рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд▓рд┐рдП рдиреЛрдЯ

рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рддрд╛рд░рд╛рдВрдХрди рдЙрди рдХрдердиреЛрдВ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рдирдХреЗ рд▓рд┐рдП рдЖрд░рдХреНрд╖рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ:

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

рдЖрдЧреЗ, рдкреНрд░рддреНрдпреЗрдХ рд╡рд░реНрдЧ рдХреЗ рд▓рд┐рдП, рд╣рдо рджрд┐рдЦрд╛рдПрдВрдЧреЗ рдХрд┐ рдЗрд╕ рд╡рд░реНрдЧ рд╕реЗ рдбреАрдмреАрдПрдордПрд╕ рдореЗрдВ рдХрдИ рдореЙрдбрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдо рд╕рдВрдмрдВрдзрдкрд░рдХ, рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдФрд░ рдЧреНрд░рд╛рдлрд╝ рдореЙрдбрд▓ рдХреЛ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдорд╛рдиреЗрдВрдЧреЗ рдФрд░ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдбреАрдмреАрдПрдордПрд╕ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рджрд┐рдЦрд╛рдПрдВрдЧреЗ рдХрд┐ "рд▓рд╛рдкрддрд╛ рд╡рд╛рд▓реЗ" рдХреИрд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред

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

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

рд╣рд╛рд▓рд╛рдБрдХрд┐, рд▓реЗрдЦрдХ Microsoft SQL рд╕рд░реНрд╡рд░ рдореЗрдВ рдорд▓реНрдЯреА-рдореЙрдбрд▓рд┐рдВрдЧ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдЙрджрд╛рд╣рд░рдг рдкрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдФрд░ рдЧреНрд░рд╛рдлрд╝ рдореЙрдбрд▓ рдХреЗ рд▓рд┐рдП RDBMS рд╕рдорд░реНрдерди рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

MS SQL рд╕рд░реНрд╡рд░ рдореЗрдВ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЙрдбрд▓

рдПрдордПрд╕ рдПрд╕рдХреНрдпреВрдПрд▓ рд╕рд░реНрд╡рд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЙрдбрд▓ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИрдмреЗ рдкрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рджреЛ рдЙрддреНрдХреГрд╖реНрдЯ рд▓реЗрдЦ рд╣реИрдВ; рдореИрдВ рдЦреБрдж рдХреЛ рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд░реАрдЯреЗрд▓рд┐рдВрдЧ рдФрд░ рдЯрд┐рдкреНрдкрдгреА рддрдХ рд╕реАрдорд┐рдд рд░рдЦреВрдВрдЧрд╛:

MS SQL рд╕рд░реНрд╡рд░ рдореЗрдВ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЙрдбрд▓ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рд░рд┐рд▓реЗрд╢рдирд▓ DBMS рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИ: JSON рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдЯреЗрдХреНрд╕реНрдЯ рдлрд╝реАрд▓реНрдб рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд╣реИред рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЙрдбрд▓ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЗрд╕ JSON рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреЛ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рд╣реИ:

  • JSON_VALUE рдЕрджрд┐рд╢ рд╡рд┐рд╢реЗрд╖рддрд╛ рдорд╛рди рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП,
  • JSON_QUERY рдЙрдк-рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП.

рджреЛрдиреЛрдВ рдСрдкрд░реЗрдЯрд░реЛрдВ рдХрд╛ рджреВрд╕рд░рд╛ рддрд░реНрдХ JSONPath-рдЬреИрд╕реЗ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдореЗрдВ рдПрдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╣реИред

рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рд╣рдо рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЯреБрдкрд▓реНрд╕ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╕рдВрдЧреНрд░рд╣реАрдд рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд░рд┐рд▓реЗрд╢рдирд▓ рдбреАрдмреАрдПрдордПрд╕ рдореЗрдВ "рдкреНрд░рдердо рд╢реНрд░реЗрдгреА рдХреА рд╕рдВрд╕реНрдерд╛рдПрдВ" рдирд╣реАрдВ рд╣реИрдВред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, MS SQL рд╕рд░реНрд╡рд░ рдореЗрдВ JSON рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреЗ рдлрд╝реАрд▓реНрдб рдкрд░ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХреЛрдИ рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдирд╣реАрдВ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЗрди рдлрд╝реАрд▓реНрдб рдХреЗ рдорд╛рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдирд╛ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЗрди рдорд╛рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рднреА рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдРрд╕реЗ рдлрд╝реАрд▓реНрдб рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд░рд┐рдХрд▓рд┐рдд рдХреЙрд▓рдо рдФрд░ рдЙрд╕ рдкрд░ рдПрдХ рдЗрдВрдбреЗрдХреНрд╕ рдмрдирд╛рдирд╛ рд╕рдВрднрд╡ рд╣реИред

рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, MS SQL рд╕рд░реНрд╡рд░ рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреА рд╕рд╛рдордЧреНрд░реА рд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ JSON рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдмрдирд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ FOR JSON PATH - рдПрдХ рд╕рдВрднрд╛рд╡рдирд╛, рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЕрд░реНрде рдореЗрдВ, рдкрд┐рдЫрд▓реЗ рдПрдХ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдкрд╛рд░рдВрдкрд░рд┐рдХ рднрдВрдбрд╛рд░рдгред рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдЖрд░рдбреАрдмреАрдПрдордПрд╕ рдХрд┐рддрдирд╛ рднреА рддреЗрдЬрд╝ рдХреНрдпреЛрдВ рди рд╣реЛ, рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдбреАрдмреАрдПрдордПрд╕ рдХреА рд╡рд┐рдЪрд╛рд░рдзрд╛рд░рд╛ рдХрд╛ рдЦрдВрдбрди рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рддреИрдпрд╛рд░ рдЙрддреНрддрд░реЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдХреЗрд╡рд▓ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдЖрд╕рд╛рдиреА рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЧрддрд┐ рдХреЛ рдирд╣реАрдВред

рдЕрдВрдд рдореЗрдВ, MS SQL рд╕рд░реНрд╡рд░ рдЖрдкрдХреЛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдирд┐рд░реНрдорд╛рдг рдХреА рдЙрд▓рдЯреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ: рдЖрдк 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';

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдРрд╕реА рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдЗрди рдЧреНрд░рд╛рдлрд╝ рдкреИрдЯрд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░рдирд╛ рдХрд╛рдлреА рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рд╛рдорд╛рдиреНрдп SQL рдкреНрд░рд╢реНрдиреЛрдВ рдореЗрдВ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рд╕реНрдЯрдо "рдЧреНрд░рд╛рдлрд╝" рдиреЛрдб рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдЧрд╛ ($node_id, $from_id, $to_id; рдЗрд╕реА рдХрд╛рд░рдг рд╕реЗ, рдбреЗрдЯрд╛ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╢реНрди рдпрд╣рд╛рдВ рдирд╣реАрдВ рджрд┐рдЦрд╛рдП рдЧрдП рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рдмреЛрдЭрд┐рд▓ рд╣реИрдВ)ред

рдПрдордПрд╕ рдПрд╕рдХреНрдпреВрдПрд▓ рд╕рд░реНрд╡рд░ рдореЗрдВ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдФрд░ рдЧреНрд░рд╛рдлрд╝ рдореЙрдбрд▓ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЛ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдиреЛрдЯ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдПрдХ рдореЙрдбрд▓ рдХреЗ рджреВрд╕рд░реЗ рдХреЗ рдКрдкрд░ рдРрд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕рдлрд▓ рдирд╣реАрдВ рд▓рдЧрддреЗ рд╣реИрдВ, рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рднрд╛рд╖рд╛ рдбрд┐рдЬрд╛рдЗрди рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗред рдПрдХ рднрд╛рд╖рд╛ рдХреЛ рджреВрд╕рд░реА рднрд╛рд╖рд╛ рдХреЗ рд╕рд╛рде рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рднрд╛рд╖рд╛рдПрдБ рдкреВрд░реА рддрд░рд╣ рд╕реЗ "рдСрд░реНрдереЛрдЧреЛрдирд▓" рдирд╣реАрдВ рд╣реИрдВ, рд╕рдВрдЧрддрддрд╛ рдирд┐рдпрдо рдХрд╛рдлреА рд╡рд┐рдЪрд┐рддреНрд░ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

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

рдЗрд╕ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ, рдореИрдВ рдЙрдирдореЗрдВ рд╕реЗ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдирд╣реАрдВ, MongoDB (рдЬреИрд╕рд╛ рдХрд┐ рдХрд╣рд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕рдореЗрдВ рдХреЗрд╡рд▓ рд╕рд╢рд░реНрдд рдЧреНрд░рд╛рдлрд╝ рдСрдкрд░реЗрдЯрд░ рд╣реИрдВ) рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ DBMS рдореЗрдВ рдорд▓реНрдЯреА-рдореЙрдбрд▓ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдЪрд┐рддреНрд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ $lookup ╨╕ $graphLookup, рд╢рд╛рд░реНрдб рд╕рдВрдЧреНрд░рд╣ рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ), рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ рдкрд░рд┐рдкрдХреНрд╡ рдФрд░ "рдЙрджреНрдпрдо" рдбреАрдмреАрдПрдордПрд╕ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ рдорд╛рд░реНрдХрд▓реЙрдЬрд┐рдХ.

рддреЛ, рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рдирд┐рдореНрди рдкреНрд░рдХрд╛рд░ рдХреЗ XML рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рджреЗрдВ (MarkLogic рдЖрдкрдХреЛ JSON рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреА рднреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ):

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

рдорд╛рд░реНрдХрд▓реЙрдЬрд┐рдХ рдореЗрдВ рд░рд┐рд▓реЗрд╢рдирд▓ рдореЙрдбрд▓

рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреЗ рд╕рдВрдЧреНрд░рд╣ рдХрд╛ рдПрдХ рд╕рдВрдмрдВрдзрдкрд░рдХ рджреГрд╢реНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдкреНрд░рджрд░реНрд╢рди рдЯреЗрдореНрдкрд▓реЗрдЯ (рддрддреНрд╡реЛрдВ рдХреА рд╕рд╛рдордЧреНрд░реА 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"

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

рдорд╛рд░реНрдХрд▓реЙрдЬрд┐рдХ рдореЗрдВ рдЧреНрд░рд╛рдлрд╝ рдореЙрдбрд▓

рдЧреНрд░рд╛рдлрд╝ (рдЖрд░рдбреАрдПрдл) рдореЙрдбрд▓ рдХреЗ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде, рд╕рдм рдХреБрдЫ рд▓рдЧрднрдЧ рд╕рдорд╛рди рд╣реИред рдлрд┐рд░ рд╕реЗ рдорджрдж рд╕реЗ рдкреНрд░рджрд░реНрд╢рди рдЯреЗрдореНрдкрд▓реЗрдЯ рдЖрдк рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдг рд╕реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреЗ рд╕рдВрдЧреНрд░рд╣ рдХрд╛ рдЖрд░рдбреАрдПрдл рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ:

<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. рд╡рд┐рд╢реЗрд╖ рдХреНрд░рдордмрджреНрдзрддрд╛ рдореЗрдВ рдЖрд░рдбреАрдПрдл рдХреЛ рдХреЗрд╡рд▓ XML рдпрд╛ JSON рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдореЗрдВ рдбрд╛рд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдФрд░ рдлрд┐рд░ рдЯреНрд░рд┐рдкрд▓ рдХреЛ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЕрдкреНрд░рдмрдВрдзрд┐рдд). рдпрд╣ рд╕рдВрднрд╡рддрдГ рддрдВрддреНрд░ рдХрд╛ рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╣реИ idref рдЖрджрд┐

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

рдорд▓реНрдЯреА-рдореЙрдбрд▓ DBMS "рдмрд┐рдирд╛ рдореБрдЦреНрдп рдореЙрдбрд▓ рдХреЗ"

рдмрд╛рдЬрд╝рд╛рд░ рдореЗрдВ рдРрд╕реЗ DBMS рднреА рд╣реИрдВ рдЬреЛ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╡рд┐рд░рд╛рд╕рдд рд╡рд╛рд▓реЗ рдореБрдЦреНрдп рдореЙрдбрд▓ рдХреЗ, рд╕реНрд╡рдпрдВ рдХреЛ рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ рдорд▓реНрдЯреА-рдореЙрдбрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдореЗ рд╢рд╛рдорд┐рд▓ рд╣реИ рдЕрд░рдВрдЧреЛрдбреАрдмреА, OrientDB (2018 рд╕реЗ рд╡рд┐рдХрд╛рд╕ рдХрдВрдкрдиреА SAP рдХреА рд╣реИ) рдФрд░ рдХреЙрд╕рдореЙрд╕рдбреАрдмреА (Microsoft Azure рдХреНрд▓рд╛рдЙрдб рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрд╡рд╛)ред

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, ArangoDB рдФрд░ OrientDB рдореЗрдВ "рдХреЛрд░" рдореЙрдбрд▓ рд╣реИрдВред рджреЛрдиреЛрдВ рд╣реА рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдпреЗ рдЙрдирдХреЗ рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдореЙрдбрд▓ рд╣реИрдВ, рдЬреЛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдПрдХ рдХрд╛ рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг рд╣реИрдВред рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЧреНрд░рд╛рдлрд╝ рдФрд░ рд╕рдВрдмрдВрдзрдкрд░рдХ рдкреНрд░рдХреГрддрд┐ рдХреЗ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИрдВред

рдпреЗ рдореЙрдбрд▓ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдбреАрдмреАрдПрдордПрд╕ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рдПрдХрдорд╛рддреНрд░ рдореЙрдбрд▓ рд╣реИрдВ; рдЙрдирдХреА рдЕрдкрдиреА рдХреНрд╡реЗрд░реА рднрд╛рд╖рд╛рдПрдВ рдЙрдирдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХреА рдЧрдИ рд╣реИрдВред рдмреЗрд╢рдХ, рдРрд╕реЗ рдореЙрдбрд▓ рдФрд░ рдбреАрдмреАрдПрдордПрд╕ рдЖрд╢рд╛рдЬрдирдХ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдорд╛рдирдХ рдореЙрдбрд▓ рдФрд░ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрддрддрд╛ рдХреА рдХрдореА рдЗрди рдбреАрдмреАрдПрдордПрд╕ рдХреЛ рд╡рд┐рд░рд╛рд╕рдд рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рдмрдирд╛ рджреЗрддреА рд╣реИ - рд╡рд╣рд╛рдВ рдкрд╣рд▓реЗ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдбреАрдмреАрдПрдордПрд╕ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

Habr├й рдкрд░ ArangoDB рдФрд░ OrientDB рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдЕрджреНрднреБрдд рд▓реЗрдЦ рдерд╛: NoSQL рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдВ.

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

ArangoDB рдЧреНрд░рд╛рдлрд╝ рдбреЗрдЯрд╛ рдореЙрдбрд▓ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХрд╛ рджрд╛рд╡рд╛ рдХрд░рддрд╛ рд╣реИред

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

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

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

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 рдореЗрдВ 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 рдЖрдВрддрд░рд┐рдХ рдореЙрдбрд▓ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕рд╣реЗрдЬрд╛ рдЧрдпрд╛ рд╣реИ: ARS ("рдкрд░рдорд╛рдгреБ-рд░рд┐рдХреЙрд░реНрдб-рдЕрдиреБрдХреНрд░рдо"), рдЬреЛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдПрдХ рдХреЗ рднреА рдХрд░реАрдм рд╣реИред

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

рд▓реЗрдХрд┐рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдЪреБрдирд╛ рдЧрдпрд╛ рдбреЗрдЯрд╛ рдореЙрдбрд▓ рдФрд░ рдЙрдкрдпреЛрдЧ рдХреА рдЧрдИ рдПрдкреАрдЖрдИ рд╕реЗрд╡рд╛ рдореЗрдВ рдЦрд╛рддрд╛ рдмрдирд╛рддреЗ рд╕рдордп рддрдп рдХреА рдЬрд╛рддреА рд╣реИред рдПрдХ рдореЙрдбрд▓ рдореЗрдВ рд▓реЛрдб рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдХреЛ рджреВрд╕рд░реЗ рдореЙрдбрд▓ рдХреЗ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдПрдХреНрд╕реЗрд╕ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╕реЗ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:

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

рдЗрд╕ рдкреНрд░рдХрд╛рд░, Azure CosmosDB рдореЗрдВ рдорд▓реНрдЯреА-рдореЙрдбрд▓ рдЖрдЬ рдХреЗрд╡рд▓ рдПрдХ рдирд┐рд░реНрдорд╛рддрд╛ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдореЙрдбрд▓реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрдИ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИ, рдЬреЛ рдорд▓реНрдЯреА-рд╡реЗрд░рд┐рдПрдВрдЯ рд╕реНрдЯреЛрд░реЗрдЬ рдХреА рд╕рднреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдЧреНрд░рд╛рдлрд╝ рдореЙрдбрд▓ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдорд▓реНрдЯреА-рдореЙрдбрд▓ DBMS?

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

рдЧреНрд░рд╛рдлрд╝ рдореЙрдбрд▓ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдПрдХ рд░рд┐рд▓реЗрд╢рдирд▓ рдореЙрдбрд▓ рдХреЛ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдП, рдЗрд╕ рд╕рд╡рд╛рд▓ рдкрд░ рдмрд╛рдж рдХреЗ рдЧрдарди рдХреЗ рджреМрд░рд╛рди рднреА рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдХреИрд╕реЗ ╨│╨╛╨▓╨╛╤А╨╕╨╗, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбреЗрд╡рд┐рдб рдореИрдХрдЧрд╡рд░реНрди:

рдЧреНрд░рд╛рдлрд╝ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрдВ рдРрд╕рд╛ рдХреБрдЫ рднреА рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдирд╣реАрдВ рд╣реИ рдЬреЛ рдЧреНрд░рд╛рдлрд╝ рдбреЗрдЯрд╛рдмреЗрд╕ рдкрд░ рдПрдХ рдкрд░рдд (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрдкрдпреБрдХреНрдд рдЕрдиреБрдХреНрд░рдордг рджреНрд╡рд╛рд░рд╛) рдмрдирд╛рдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИ рдЬреЛ (1) рд╕рд╛рдорд╛рдиреНрдп рдХреБрдВрдЬреА рдорд╛рди рдЬреЛрдбрд╝реЗ рд╕реЗ рдЯреБрдкрд▓реНрд╕ рдХреА рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдФрд░ (2) рд╕рдореВрд╣реАрдХрд░рдг рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдВрдмрдВрдзрдкрд░рдХ рджреГрд╢реНрдп рдХреЛ рд╕рдХреНрд╖рдо рдмрдирд╛рддрд╛ рд╣реИ рд╕рдВрдмрдВрдз рдкреНрд░рдХрд╛рд░ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЯреБрдкрд▓реНрд╕ред

рдЧреНрд░рд╛рдлрд╝ рдореЙрдбрд▓ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЙрдбрд▓ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╕рдордп, рдЖрдкрдХреЛ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдирд╛ рд╣реЛрдЧрд╛:

  • JSON рд╕рд░рдгреА рдХреЗ рддрддреНрд╡реЛрдВ рдХреЛ рдХреНрд░рдордмрджреНрдз рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЧреНрд░рд╛рдлрд╝ рдХреЗ рдХрд┐рдирд╛рд░реЗ рдХреЗ рд╢реАрд░реНрд╖ рд╕реЗ рдирд┐рдХрд▓рдиреЗ рд╡рд╛рд▓реЗ рддрддреНрд╡реЛрдВ рдХреЛ рдХреНрд░рдордмрджреНрдз рдирд╣реАрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ;
  • рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЙрдбрд▓ рдореЗрдВ рдбреЗрдЯрд╛ рдЖрдорддреМрд░ рдкрд░ рдЕрд╕рд╛рдорд╛рдиреНрдп рд╣реЛрддрд╛ рд╣реИ; рдЖрдк рдЕрднреА рднреА рдПрдХ рд╣реА рдПрдореНрдмреЗрдбреЗрдб рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреА рдХрдИ рдкреНрд░рддрд┐рдпрд╛рдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдФрд░ рдЙрдкрджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдореЗрдВ рдЖрдорддреМрд░ рдкрд░ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ;
  • рджреВрд╕рд░реА рдУрд░, рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ DBMS рдХреА рд╡рд┐рдЪрд╛рд░рдзрд╛рд░рд╛ рдпрд╣ рд╣реИ рдХрд┐ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП "рд╕рдореБрдЪреНрдЪрдп" рд╣реЛрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рд░ рдмрд╛рд░ рдирдП рд╕рд┐рд░реЗ рд╕реЗ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рдЧреНрд░рд╛рдлрд╝ рдореЙрдбрд▓ рдХреЛ рддреИрдпрд╛рд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рдЕрдиреБрд░реВрдк рд╢реАрдШреНрд░рддрд╛ рд╕реЗ рдПрдХ рд╕рдмрдЧреНрд░рд╛рдлрд╝ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред

рдереЛрдбрд╝рд╛ рд╡рд┐рдЬреНрдЮрд╛рдкрди

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

рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓реЗрдЦреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдирд╛рдЗрдЯреНрд░реЛрд╕рдмреЗрд╕ рдореЗрдВ рдореЙрдбрд▓ рдорд┐рд▓рд╛рди рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред

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

рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЬрд┐рд╕реЗ рдорд▓реНрдЯреА-рдореЙрдбрд▓рд┐рдВрдЧ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдЙрд╕рдХреА рд╕рд╛рдорд╛рдиреНрдп рд░реВрдкрд░реЗрдЦрд╛ рдкрд╛рдардХ рдХреЗ рд▓рд┐рдП рдХрдореЛрдмреЗрд╢ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЧрдИ рд╣реИред рдорд▓реНрдЯреА-рдореЙрдбрд▓ DBMS рдХрд╛рдлреА рдЕрд▓рдЧ рд╣реИрдВ, рдФрд░ "рдорд▓реНрдЯреА-рдореЙрдбрд▓ рд╕рдкреЛрд░реНрдЯ" рдЕрд▓рдЧ рджрд┐рдЦ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдорд╛рдорд▓реЗ рдореЗрдВ "рдорд▓реНрдЯреА-рдореЙрдбрд▓" рдХрд┐рд╕реЗ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ рдЙрддреНрддрд░ рджреЗрдирд╛ рдЙрдкрдпреЛрдЧреА рд╣реИ:

  1. рдХреНрдпрд╛ рд╣рдо рдкрд╛рд░рдВрдкрд░рд┐рдХ рдореЙрдбрд▓ рдпрд╛ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ "рд╣рд╛рдЗрдмреНрд░рд┐рдб" рдореЙрдбрд▓ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ?
  2. рдХреНрдпрд╛ рдореЙрдбрд▓ "рд╕рдорд╛рди" рд╣реИрдВ, рдпрд╛ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рджреВрд╕рд░реЗ рдХрд╛ рд╡рд┐рд╖рдп рд╣реИ?
  3. рдХреНрдпрд╛ рдореЙрдбрд▓ рдПрдХ-рджреВрд╕рд░реЗ рдХреЗ рдкреНрд░рддрд┐ "рдЙрджрд╛рд╕реАрди" рд╣реИрдВ? рдХреНрдпрд╛ рдПрдХ рдореЙрдбрд▓ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдбреЗрдЯрд╛ рджреВрд╕рд░реЗ рдореЗрдВ рдкрдврд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдУрд╡рд░рд░рд╛рдЗрдЯ рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?

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

рдХреЗрд╡рд▓ рдкрдВрдЬреАрдХреГрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реА рд╕рд░реНрд╡реЗрдХреНрд╖рдг рдореЗрдВ рднрд╛рдЧ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВред рд╕рд╛рдЗрди рдЗрди рдХрд░реЗрдВрдХреГрдкрдпрд╛ред

рдХреНрдпрд╛ рдЖрдк рдорд▓реНрдЯреА-рдореЙрдбрд▓ DBMS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ?

  • рд╣рдо рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд╣рдо рд╕рдм рдХреБрдЫ рдПрдХ DBMS рдФрд░ рдПрдХ рдореЙрдбрд▓ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреЗ рд╣реИрдВ

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

  • рд╣рдо рдмрд╣реБрднрд╛рд╖реА рджреГрдврд╝рддрд╛ рдХрд╛ рдЕрднреНрдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ

  • рд╣рдо рдирдП рдорд▓реНрдЯреА-рдореЙрдбрд▓ DBMS (рдЕрд░рдВрдЧреЛ, рдУрд░рд┐рдПрдВрдЯ, рдХреЙрд╕рдореЙрд╕рдбреАрдмреА) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ

19 рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдиреЗ рдорддрджрд╛рди рдХрд┐рдпрд╛ред 4 рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрдкрд╕реНрдерд┐рдд рд░рд╣реЗред

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ