DBMS рдХреИрдЪред Woodworking - рдмрд╣реБрдЖрдпрд╛рдореА рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП SQL рдПрдХреНрд╕реЗрд╕

"рдХреИрдЪ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рдпрд╣ рдЪреБрдирдиреЗ рдХреА рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рджреЗрддрд╛ рд╣реИ рдХрд┐ рд╡рд╕реНрддреБрдУрдВ, рдПрд╕рдХреНрдпреВрдПрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ рдХреИрд╕реЗ рд╕реНрдЯреЛрд░ рдпрд╛ рдПрдХреНрд╕реЗрд╕ рдХрд┐рдпрд╛ рдЬрд╛рдП, рдпрд╛ рдмрд╣реБрдЖрдпрд╛рдореА рдбрд┐рдЬрд┐рдЯрд▓ рд╕рдВрд░рдЪрдирд╛рдУрдВ рддрдХ рд╕реАрдзреА рдкрд╣реБрдВрдЪ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗред рдкрд╣реБрдВрдЪ рд╡рд┐рдзрд┐ рдХреЗ рдмрд╛рд╡рдЬреВрдж, Cach├й рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рд╕рд╛рд░рд╛ рдбреЗрдЯрд╛ рдмрд╣реБрдЖрдпрд╛рдореА рд╕рд░рдгрд┐рдпреЛрдВ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред "
рдХреИрдЪ рдЯреЗрдХреНрдиреЛрд▓реЙрдЬреА рдЧрд╛рдЗрдб

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

рд▓реЗрдЦ рд╡рд┐рднрд┐рдиреНрди рд╡реИрд╢реНрд╡рд┐рдХ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдкрд░ SQL рдЕрдиреБрдорд╛рди рдмрдирд╛рдиреЗ рдХреЗ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВред

рдирдИ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП, Cach├й рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдорд╛рдирдХ рд╕рдВрдЧреНрд░рд╣рдг рд╡рд┐рдзрд┐ - CacheStorage рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдЖрдкрдХреЛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рднрдВрдбрд╛рд░рдг рдХреЗ рддрд░реАрдХреЗ (CacheSQLStorage рдпрд╛ CustomStorage) рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ?


рд╕рд┐рджреНрдзрд╛рдВрдд рдХреА рдмрд┐рдЯ



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

рдЕрдзрд┐рдХ рдЕрднреНрдпрд╛рд╕


рдЖрдЗрдП рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЙрджрд╛рд╣рд░рдг рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓рддреЗ рд╣реИрдВ рд▓реЗрдЦ A Universal NoSQL Engine рд╕реЗ ред рдЯреЗрд▓реАрдлреЛрди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рджреЛ ^ рдЯреЗрд▓реАрдлреЛрди рдЧреНрд▓реЛрдмрд▓реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИ - рдбреЗрдЯрд╛ рд╕рдВрдЪрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ ^ nameIndex - рдлрд╝реЛрди рдирдВрдмрд░ рдХреЗ рд╕реНрд╡рд╛рдореА рджреНрд╡рд╛рд░рд╛ рд╕реВрдЪрдХрд╛рдВрдХ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

SQL рдкреНрд░реЛрдЬреЗрдХреНрд╢рди рдмрдирд╛рдиреЗ рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБ рдбреЗрдЯрд╛ рдЧреНрд▓реЛрдмрд▓ рдФрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреА рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рдмреАрдЪ рдкрддреНрд░рд╛рдЪрд╛рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдЯреЗрд▓реАрдлреЛрди рдирдВрдмрд░ рд╣реИ - рдкрд╣рд▓реА рдХреБрдВрдЬреА ^ рдЯреЗрд▓реАрдлреЛрди рд╣реИ ред


рд╕реНрдЯреЛрд░реЗрдЬ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдбреЗрдЯрд╛.рдлреЛрди рдХреНрд▓рд╛рд╕ рдкрд░ рдЗрдВрд╕рд░реНрдЯ, рдЕрдкрдбреЗрдЯ рдХреЛ рдбрд┐рд▓реАрдЯ рдХрд░реЗрдВред рдХреНрд▓рд╛рд╕ рдЗрдВрд╕реНрдЯреЗрдВрд╕реЗрд╕ (% рдирдпрд╛,% рд╕рд╣реЗрдЬреЗрдВ,% рд╣рдЯрд╛рдПрдВ) рдкрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдПрдХреНрд╕реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рд╕рдВрдЪрд╛рд▓рди рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЧреНрд▓реЛрдмрд▓реНрд╕ рдХреА рд╕рд╛рдордЧреНрд░реА рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред

рд╡рд┐рд░рд╛рд╕рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рдПрдХ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдЙрджрд╛рд╣рд░рдг рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдЗрдирдкреБрдЯ рдкрд░, рдкреНрд░рдкрддреНрд░ рдХрд╛ рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ:
^ рдбрд┐рд╢ (3) = "рджрд▓рд┐рдпрд╛"
^ рдбрд┐рд╢ (рей,рейрезрел) = "рд╡рд┐рд╕реНрдХрд╕ рд░рд╛рдЗрд╕ рджрд▓рд┐рдпрд╛ * реирежреж * рез 3.1.реи * рей.рез * рек.рек * рейрей.80 ** рдкреАрд╕ * 15.15"
^ рдбрд┐рд╢ (3,315,2) = "рдкрд╛рдиреА * 161 * 161"
^ рдбрд┐рд╢ (рей,рейрезрел,рейрем) = "рд░рд╛рдЗрд╕ рдЧреНрд░реЗрдЯреНрд╕ * рекрей.рем * рекрей.рем"
^ рдбрд┐рд╢ (3,315,50) = "рдордХреНрдЦрди * 5 * 5"
^ рдбрд┐рд╢ (3,316) = "рд╡рд┐рд╕реНрдХрд╕ рдореЛрддреА рдЬреМ рджрд▓рд┐рдпрд╛ * 200 * 178.7 * 4.1 * 4.6 * 32.1 ** рдкреЛрд░ * 4744"
^ рдбрд┐рд╢ (3,316,2) = "рдкрд╛рдиреА * 161 * 161"
^ рдбрд┐рд╢ (3,316,34) = "рдкрд░реНрд▓ рдЬреМ * 43.6 * 43.6"
^ рдбрд┐рд╢ (3,316,50) = "рдордХреНрдЦрди * 5 * 5"
^ рдбрд┐рд╢ (3,317) = "рд╡рд┐рд╕реНрдХрд╕ рдУрдЯрдореАрд▓ рджрд▓рд┐рдпрд╛ * 200 * 206.5 * 5.8 * 6.9 * 32 ** рддрд╛рдХрдирд╛ * 6282"
^ рдбрд┐рд╢ (3,317,2) = "рдкрд╛рдиреА * 157 * 157"
^ рдбрд┐рд╢ (3,317,33) = "рдУрдЯрдореАрд▓ * 49.0 * 49.0"
^ рдбрд┐рд╢ (3,317,50) = "рдордХреНрдЦрди * 5 * 5"
^ рдбрд┐рд╢ (3,318) = "рд╡рд┐рд╕реНрдХрд╕ рд╣рд░рдХреНрдпреВрд▓рд┐рд╕ рджрд▓рд┐рдпрд╛ * 200 * 192.2 * 5.7 * 6.8 * 28.6 ** рддрд╛рдХрдирд╛ * 2436"
^ рдбрд┐рд╢ (3,318,2) = "рдкрд╛рдиреА * 161 * 160"
^ рдбрд┐рд╢ (3,318,3) = "рд╣рд░рдХреНрдпреВрд▓рд┐рд╕ * 43.6 * 43.6"
^ рдбрд┐рд╢ (3,318,50) = "рдордХреНрдЦрди * 5 * 5"

рдпрд╣рд╛рдВ, рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рдореЗрдВ, рдХрдИ рд╡рд░реНрдЧреЛрдВ рдХреА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: dish.kind - рдкрдХрд╡рд╛рди рдХрд╛ рдкреНрд░рдХрд╛рд░, рдкрдХрд╡рд╛рдиред рдкрдХрд╡рд╛рди - рдкрдХрд╡рд╛рди, рдкрдХрд╡рд╛рдиред рдЙрддреНрдкрд╛рдж - рдкрдХрд╡рд╛рди рдХрд╛ рдЙрддреНрдкрд╛рджред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡реИрд╢реНрд╡рд┐рдХ рдХреА рд╕рдВрд░рдЪрдирд╛ рдЗрди рд╡рд░реНрдЧреЛрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдзреЛрдВ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреА рд╣реИ - рдорд╛рддрд╛-рдкрд┐рддрд╛-рдмрдЪреНрдЪреЗ ред


Dish.dish рдФрд░ dish.product рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рдХреНрд╖реЗрдкрдг рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреА рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╡реИрд╢реНрд╡рд┐рдХ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рд╣реИ

рд╕рдВрдкрддреНрддрд┐ рдХреЗ рдирд╛рдо рдХреЗ рдмрдЬрд╛рдп, рд╡рд░реНрдЧ рдХрд╛ рдореВрд▓ рдирд╛рдо рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░, рдЕрд╡рдзрд┐ рдХреЗ рдмрд╛рдж, рдЗрд╕рдХреА рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдирд╛рдо рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд╣реИред
рддреЗрдЬрд╝ рдкреНрд░рдХреНрд╖реЗрдкрдг рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛:


рдпреБрдХреНрддрд┐рдпрд╛рдБ рдФрд░ рд░рд╣рд╕реНрдпред


Cache рд╡рд░реНрдЧ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рдкреНрд░рдХреНрд╖реЗрдкрдг рдХреЛ рдмрдЪрд╛рддрд╛ рд╣реИ:

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

рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрдЧреНрд░рд╣реАрдд рд╡рд░реНрдЧ рдХреЗ рд▓рд┐рдП, Cach├й рдПрдХ рдЕрддреНрдпрдзрд┐рдХ рдЕрдиреБрд░реЛрдз рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЧреНрд░рд╛рдо рдмрдирд╛рддрд╛ рд╣реИред рдЙрддреНрдкрдиреНрди рд╡рд░реНрдЧ рдХреЛрдб рдкреНрд░рдХреНрд╖реЗрдкрдг рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдпрд╛ рдбрд┐рдмрдЧ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ (рджреЗрдЦреЗрдВ zExtentExecute, zExtentFetch рд▓реЗрдмрд▓)ред

рдХреИрдЪ рдкреНрд░рдгрд╛рд▓реА рдХрдХреНрд╖рд╛рдУрдВ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдк рдкреНрд░рдХреНрд╖реЗрдкрдг рдЙрджрд╛рд╣рд░рдг рдкрд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрдкрд░реЛрдХреНрдд рд╕рдВрдЧреНрд░рд╣рдг рдпреЛрдЬрдирд╛ рдХрдХреНрд╖рд╛рдПрдВ рд╡реИрд╢реНрд╡рд┐рдХ рдкрд░ рдПрдХ рдкреНрд░рдХреНрд╖реЗрдкрдг рд╣реИрдВред

рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, рдЗрдВрдЯрд┐рдорд┐рд╕реНрдЯреНрд╕ рдЗрдиреЛрд╡реЗрд╢рди рд╕реНрдХреВрд▓ рд╕реЗ рд╡рд╛рджрд┐рдо рдлреЗрдбреЛрд░реЛрд╡ рдХрд╛ рд╡реНрдпрд╛рдЦреНрдпрд╛рди рджреЗрдЦреЗрдВред

Source: https://habr.com/ru/post/In179523/


All Articles