ගබඩා කළ පටිපාටි ලෝකයේ විශාලතම තොරතුරු තාක්ෂණ මෘදුකාංග උපදේශන ආයතනයක නරක පුරුද්දක් ද?


153

මම ලෝකයේ ඉහළම තොරතුරු තාක්‍ෂණ උපදේශන ආයතන 3 ක ව්‍යාපෘතියක වැඩ කරමින් සිටින අතර, ඩීබීඒ ආයතනයට පවසා ඇත්තේ සමාගමේ හොඳම භාවිතයේ රාජ්‍ය ගබඩා ක්‍රමවේදයන් “හොඳම භාවිතයක්” නොවන බවයි. මෙය මම ඉගෙන ගත් සියල්ලටම පටහැනිය.

ගබඩා කරන ලද ක්‍රියා පටිපාටි මඟින් කේත නැවත භාවිතා කිරීම සහ සංකේතකරණය (මෘදුකාංග සංවර්ධනයේ කුළුණු දෙකක්), ආරක්ෂාව (ඔබට එක් එක් ගබඩා කර ඇති අවසර පත්‍රයකට අවසර ලබා දීම / අවලංගු කිරීම කළ හැකිය), SQL එන්නත් කිරීමේ ප්‍රහාර වලින් ඔබව ආරක්ෂා කරයි, සහ වේගයටද සහාය වේ (ඩී.බී.ඒ. SQL සේවාදායක 2008 සිට ආරම්භ වන අතර සාමාන්‍ය SQL විමසුම් පවා ප්‍රමාණවත් වේලාවක ක්‍රියාත්මක වන්නේ නම් සම්පාදනය කරනු ලැබේ).

අපි Agile මෘදුකාංග සංවර්ධන ක්‍රමවේදය භාවිතා කරමින් සංකීර්ණ යෙදුමක් සංවර්ධනය කරමින් සිටිමු. ගබඩා කර ඇති මුක්කු භාවිතා කිරීමට අකමැති වීමට හොඳ හේතු ගැන කිසිවෙකුට සිතිය හැකිද? මගේ අනුමානය නම්, ගබඩා කර ඇති මුක්කු නඩත්තු කිරීමට ඩී.බී.ඒ.වරුන්ට අවශ්‍ය නොවූ නමුත් එවැනි සැලසුම් තීරණයක් සාධාරණීකරණය කිරීමට තරම් නිෂේධාත්මක බවක් පෙනෙන්නට තිබේ.


3
එය එකතු කරන්නේ කුමන කේත නැවත භාවිතා කිරීමද? ඔබේ සේවාදායකයා වෙනත් දත්ත සමුදායක් භාවිතා කරන්නේ නම් කුමක් කළ යුතුද? එම පොලිස් අධිකාරීවරුන් සියල්ලන්ම කුණු කූඩයට දමා මුල සිටම ආරම්භ කළ යුතුය. වර්ග එන්නත් වලින් ඔබව ආරක්ෂා නොකරන්න. බොහෝ අවස්ථාවලදී වේගය අවම වේ.
රිග්

35
බොහෝ විශාල තොරතුරු තාක්ෂණ උපදේශන සමාගම් තම බූරුවා ආවරණය කර තබාගෙන බිල් ගත කළ හැකි උපරිම කාලය සඳහා චේතනාවක් ඇති බව මතක තබා ගන්න. මෙම සමාගම්වල ඕනෑම බලපෑමක් ඇති පැරණි-කාලීන අය තාක්‍ෂණ ශිල්පීන්ට වඩා ක්‍රීඩකයන් හා නිලධරයන් වේ. මම ලුණු ධාන්ය වර්ගයක් සහිත උපදේශන ආයතනයකින් ඒ වගේ දේවල් ගන්නවා - මම ඔවුන්ගේ උපදේශන සමාගම් එක් වරකට වඩා වැඩි වාර ගණනක් ඔවුන්ගේ 'හොඳම' පුහුණුව සකස් කර ගැනීමෙන් මගුලෙන් ඉවත් වී සිටිමි.
ConcernedOfTunbridgeWells

1
ඕනෑම භාෂාවක කාර්යයන් සඳහා මෙන්ම - නැවත භාවිතා කළ හැකි භාජනයක කේතය එතීමෙන් රිග් කේත නැවත භාවිතා කිරීම එකතු කරනු ලැබේ. ඔබ විසින් සාදන ලද නූලක් ක්‍රියාත්මක නොකරන තාක් කල් නිසැකවම ගබඩා කර ඇති ක්‍රියා පටිපාටි SQL එන්නත් කිරීමෙන් ඔබව ආරක්ෂා කරයි. වේගය අවම යැයි කීම හුදෙක් නූගත් බව පෙනේ. බොහෝ අවස්ථාවන්හි කාර්ය සාධන ප්‍රතිලාභ මත එකම කාණ්ඩවලට අයත් නොවන නමුත් පුළුල් විෂමතාවයක් පෙන්නුම් කරයි.
ගැරට් ක්ලබෝන්

1
@GaretClaborn නමුත් එය historical තිහාසික දත්ත සමුදා දත්තවල වසර හා වසර වලට වඩා යෙදුම් ස්ථරය නැවත සැකසීමට බොහෝ දුරට ඉඩ ඇත. කෙසේ වෙතත් සුළු නොවන යෙදුම් අයදුම්පත්‍රයක. ඔබ එසේ කළහොත් ගබඩා කළ ක්‍රියා පටිපාටිය පොහොසත් කේතයක් වරාය කිරීමට ඔබ මාස ගණනක් ගත කරනු ඇත. එජ්කේස් තත්වයන් හැරුණු විට ඔබේ ව්‍යාපෘතියට තවත් එක් යැපීමක් එකතු කිරීමෙන් එතරම් ප්‍රයෝජනයක් නොමැත. ඒවා පවතින නමුත් බොහෝ විට එය ව්‍යාපෘති ක්‍රියාශීලීත්වයට සහ කේත නැවත භාවිතා කිරීමට තවත් එක් බාධාවක් එක් කරයි.
රිග්

2
අප විසින් sps භාවිතා කළ පසුබිමකින් පැමිණීම, ඒවායින් moving ත් වීම සහ ආයතන රාමුව වැනි ORM භාවිතා කිරීමෙන් ලැබෙන වාසිය මට ඔබට පැවසිය හැකිය. ක්‍රියා පටිපාටිය තුළ ව්‍යාපාර තර්කනය බොහෝ වාර ගණනක් සංයුක්ත වේ. ඔබට සමහර වැඩ සහ තෙවන පාර්ශවීය මෙවලම් සමඟ ප්‍රොක්ස් සංස්කරණය කළ හැකිය. TFS හෝ GIT වැනි රාමුවක් තුළ එසේ කිරීම පහසු නැත. විමෝචනය වන ඔබේ දත්ත සමුදාය කේතය ඔබේ RDBMS සැපයුම්කරුගේ අ nost ෙයවාදියා වේ. එබැවින් ඔබට හිසරදයට වඩා අඩු කාලයකදී RDBMS සපයන්නන් මාරු කළ හැකිය.
ewahner

Answers:


284

ඉතා විශාල ව්‍යාපෘතිවල වැඩ කරන මගේ අත්දැකීම් අනුව, ව්‍යාපාර තර්කනය ජීවත්වන ස්ථානය පිළිබඳව ඔබ ඉතා පැහැදිලි විය යුතුය. එක් එක් සංවර්ධකයින්ට ව්‍යාපාර තර්කනය ව්‍යාපාරික වස්තු ස්ථරයේ හෝ ගබඩා කර ඇති ක්‍රියා පටිපාටියකට සුදුසු යැයි පෙනෙන පරිදි තැබිය හැකි පරිසරයකට ඔබ ඉඩ දෙන්නේ නම්, විශාල යෙදුමක් තේරුම් ගැනීමට හා නඩත්තු කිරීමට ඉතා අපහසු වේ.

ඇතැම් ඩීබී මෙහෙයුම් වේගවත් කිරීම සඳහා ගබඩා කළ ක්‍රියා පටිපාටි විශිෂ්ටයි. මගේ වාස්තු විද්‍යාත්මක තීරණය වන්නේ යෙදුමේ ව්‍යාපාර ස්ථරයේ ඇති සියලුම තර්කනයන් අතහැර දමා කාර්ය සාධනය වැඩි දියුණු කිරීම සඳහා ඉලක්කගත ආකාරයකින් ගබඩා කර ඇති ක්‍රියා පටිපාටි භාවිතා කිරීමයි.


37
මම දේවල් එතරම් සරලව දකින්නේ නැහැ. මට නම් එය සියලු ව්‍යාපාරික තර්කනයයි. ගබඩා කර ඇති ක්‍රියා පටිපාටි සමඟ හෝ රහිතව දත්ත සමුදාය ඇතැම් සේවාවන් සපයන අතර යම් සහතිකයක් ලබා දෙයි. වැරදි යෙදුම් කේතයක් දත්ත සමුදාය නොගැලපෙන තත්වයට පත් කිරීම කළ නොහැක්කකි. එම අනුකූලතාව පවත්වා ගැනීම සඳහා ගබඩා කළ ක්‍රියා පටිපාටි අවශ්‍ය නම්, මම ඒවා භාවිතා කරමි.
kevin cline

14
කෙවින් ක්ලයින්: "නොගැලපෙන තත්වය" යන්න අර්ථ දක්වන්න. යොමු කිරීමේ අඛණ්ඩතාව වැනි ඩීබී අංගයන් වටිනා බව මම එකඟ වන අතර බරපතල හානියක් වන යෙදුම් දෝෂයක් ඇතිවීමේ අපේක්ෂාව බෙහෙවින් අඩු කරමි. කෙසේ වෙතත්, පොදුවේ ගත් කල, “ස්ථාවර දත්ත” යන්නෙහි අර්ථ දැක්වීම ව්‍යාපාර නීති නිවැරදිව ක්‍රියාත්මක කිරීම මත රඳා පවතී.
එරික් ජේ.

17
මගේ මිලියනය මායෝගේ මිලියනයට එකතු කරන්න. බෙදා හරින ලද ව්‍යාපාරික තර්කනය ඔබව හොඳ පුහුණුවීම්වල අධිවේගී මාර්ගයෙන් කෙළින්ම උමතු මාවතට ගෙන යයි
නිකෝ

27
+1 ගබඩා කර ඇති ක්‍රියා පටිපාටි භාවිතා කිරීමේදී ව්‍යාපාරික තර්කනය ඩී.ඒ.එල්.
පද්ධතිය පහළට

30
H ක්‍රිස්ටෝපර් මහන්, ඔබ සැලසුම් කරන දත්ත සමුදායක් භාවිතා කිරීමට මට අවශ්‍ය නොවනු ඇත. දත්ත සමුදා දෘෂ්ටි කෝණයකින් කළ හැකි නරකම පුහුණුව එයයි. දත්ත සමුදායන් බොහෝ විට දත්ත සමුදායට සෘජුවම බලපායි. කාලයාගේ ඇවෑමෙන් සිදුවන වාර්තා මිලියනයක් හෝ වෙනත් දේ යාවත්කාලීන කිරීමට යමෙකු ව්‍යාපාරික තට්ටුව භාවිතා කරනු ඇතැයි සිතීම කෙටිකාලීන ය. ආනයන සාමාන්‍යයෙන් ව්‍යාපාරික තට්ටුව හරහා නොයනු ඇත (ඔව් මට මගේ ව්‍යාපාර මිලියන 21 ක වාර්තා ආනයනය එක් වාර්තාවක් ව්‍යාපාර ස්ථරයේ සැකසීමට අවශ්‍යයි). දත්ත සමුදා මට්ටමින් ඔබට සීමාවන් නොමැති විට වංචාව වඩාත් පහසු වේ. නරක දත්ත 100% කට ආසන්නයි.
HLGEM

173

සමහර නිරීක්ෂණ

ගබඩා කළ ක්‍රියා පටිපාටි මඟින් ඔබට කේත නැවත භාවිතා කිරීම සහ සංවර්‍ධනය කිරීම (මෘදුකාංග සංවර්ධනයේ කුළුණු දෙකක්),

ඒවා භාවිතා කළ යුතු සන්දර්භය තුළ ඔබ ඒවා නිවැරදිව භාවිතා කරන්නේ නම් පමණි. එකම ප්‍රකාශය ශ්‍රිත (ව්‍යුහාත්මක ක්‍රමලේඛනයේදී) හෝ ක්‍රම (වස්තු නැඹුරු වැඩසටහන්කරණයේදී) ගැන පැවසිය හැකි අතර, අපට 1K ශ්‍රිත සහ මෙගා බූරුවන්ගේ වස්තූන් පෙනේ.

පුරාවස්තු ඔබට එම ප්‍රතිලාභ ලබා නොදේ. එම කෞතුක වස්තු නිසි ලෙස භාවිතා කිරීම එම ප්‍රතිලාභ ලබා දෙයි.

ආරක්ෂාව (ඔබට එක් එක් ගබඩා කර ඇති අවසර පත්‍රයක් මත අවසර ලබා දීමට / අවලංගු කිරීමට හැකිය),

ඔව්. මෙය හොඳ කරුණක් වන අතර ගබඩා කර ඇති ක්‍රියා පටිපාටිවලට මා කැමති ප්‍රධාන හේතුවකි. හුදෙක් දර්ශන සහ පරිශීලක ගිණුම් සමඟ සාමාන්‍යයෙන් ලබා ගත හැකි දේට වඩා ඒවා ඉතා සියුම් කැටිති ප්‍රවේශ පාලනයක් සපයයි.

SQL එන්නත් කිරීමේ ප්‍රහාර වලින් ඔබව ආරක්ෂා කරයි,

පරාමිතිගත SQL ප්‍රකාශයන් සහ ආදාන සීරීම් මඟින් ඔබට එකම මට්ටමේ ආරක්ෂාවක් ලබා ගත හැකි බැවින් එය පොලිස් අධිකාරීවරුන්ට විශේෂිත නොවේ. කෙසේවෙතත්, “ගැඹුරින් ආරක්ෂාව” සම්බන්ධයෙන් මම ඒවාට අමතරව පොලිස් අධිකාරීවරුන් භාවිතා කරමි .

(SQL සේවාදායක 2008 සිට ඇරඹී සාමාන්‍ය SQL විමසීම් පවා ප්‍රමාණවත් වේලාවක ධාවනය කරන්නේ නම් සම්පාදනය කරන බව DBA පැවසුවද).

මෙය බෙහෙවින් දත්ත සමුදා වෙළෙන්දන්ට විශේෂිත වූ නමුත් පොදුවේ ඔබේ DBA නිවැරදි ය. SQL ප්‍රකාශ (ස්ථිතික හෝ පරාමිතිගත) සම්පාදනය කරනු ලැබේ. ඔබට සරල SQL ප්‍රකාශයන් සමඟ කළ නොහැකි, නමුත් SQL සමඟ තදින් ඒකාබද්ධ වී ඇති අතර යෙදුම් සේවාදායකයට වට-ගමනක් අවශ්‍ය නොවන දත්ත එකතු කිරීමට හා ගණනය කිරීමට ඔබට අවශ්‍ය නම් / අවශ්‍ය නම් පොලිස් අධිකාරීවරු උදව් කරති.

හොඳ නිදසුනක් නම්, වෙනත් SQL එකක්ම ක්‍රියාත්මක කිරීම සඳහා තාවකාලික කර්සරයකට (හෝ කර්සරයට) දත්ත විමසීමයි. යෙදුම් සේවාදායකය තුළ ඔබට එය ක්‍රමලේඛිකව කළ හැකිය, නැතහොත් db තුළ එය කිරීමෙන් ඔබට වට-චාරිකා කිහිපයක් සුරැකිය හැක.

කෙසේ වෙතත් මෙය සම්මතය නොවිය යුතුය. ඔබට එවැනි අවස්ථා බොහොමයක් තිබේ නම්, එය නරක දත්ත සමුදා සැලසුමේ ලකුණකි (නැතහොත් ඔබ දෙපාර්තමේන්තු හරහා එතරම් නොගැලපෙන දත්ත සමුදා ක්‍රම වලින් දත්ත අදින්නේය.)

අපි Agile මෘදුකාංග සංවර්ධන ක්‍රමවේදය භාවිතා කරමින් සංකීර්ණ යෙදුමක් සංවර්ධනය කරමින් සිටිමු.

කාර්යක්‍ෂමතාවයට සම්බන්ධ වන්නේ මෘදුකාංග ඉංජිනේරු ක්‍රියාවලීන් හා අවශ්‍යතා කළමනාකරණයන් මිස තාක්ෂණයන් නොවේ.

ගබඩා කර ඇති මුක්කු භාවිතා කිරීමට අකමැති වීමට හොඳ හේතු ගැන කිසිවෙකුට සිතිය හැකිද?

වැරදි ප්‍රශ්නය

ප්‍රශ්නය වැරදියි සහ "GOTO භාවිතා නොකිරීමට හොඳ හේතු තිබේද" යනුවෙන් ඇසීමට සමාන වේ. මම මේ විෂය ගැන ඩිජ්ක්ස්ට්‍රාට වඩා නික්ලෝස් වර්ත් සමඟ සිටිමි. ඩිජ්ක්ස්ට්‍රාගේ හැඟීම පැමිණියේ කොහෙන්දැයි මට තේරුම් ගත හැකිය, නමුත් එය සෑම අවස්ථාවකම 100% ක් අදාළ වේ යැයි මම විශ්වාස නොකරමි. ගබඩා මුක්කු සහ ඕනෑම තාක්ෂණය සමඟ සමාන වේ.

මෙවලමක් එහි අපේක්ෂිත අරමුණු සඳහා හොඳින් භාවිතා කරන විට එය හොඳ වන අතර එය විශේෂිත කාර්යය සඳහා හොඳම මෙවලම වන විට. වෙනත් ආකාරයකින් එය භාවිතා කිරීම මෙවලම වැරදියි යන්න ඇඟවීමක් නොවේ, නමුත් ඔහු / ඇය කරන්නේ කුමක්ද යන්න පන්දු යවන්නා නොදනී.

නිසි ප්‍රශ්නය වන්නේ “කුමන ආකාරයේ ගබඩා කළ ක්‍රියා පටිපාටි භාවිත රටාවන් වළක්වා ගත යුතුද” යන්නයි. හෝ, "තත්වය මම (හෝ නැති විය යුතු) ගබඩා කර පටිපාටි භාවිතා කළ යුතු දේ යටතේ" . හේතු සොයමින් නොවන ඉංජිනේරු දී - ඉංජිනේරු වගකීම සෘජුව මෙය සැබවින්ම තැබීමෙන් විරුද්ධ ලෙස තාක්ෂණය භාවිතා කිරීමට හුදෙක් මෙවලමක් වරද දමා ඇත.

වෙනත් වචන වලින් කිවහොත්, එය පිටපත් කිරීම හෝ නොදැනුවත්කම පිළිබඳ ප්‍රකාශයකි.

මගේ අනුමානය නම්, ගබඩා කර ඇති මුක්කු නඩත්තු කිරීමට ඩී.බී.ඒ.වරුන්ට අවශ්‍ය නොවූ නමුත් එවැනි සැලසුම් තීරණයක් සාධාරණීකරණය කිරීමට තරම් නිෂේධාත්මක බවක් පෙනෙන්නට තිබේ.

එවිට ඔවුන් කරන්නේ ඔවුන් දුර්වල ලෙස භාවිතා කළ මෙවලම් මත ඔවුන්ගේ නරක ඉංජිනේරු තීරණවල ප්‍රති results ල ප්‍රක්ෂේපණය කිරීමයි.

ඔබේ නඩුවේ කුමක් කළ යුතුද?

මගේ අත්දැකීම නම්, රෝමයේ සිටින විට රෝමවරුන් මෙන් කරන්න .

එයට එරෙහිව සටන් නොකරන්න. ඔබේ සමාගමේ පුද්ගලයින්ට ගබඩා මුක්කු නරක පුරුද්දක් ලෙස ලේබල් කිරීමට අවශ්‍ය නම් ඔවුන්ට ඉඩ දෙන්න. කෙසේ වෙතත්, මෙය ඔවුන්ගේ ඉංජිනේරු භාවිතයේ රතු ධජයක් විය හැකි බවට උපදෙස් දෙන්න.

සාමාන්‍යයෙන් නරක පුරුදු ලෙස දේවල් ලේබල් කිරීම සාමාන්‍යයෙන් සිදු කරනු ලබන්නේ අකාර්යක්ෂම ක්‍රමලේඛකයන් ටොන් ගණනක් ඇති සංවිධානවල ය. සමහර දේවල් කළු ලැයිස්තුගත කිරීමෙන්, ඔවුන්ගේම නොහැකියාව නිසා අභ්‍යන්තරව සිදුවන හානිය සීමා කිරීමට සංවිධානය උත්සාහ කරයි. මම ඔයාව එපා.

සාමාන්‍යකරණය යනු සියලු ඉස්කුරුප්පු ඇණවල මවයි. ගබඩා කර ඇති මුක්කු (හෝ ඕනෑම ආකාරයක තාක්ෂණයක්) නරක පුරුද්දක් යැයි පැවසීම සාමාන්‍යකරණයකි. සාමාන්‍යකරණය යනු අකාර්යක්ෂමතාව සඳහා පිටපත් කිරීමකි. ඉංජිනේරුවන් අමූලික සාමාන්‍යකරණයන් සමඟ කටයුතු නොකරයි. ඔවුන් එක් එක් සිද්ධිය අනුව විශ්ලේෂණයන් සිදු කරයි, වෙළඳාම් විශ්ලේෂණයන් සිදු කරයි සහ ගැටලුවක් විසඳිය යුතු යැයි සිතන සන්දර්භය තුළ ඉංජිනේරු තීරණ සහ විසඳුම් ක්‍රියාත්මක කර ඇත.

හොඳ ඉංජිනේරුවන් එවැනි සාමාන්‍යකරණය කිරීමේ දී නරක පුරුදු ලෙස ලේබල් නොකරයි. ඔවුන් ගැටලුව දෙස බලයි, සුදුසු මෙවලම තෝරන්න, වෙළඳාමෙන් ඉවත් වන්න. වෙනත් වචන වලින් කිවහොත්, ඔවුන් ඉංජිනේරු කටයුතු කරයි.

ඒවා භාවිතා නොකරන්නේ කෙසේද යන්න පිළිබඳ මගේ මතය

  • දත්ත එක්රැස් කිරීම ඉක්මවා සංකීර්ණ තර්කනයක් (සහ සමහර පරිවර්තනයන්) ඒවා තුළ තබන්න එපා. දත්ත සම්බාහන තර්කනයක් ඔවුන් තුළ තැබීම හෝ ඔවුන් සමඟ බහුවිධ විමසීම්වල ප්‍රති result ල එකතු කිරීම සුදුසුය. නමුත් ඒ ගැන ය. ඉන් ඔබ්බට ඕනෑම දෙයක් වෙනත් තැනක වාසය කළ යුතු ව්‍යාපාරික තර්කනය ලෙස සුදුසුකම් ලබයි.

  • SQL එන්නත් කිරීමට එරෙහිව ඔබේ එකම ආරක්ෂක යාන්ත්‍රණය ලෙස ඒවා භාවිතා නොකරන්න. යම්කිසි නරක දෙයක් ඔවුන්ට සිදුවුවහොත් ඔබ ඔවුන්ව එහි තබන්න , නමුත් ඔවුන් ඉදිරිපිට ආරක්ෂක තර්කනයක් තිබිය යුතුය - සේවාදායකයාගේ පැත්තෙන් වලංගු කිරීම / සීරීම, සේවාදායක පාර්ශව වලංගු කිරීම / සීරීම, සමහර විට ඔබේ අර්ථවත් වන වර්ග බවට පරිවර්තනය වීම. ඩොමේන් මොඩලය, සහ අවසානයේදී පරාමිතිගත ප්‍රකාශ වෙත යොමු වීම (ඒවා පරාමිතිගත කළ හැකි SQL ප්‍රකාශ හෝ පරාමිතිගත ගබඩා කළ ප්‍රොක්.)

  • ඔබේ ගබඩාවල ඇති එකම ස්ථානය දත්ත සමුදායන් බවට පත් නොකරන්න. ඔබ ඔබේ සී # හෝ ජාවා ප්‍රභව කේතයට සලකන ආකාරයටම ඔබේ ගබඩාවලටද සැලකිය යුතුය. එනම්, මූලාශ්‍රය මඟින් ඔබේ ගබඩාවල පෙළ අර්ථ දැක්වීම පාලනය කරයි. ගබඩාවල මූලාශ්‍ර පාලනය කළ නොහැකි බව මිනිසුන් තරයේ කියා සිටිති - ගොන් ඇල්ලීම, ඔවුන් කතා කරන්නේ ලේවැකි නිරය කුමක්දැයි ඔවුන් නොදනී.

ඒවා භාවිතා කරන්නේ කෙසේද / කොතැනද යන්න පිළිබඳ මගේ මතය

  • ඔබගේ යෙදුමට බහුවිධ විමසුම් හෝ අදහස් වලින් සම්ප්‍රේෂණය කළ යුතු හෝ එකතු කළ යුතු දත්ත අවශ්‍ය වේ. ඔබට එය යෙදුමෙන් ඩී.බී. මෙහිදී ඔබ කාර්ය සාධන විශ්ලේෂණයක් කළ යුතුව ඇත්තේ අ) දත්ත සමුදා එන්ජින් මේ දේවල් කිරීමේදී යෙදුම් සේවාදායකයින්ට වඩා කාර්යක්ෂම වන නමුත් ආ) යෙදුම් සේවාදායකයන් (සමහර විට) තිරස් අතට පරිමාණය කිරීම පහසුය.

  • සිහින් ධාන්ය ප්රවේශ පාලනය. ඔබේ ඩීබී තුළ සමහර මෝඩ ධාවන කාටේෂියන් සම්බන්ධ වීමට ඔබට අවශ්‍ය නැත, නමුත් ඔබට අත්තනෝමතික SQL ප්‍රකාශයන් ක්‍රියාත්මක කිරීම තහනම් කළ නොහැක. සාමාන්‍ය විසඳුමක් නම්, සංවර්ධනයේ සහ UAT පරිසරවල අත්තනෝමතික SQL ප්‍රකාශයන්ට ඉඩ දීම සහ ඒවා සිස්ටෙස්ට් සහ නිෂ්පාදන පරිසරයන් තුළ තහනම් කිරීමයි. ඕනෑම ප්‍රකාශයක් සිස්ටෙස්ට් හෝ නිෂ්පාදනය සඳහා කළ යුතු වන්නේ ගබඩා ක්‍රියා පටිපාටියකට ය.

වෙළඳසැලක නොව SQL ප්‍රකාශයක් ක්‍රියාත්මක කිරීමට වලංගු අවශ්‍යතාවයක් වෙනත් පරිශීලක නාමයක් / ගිණුමක් සහ සම්බන්ධතා සංචිතයක් හරහා ගමන් කරයි (භාවිතය ඉහළ අධීක්ෂණයකින් හා අධෛර්යමත් වීමෙන්.)

  • ඔරකල් වැනි පද්ධති වලදී, ඔබට LDAP වෙත ප්‍රවේශය ලබා ගත හැකිය, නැතහොත් බාහිර දත්ත සමුදායන් සඳහා සමමුහුර්ත නිර්මාණය කළ හැකිය (ව්‍යාපාරික හවුල්කරුවකුගේ db මත vpn හරහා වෙළඳසැලක් අමතන්න යැයි කියන්න.) ස්පැගටි කේතය කිරීමට පහසුම ක්‍රමය, නමුත් එය සියලු ක්‍රමලේඛන පරාමිතීන් සඳහා සත්‍ය වේ, සමහර විට ඔබට එකම විසඳුම වන නිශ්චිත ව්‍යාපාර / පරිසර අවශ්‍යතා ඇත. දත්ත ගබඩාවට ආසන්නව සහ යෙදුම් සේවාදායකයට ගමන් නොකර එක තැනක පමණක් එම නපුරුකම වටහා ගැනීමට ගබඩා ප්‍රොක්ස් උපකාරී වේ.

ඔබ මෙය ඩීබී මත ගබඩා ප්‍රොක් එකක් ලෙස හෝ ඔබේ යෙදුම් සේවාදායකයේ ක්‍රියාත්මක කරන්නේද යන්න රඳා පවතින්නේ ඔබ ඉංජිනේරුවෙකු ලෙස කළ යුතු වෙළඳාමෙන් බැහැර වූ විශ්ලේෂණය මත ය. මෙම විකල්ප දෙකම විශ්ලේෂණය කර සාධාරණීකරණය කළ යුතුය. අනෙක් විකල්පය "නරක පුහුණුව" යැයි චෝදනා කරමින් එක් මාර්ගයකට හෝ වෙනත් මාර්ගයකට යාම, එය හුදෙක් කම්මැලි ඉංජිනේරු පොලිස් නිලධාරියෙකි.

  • ඔබට ඔබගේ යෙදුම් සේවාදායකය පරිමාණය කිරීමට නොහැකි අවස්ථාවන්හිදී (.එහෙත් නව දෘඩාංග හෝ වලාකුළු අවස්ථා සඳහා අයවැයක් නොමැත) නමුත් db පසුපස අන්තයේ විශාල ධාරිතාවක් සහිතව (මෙය බොහෝ දෙනා පිළිගැනීමට වඩා සාමාන්‍ය දෙයකි), එය ගෙවයි ව්‍යාපාර තර්කනය ගබඩා කිරීම සඳහා ගෙනයාමට. ලස්සන නොවන අතර රක්තහීන වසම් ආකෘති වලට තුඩු දිය හැකිය ... නමුත් නැවත ... වෙළඳාමෙන් බැහැර විශ්ලේෂණය, බොහෝ මෘදුකාංග හක්ක උරා බොන දේ.

එය ස්ථිර විසඳුමක් බවට පත්වුවත් නැතත්, එය නිශ්චිත මොහොතේ නිරීක්ෂණය කරන ලද සීමාවන්ට විශේෂිත වේ.

එය උපකාරී වේ යැයි සිතමි.


16
මෙය ඇත්තෙන්ම හොඳ පිළිතුරකි.
yfeldblum

7
හොඳ පිළිතුරක්, නමුත් මෙය උත්ප‍්‍රාසාත්මක වීමට අදහස් කළේද? "සාමාන්‍යකරණය යනු සියලු ඉස්කුරුප්පු ඇණවල මවයි."
bedwyr

2
ඔව් සහ නැහැ. මගේ එම ප්‍රකාශය OP විසින් ඔහුගේ මුල් ප්‍රශ්නයේ සඳහන් කර ඇති මෙම විශේෂිත වාක්‍යය සඳහා අදහස් කර ඇත ( ගබඩා කර ඇති ක්‍රියා පටිපාටි “හොඳම භාවිතයක්” නොවේ .) ගබඩා ක්‍රියා පටිපාටි හොඳම හෝ නරක පුරුද්දක් ලෙස රළු විස්තරයක් සාමාන්‍යකරණය කිරීමකි. ඒවා හොඳ හෝ නරක විය හැකි සන්දර්භය නොසලකා හැරීම (බොහෝ විට මඟ පෙන්වනු ඇත) විසඳුම් සැලසුම් කිරීමේදී හෝ සැලසුම් කිරීමේදී ඉස්කුරුප්පු
ඇරීමට

7
+1 සඳහා "සාමාන්‍යයෙන් නරක දේ ලෙස ලේබල් කිරීම සාමාන්‍යයෙන් සිදු කරනුයේ අකාර්යක්ෂම ක්‍රමලේඛකයන් ටොන් ගණනක් ඇති සංවිධානවල ය." - එහි සිට, ඒ හරහා ජීවත් වූ අතර, ඩිව් මැනේජර්වරයකු විසින් මගේ මුහුණට පැවසීම ඇතුළුව, එක් උපක්‍රමශීලී ගැටලුවකට මට හොඳ විසඳුමක් ඇතැයි ඔහු සිතුවා, නමුත් ඔහු එය ක්‍රියාත්මක කිරීමට මට ඉඩ දුන්නොත් එය ගංවතුර දොරටු විවෘත කරනු ඇත. muppets.
ජූලියා හේවර්ඩ්

1
ෂේන් ​​ඔබ හරි. කෙසේ වෙතත්, මෙම පිළිතුර ප්‍රකාශ කිරීමට උත්සාහ කරන්නේ සමහර ඉංජිනේරුවන්ගේ අයහපත් පුහුණුවීම් කාඩ්පතට ඇමතුමක් ලබා දීමෙන් ඔවුන්ගේ දැනුම හෝ විශ්ලේෂණයන් හිඟවීම නිදහසට කරුණකි. පිළිතුරෙන් අපට වඩා අද්දැකීම් අඩු අය සඳහා යම් දියුණුවක් දැකිය හැකිය.
සීසර් හර්නාන්ඩස්

57

තාර්කිකත්වය නම්, ගබඩා කර ඇති ක්‍රියාපටිපාටියේ ස්ථරයක් මත යැපීම අතේ ගෙන යා හැකි බව සීමා කරන අතර ඔබව යම් ඩීබී සමඟ සම්බන්ධ කරයි. අමතර නඩත්තු වියදම් ද හේතුවක් ලෙස දක්වා ඇත. ඔබ කළ මේ කාරණය ගැන අදහස් දැක්වීමට මට අවශ්‍ය විය:

(ගබඩා කළ ක්‍රියා පටිපාටි) SQL එන්නත් කිරීමේ ප්‍රහාර වලින් ඔබව ආරක්ෂා කරයි

ඇත්ත වශයෙන්ම එය ඔබව ආරක්ෂා කරන පරාමිතිගත විමසුමකි, ඔබට සරල පෙළ SQL විමසීමේදී පහසුවෙන් කළ හැකිය.


18
ඔබේ ගබඩා කර ඇති ප්‍රොක් එක ඕනෑම ආකාරයක ගතික වර්ගයක් සහ නූල් පරාමිතියක් භාවිතා කරන්නේ නම්, ඔබ ආරම්භ කළ ස්ථානයට ඔබ ආපසු පැමිණේ.
ජෙෆෝ

4
වෙනස නම්, එක් ක්‍රියාපටිපාටියකට අනුව ගබඩා කර ඇති ක්‍රියා පටිපාටි සඳහා ප්‍රවේශ අවසරය සැකසිය හැකි අතර, පරාමිතිගත කරන ලද SQL විමසීම් සඳහා ඔබට + "blablabla"සරල SQL වලට ඉඩ දිය යුතු නිසා ක්‍රමලේඛකයින්ගේ හොඳ සිහිකල්පනාව මත විශ්වාසය තැබිය යුතුය.
කෝඩර්

19
“ඔබව එක්තරා ඩීබී සමඟ බැඳ තබයි” යන තර්කය මා කිසි විටෙකත් තේරුම් ගෙන නොමැත. ඔබ ඔබේ වැඩසටහන කොපමණ වාරයක් ගෙන එය සම්පූර්ණයෙන්ම වෙනස් දත්ත ගබඩාවකට සංක්‍රමණය කරන්නේද?
මේසන් රෝද

11
Ason මේසන් වීලර් - +1 සෑම අවස්ථාවකම. ප්‍රමාණවත් තරම් විශාල ව්‍යාපෘතියක දී, ඔබගේ යෙදුම ලබා දී ඇත්තේ දී ඇති ඩීබී නිෂ්පාදනයේ දෝෂයන්ට එරෙහිව ය. වෙනත් ඩීබී වෙත හැරීම ප්‍රධාන රැකියාවක් බවට පත්වන්නේ කුමක් වුවත් නව ඩීබීට විවිධ අමුතුකම් ඇති බැවිනි!
මයිකල් කෝන්

6
@HLGEM - නමුත් COTS ලෝකයේ, ආරම්භයේදීම බහු DBs බලාපොරොත්තු වේ (ඇත්ත වශයෙන්ම, ඔබ තෝරා ගන්නේ අනුකූල DBs). එය ඔබ වරාය කිරීම නොවේ, එය ඔබ විවිධ පසුපස කෙළවරට සහය දක්වයි, එය වරායක් කිරීමට වඩා සම්පූර්ණයෙන්ම වෙනස් මෘගයෙකි.
මයිකල් කෝන්

50

ගබඩා කර ඇති මුක්කු හොඳම ක්‍රමයක් නොවන බවට මා එකඟ වන හේතු කිහිපයක්.

  • ව්‍යාපාර සහ යෙදුම් තර්කනය දත්ත ගබඩාවේ නොමැති කේතයේ තිබිය යුතුය. ඩී.බී. හි තර්කනය තැබීම සැලකිලිමත් වේ.
  • ඔබගේ සාම්ප්‍රදායික ඒකක පරීක්ෂණ ව්‍යාපෘතිවල ඉතිරිව ඇති යෙදුම් තර්කනය සමඟ ගබඩා කර ඇති මුක්කු ඔබට බාධාවකින් තොරව පරීක්ෂා කළ නොහැක.
  • මම කේත ලිවීමේදී පළමු ක්‍රමලේඛනය පරීක්ෂා කිරීමට හිතකර යැයි ගබඩා කළ මුක්කු මට නොපෙනේ.
  • ඔබගේ IDE තුළ ඔබේ වැඩසටහන නිදොස්කරණය කරන විට ගබඩා කළ මුක්කු යෙදුම් කේතය තරම් නිදොස් කිරීම පහසු නැත.
  • එස්පී එදිරිව සාමාන්‍ය කේතයේ අනුවාද පාලනය / ප්‍රභව පාලනය

7
ගබඩා කළ ක්‍රියා පටිපාටි පිළිබඳ පළමු වැඩසටහන්ගත කිරීම ඔබට පහසු කළ හැකිය.

5
හ්ම්ම්, හොඳයි ... 1) ඩීබී ගබඩා කළ ක්‍රියා පටිපාටි භාවිතය අනිවාර්යයෙන්ම ව්‍යාපාර තර්කනය ඒවා තුළට දමා ඇති බවක් අඟවන්නේ නැත. 2) ගබඩා කර ඇති මුක්කු යනු ඒකක පරීක්ෂණයට පහසුම දේ වේ. 3) ගබඩා මුක්කු අනිවාර්යයෙන්ම පරීක්ෂණ-පළමු භාවිතයන් සන්නායක නොවන අතර සත්‍යය, නමුත් ගණනය කළ හැකි සෑම දෙයක්ම පළමු වරට පරීක්‍ෂා කළ නොහැක. 4) නිදොස්කරණය කිරීම ගැටළුවක් නොවිය යුතු බැවින් ගබඩා ප්‍රකාශ වල SQL ප්‍රකාශ සහ කර්සරය සත්‍යාපනය කිරීමට පහසු කිසිවක් නැත. එසේම, නිදොස් කිරීම සිදු විය යුත්තේ කේතයේ ඇති SQL ප්‍රකාශයන් පළමුව පරීක්ෂා කර නිදොස් කිරීමෙනි , පසුව ගබඩා ප්‍රොපර්ස් වෙත මාරු විය යුතුය ... IMO btw පමණි.
luis.espinal

6
ඔබ පැහැදිලිවම ඩී.බී. ප්‍රභව පාලනය, IDEs - ඔබ TOAD හෝ ඒ හා සමාන IDE භාවිතා කරන්නේ නම්, SP සමඟ නිදොස් කිරීම පහසුය.
gbjbaanb

6
2) ගබඩා පරීක්ෂාවට ලක් කළ ඒකක පරීක්ෂා කිරීමේදී. වෙනත් ඒකක පරීක්ෂණ රාමු ගැන idk නමුත් අවම වශයෙන් MS Test (VisualStudio.TestTools.UnitTesting) සමඟ, ගබඩා කර ඇති ප්‍රොක් මත ඕනෑම තහවුරු කිරීමේ ක්‍රමයක් ක්‍රියාත්මක කිරීම සඳහා අවම වශයෙන් Db සම්බන්ධතාවයක් අවශ්‍ය වේ, එය අර්ථ දැක්වීම අනුව එය ඒකකයකට වඩා ඒකාබද්ධ කිරීමේ පරීක්ෂණයකට වඩා වැඩි කරයි. පරීක්ෂණය. තවද ගබඩා කර ඇති ප්‍රොපෙක්ටරයක් ​​මඟින් දත්ත සමුදාය පිළිබඳ ගෝලීය, දත්ත සමුදා මට්ටමින් සඳහන් කළ හැකිය. මේවා ව්‍යාජ හැකියාවක් හෝ අතුරු මුහුණත් නොතිබිය හැකිය.
ටී. වෙබ්ස්ටර්

3
+1 ඊට අමතරව, ගබඩා කර ඇති ක්‍රියා පටිපාටි භාෂා (pl / sql, t-sql, plpgsql, ආදිය) ඉතා විචක්ෂණශීලී හා වාචික ය. දත්ත සමුදා සම්බන්ධතාවයක් ඇති කර ගැනීමට සහ දත්ත ගබඩාවෙන් පිටත ව්‍යාපාරික තර්කනය හැසිරවීමට ස්ක්‍රිප්ටින් භාෂාවක් භාවිතා කිරීම මට වඩා පහසුය.

23

ගබඩා කළ ක්‍රියා පටිපාටි මඟින් ඔබට කේත නැවත භාවිතා කිරීම සහ සංවර්‍ධනය කිරීම (මෘදුකාංග සංවර්ධනයේ කුළුණු දෙකක්),

ඔව්, නමුත් වෙනත් කඩිනම් සැලසුම් ඉලක්ක සපුරා ගැනීමේ පිරිවැය මත. ඒවා නඩත්තු කිරීම වඩා දුෂ්කර ය, එක් දෙයක් සඳහා. මා ක්‍රියාත්මක කර ඇති ව්‍යාපෘතිය කිසියම් ඇඟවීමක් නම්, ඔබ බොහෝ දුරට නොගැලපෙන පොලිස් අධිකාරීවරුන් සමඟ අවසන් වනු ඇත.

SQL එන්නත් කිරීමේ ප්‍රහාර වලින් ඔබව ආරක්ෂා කරයි,

නැහැ. මෙම අදහස පැමිණියේ කොහෙන්දැයි මට අනුමාන කිරීමට පවා නොහැකිය, එය බොහෝ විට පවසන පරිදි, එය සත්‍ය නොවේ. එය ඇතැම් වර්ගයේ SQL එන්නත් කිරීමේ ප්‍රහාර අවම කළ හැකිය, නමුත් ඔබ මුලින් පරාමිතිගත විමසුම් භාවිතා නොකරන්නේ නම්, එය වැදගත් නොවේ. මට තවමත් හැකිය '; වගු ගිණුම් අතහරින්න; -

(SQL සේවාදායක 2008 සිට ඇරඹී සාමාන්‍ය SQL විමසීම් පවා ප්‍රමාණවත් වේලාවක ධාවනය කරන්නේ නම් සම්පාදනය කරන බව DBA පැවසුවද).

ඔබ සූදානම් කළ, පරාමිතිගත කළ ප්‍රකාශ භාවිතා කරන විට ඒවා සාමාන්‍යයෙන් සම්පාදනය කරනු ලැබේ (අවම වශයෙන් මා භාවිතා කළ ඩීබී කිහිපයක් සමඟ). ඔබේ යෙදුම විමසුම ක්‍රියාත්මක කිරීමට පටන් ගන්නා විට (හෝ විශේෂයෙන් ඔබ එකම සැකසූ විමසුම කිහිප වතාවක් ක්‍රියාත්මක කරන විට), ඔබේ පොලිස් අධිකාරී සතුව ඇති ඕනෑම කාර්යසාධන වාසියක් මුළුමනින්ම වෙනස් වේ.

ගබඩා කර ඇති ක්‍රියා පටිපාටියක් භාවිතා කිරීමට ඇති එකම හේතුව, IMHO, ඔබ බහු සංයුක්ත ප්‍රභවයන්ගෙන් ඇද ගන්නා සංකීර්ණ, බහු-අදියර විමසුමක් කළ යුතු විට ය. පොලිස් අධිකාරීවරුන් පහත් මට්ටමේ තීරණ ගැනීමේ තර්කනයක් අඩංගු නොවිය යුතු අතර, ඔවුන් කිසි විටෙකත් වෙනත් ආකාරයකින් සරල විමසුමක් ඇතුළත් නොකළ යුතුය . කිසිදු ප්‍රතිලාභයක් නොමැති අතර බොහෝ අඩුපාඩු පමණි.

ඔබේ DBA ට සවන් දෙන්න. ඔහු දන්නවා මොකක්ද වෙලා තියෙන්නේ කියලා.


1
රතු ගේට්ටුවට SQL සේවාදායකය සඳහා නිෂ්පාදන SQL ප්‍රභව පාලනයක් ඇත, නමුත් මම එකඟ වෙමි, ගබඩා කර ඇති මුක්කු වලට තර්කනය තල්ලු කිරීම ඔබට කිසිදු ආකාරයක අනුවාද පාලනයක් යටතේ නොව වැදගත් තර්කනයක් ඇති බව සහතික කිරීමට කදිම ක්‍රමයකි.
කාර්සන් 63000

18
@greyfade - "පොලිස් අධිකාරීවරුන් සඳහා ප්‍රභව පාලනය මට තවම දැක නැත" - ඔබ මට විහිළු කරනවාද? ගබඩාව යනු ඔබේ දත්ත සමුදා එන්ජිම තුළ ඔබ උඩුගත කරන ලේවැකි පෙළ ගොනුවකි (එය එය ගෙන එය සම්පාදනය කර ක්‍රියාත්මක කිරීම සඳහා ස්ථාපනය කරයි.) මම වැඩ කළ සෑම ස්ථානයකම ප්‍රොක්ස් ගබඩා කර ඇති අතර, අපි ගබඩා ප්‍රොක් ප්‍රභව කේතය ගබඩා කරන්නේ, කියන්න, සීවීඑස්, ක්ලියර්කේස් හෝ භාවිතයේ තිබූ එස්සීඑම්. ගබඩා මුක්කු ප්‍රභව පාලනය කළ නොහැකි යැයි පැවසීම (ඒවා ඩීබී හි ඇති නිසා) මගේ යෙදුම් ප්‍රභව කේතය (ජාවා, සී # හෝ වෙනත්) ප්‍රභවයන් පාලනය කළ නොහැකි යැයි කියනු ලැබේ.
luis.espinal

2
@ luis.espinal: ඒවා ප්‍රභව පාලනය කළ නොහැකි යැයි මම නොකියමි . පොලිස් අධිකාරීවරුන්ගේ ඉතිහාසය නඩත්තු කිරීම සඳහා වූ මෙවලමක් ගැන මා නොදන්නා බව මම හුදෙක් පැවසුවෙමි. ඔබ යමක් වැරදියට කියවා ඇති නිසා කරුණාකර මා සමඟ කෝප නොවන්න.
ග්‍රේෆේඩ්

1
ගබඩා කර ඇති සියලුම මුක්කු ප්‍රභව කොන්ට්රෝල් යටතේ පවතී, ඔබ අතීතයේ නරක පාර්ටිකයන් දැක ඇති බැවින් ඒවා ගබඩා කර ඇති ප්‍රොක්ස් භාවිතා කිරීමට ආවේනික යැයි අදහස් නොකෙරේ.
HLGEM

1
@ luis.espinal ගබඩා කළ ක්‍රියා පටිපාටියක ප්‍රභවය පසුව දත්ත ගබඩාවෙන් ලබා ගත හැකි වීම සාමාන්‍ය දෙයක්ද? එසේ නම්, ඔබට එය නිතිපතා පිටතට ඇද ගන්නා මෙවලමක් තිබිය හැකි අතර, මුල සිටම ස්ථාපනය නැවත ප්‍රතිනිර්මාණය කිරීම සඳහා වෙනත් මෙවලම් තිබිය යුතුය. එය නිවැරදි බව සහතික කිරීම සඳහා වරකට වරක් එය කරන්න.

18

මා සේවය කරන සමාගම් තුනම SQL සේවාදායකය සමඟ ඔවුන්ගේ යෙදුම් තර්කනය සඳහා භාවිතා කළ ගබඩා කළ ක්‍රියා පටිපාටි සඳහා භාවිතා කරයි. මම ඇත්තටම අනෙක් පැත්තෙන් දේවල් දැකලා නැහැ. නමුත් මට නම් ඒවා විශාල අවුලකි. සාමාන්‍යයෙන් ඉතා හොඳ දෝෂ හැසිරවීමේ පහසුකම් හෝ ගබඩා කළ ක්‍රියා පටිපාටි සමඟ කේත නැවත භාවිතා කිරීමේ පහසුකම් නොමැත.

ඔබට භාවිතා කිරීමට අවශ්‍ය දත්ත කට්ටලයක් ලබා දෙන ගබඩා කළ ක්‍රියා පටිපාටියක් ඔබ සතුව ඇතැයි කියමු, අනාගත ගබඩා කළ ක්‍රියා පටිපාටිවලදී එය භාවිතා කරන්නේ කෙසේද? ඒ සඳහා SQL සේවාදායකයේ යාන්ත්‍රණයන් එතරම් හොඳ නැත. EXEC INTO ... වැඩ කරන්නේ එක් හෝ දෙකක මට්ටමකට පමණි) කැදැල්ල (මට දැන් අමතකයි). නැතහොත් ඔබට වැඩ වගුවක් පූර්ව නිර්වචනය කර එය ක්‍රියාවලිය යතුරු කර තිබිය යුතුය. නැතහොත් ඔබට තාවකාලික වගුවක් පූර්ව-නිර්මාණය කළ යුතු අතර ක්‍රියා පටිපාටිය එය ජනගහනය කර ගත යුතුය. නමුත් දෙදෙනෙකු එකවර භාවිතා කිරීමට සැලසුම් නොකළ වෙනස් ක්‍රියා පටිපාටි දෙකකින් එකම දේ තාවකාලික වගුවක් ලෙස හැඳින්වුවහොත් කුමක් කළ යුතුද? ඕනෑම සාමාන්‍ය ක්‍රමලේඛන භාෂාවකින්, ඔබට ශ්‍රිතයක් හෝ ලක්ෂ්‍යයක් අතර හුවමාරු වූ වස්තුවක් / ගෝලීය ව්‍යුහයක් වෙත ආපසු යා හැකිය (ගෝලීය භාෂාවක් වෙනස් කිරීමට වඩා දත්ත ව්‍යුහය ඔබ ආපසු ලබා දෙන ක්‍රියාකාරී භාෂා හැර ... )

කේත නැවත භාවිතා කරන්නේ කෙසේද? ඔබ පොදු ප්‍රකාශන යූඩීඑෆ් (හෝ ඊටත් වඩා නරක උප විමසුම්) තුළට දැමීමට පටන් ගන්නේ නම්, ඔබ කේතය නවතා දමනු ඇත. තීරුවක් සඳහා ගණනය කිරීමක් සිදු කිරීම සඳහා ඔබට ගබඩා කළ ක්‍රියා පටිපාටියක් ඇමතිය නොහැක (ඔබ කර්සරය භාවිතා නොකරන්නේ නම්, තීරු අගයන් එකින් එක පසු කර ඔබගේ වගුව / දත්ත කට්ටලය කෙසේ හෝ යාවත්කාලීන කරන්න). එබැවින් මූලික වශයෙන් වඩාත්ම කාර්ය සාධනය ලබා ගැනීම සඳහා, නඩත්තු බියකරු සිහිනයක් වන සෑම තැනකම පොදු ප්‍රකාශන කැපීම / ඇලවීම අවශ්‍ය වේ ... ක්‍රමලේඛන භාෂාවක් මඟින් ඔබට පොදු SQL උත්පාදනය කිරීම සඳහා ශ්‍රිතයක් නිර්මාණය කළ හැකි අතර පසුව එය තැනීමේදී සෑම තැනකින්ම අමතන්න. SQL නූල. එවිට ඔබට සූත්‍රය වෙනස් කිරීමට අවශ්‍ය නම් ඔබට තනි ස්ථානයක වෙනසක් කළ හැකිය ...

දෝෂ හැසිරවීම ගැන කුමක් කිව හැකිද? SQL සේවාදායකයට බොහෝ දෝෂ ඇති අතර එමඟින් ගබඩා කර ඇති ක්‍රියා පටිපාටිය ක්‍රියාත්මක කිරීම වහාම නවත්වන අතර සමහර ඒවා විසන්ධි කිරීමට පවා බල කරයි. 2005 සිට උත්සාහ / අල්ලා ගැනීමක් ඇතත් තවමත් අල්ලා ගත නොහැකි දෝෂ ගණනාවක් තිබේ. දෝෂ හැසිරවීමේ කේතයේ කේත අනුපිටපත් කිරීමත් එසේම වේ. ඔබට සැබවින්ම ව්‍යතිරේකයන් පහසුවෙන් සම්මත කළ නොහැක. නැතහොත් බොහෝ ක්‍රමලේඛන භාෂාවන් තරම් පහසුවෙන් ඒවා ඉහළ මට්ටම් කරා ගෙන යා නොහැක .....

එසේම වේගය. දත්ත කට්ටලවල බොහෝ මෙහෙයුම් SET නැඹුරු නොවේ. ඔබ පේළි දිශානත දේවල් කිරීමට උත්සාහ කරන්නේ නම්, එක්කෝ ඔබ කර්සරයක් භාවිතා කිරීමට යන්නේ හෝ ඔබ “කර්සරය” භාවිතා කිරීමට යන්නේ ය (සංවර්ධකයින් බොහෝ විට සෑම පේළියක්ම එකින් එක විමසා අන්තර්ගතය කර්සරයක් මෙන් @ විචල්‍යයන් තුළ ගබඩා කරන විට. .. මෙය බොහෝ විට FORWARD_ONLY කර්සරයට වඩා මන්දගාමී වුවද). SQL Server 2000 සමඟ මා එය මරා දැමීමට පෙර පැය 1 ක් ධාවනය වන දෙයක් තිබුණි. මම එම කේතය පර්ල් හි නැවත ලිවූ අතර එය විනාඩි 20 කින් අවසන් විය. C ට වඩා 20-80x මන්දගාමී ස්ක්‍රිප්ටින් භාෂාවක් SQL කාර්ය සාධනයෙන් දුම් පානය කරන විට, ඔබට අනිවාර්යයෙන්ම SQL හි ව්‍යාපාර ලිවීමේ පේළි දිශානත මෙහෙයුම් නොමැත.

දැන් SQL සේවාදායකයට CLR අනුකලනය ඇති අතර ඔබ CLR ගබඩා කළ ක්‍රියා පටිපාටියක් භාවිතා කරන්නේ නම් මෙම ගැටළු බොහොමයක් පහව යනු ඇත. නමුත් බොහෝ DBAs .NET වැඩසටහන් ලිවීමට හෝ ආරක්ෂක හේතූන් මත CLR ක්‍රියා විරහිත කර ගනුදෙනු SQL සමඟ සම්බන්ධ වීමට නොදැන සිටිති .... එසේම CLR සමඟ වුවද කාර්යක්ෂමව බහුවිධ ක්‍රියා පටිපාටි අතර දත්ත හුවමාරු කර ගැනීමේ ගැටළු ඔබට ඇත. .

සාමාන්‍යයෙන් පරිමාණය කිරීමට අපහසුම දෙය වන්නේ දත්ත සමුදායයි. ඔබේ සියලු ව්‍යාපාර තර්කනය දත්ත ගබඩාවේ තිබේ නම්, දත්ත සමුදාය මන්දගාමී වූ විට ඔබට ගැටළු ඇති වේ. ඔබට ව්‍යාපාර තට්ටුවක් තිබේ නම්, කාර්ය සාධනය ඉහළ නැංවීම සඳහා ඔබට වැඩි හැඹිලි සහ තවත් ව්‍යාපාරික සේවාදායක එකතු කළ හැකිය. සාම්ප්‍රදායිකව වින්ඩෝස් / ලිනක්ස් ස්ථාපනය කර ධාවනය කිරීමට තවත් සේවාදායකයක් .NET / Java වෙනත් දත්ත සමුදා සේවාදායකයක් මිලදී ගැනීමට සහ වැඩි SQL සේවාදායකයකට බලපත්‍ර ලබා දීමට වඩා ලාභදායී වේ. SQL සේවාදායකයට දැන් වැඩි පොකුරු සහයෝගයක් ඇත, මුලින් එයට ඇත්ත වශයෙන්ම කිසිවක් නොතිබුණි. එබැවින් ඔබට විශාල මුදලක් තිබේ නම්, ඔබට පොකුරු එකතු කිරීම හෝ කියවීමට පමණක් පිටපත් සෑදීම සඳහා ලොග් නැව්ගත කිරීම පවා කළ හැකිය. නමුත් සමස්තයක් ලෙස මෙය හැඹිලියක් හෝ වෙනත් දෙයක් පිටුපස ලිවීමට වඩා වැඩි මුදලක් වැය වේ.

Transact-SQL පහසුකම් දෙස බලන්න. නූල් හැසිරවීම? මම ඕනෑම දිනක ජාවා සංගීත පන්තිය / ටෝකනයිසර් / ස්කෑනර් / රීජෙක්ස් පන්ති පවත්වමි. හැෂ් වගු / සම්බන්ධිත ලැයිස්තු / ආදිය. මම ජාවා එකතු කිරීමේ රාමු යනාදිය ගන්නෙමි .නෙට් සඳහාද එයම වේ. සී # සහ ජාවා යන දෙකම ගනුදෙනු SQL වලට වඩා පරිණාමය වූ භාෂාවන්ය. .

විශාල දත්ත කට්ටලයක් සමඟ වැඩ කිරීම සහ ව්‍යාපාර ස්ථරයට ආපසු යාමට පෙර එය හැකිලීමට බහු විමසුම් / නිර්ණායක යෙදීම සඳහා ප්ලස් ගබඩා කර ඇති ක්‍රියා පටිපාටි වඩාත් කාර්යක්ෂම වේ. ඔබට සේවාදායක යෙදුමට විශාල දත්ත කට්ටලයක් යැවීමට හා සේවාදායකයාගේ දත්ත බිඳ දැමීමට සිදුවුවහොත් එය සේවාදායකයේ සියලුම වැඩ කටයුතු කරනවාට වඩා අකාර්යක්ෂම වනු ඇත.

තවද ගබඩා කර ඇති ක්‍රියා පටිපාටි ආරක්ෂාව සඳහා හොඳය. ඔබට යටින් ඇති වගු වෙත ඇති සියලුම ප්‍රවේශයන් කපා හැරිය හැකි අතර ගබඩා කර ඇති ක්‍රියා පටිපාටි හරහා පමණක් ප්‍රවේශ වීමට ඉඩ දෙන්න. එක්ස්එම්එල් වැනි නවීන තාක්‍ෂණයන් සමඟ ඔබට කණ්ඩායම් යාවත්කාලීන කිරීම් සිදු කළ හැකිය. එවිට සියලු ප්‍රවේශයන් පාලනය වන්නේ ගබඩා කර ඇති ක්‍රියා පටිපාටි හරහා වන අතර ඒවා ආරක්ෂිත / නිවැරදි වන තාක් කල් දත්ත වලට වැඩි අඛණ්ඩතාවයක් තිබිය හැකිය.

ක්‍රමලේඛන භාෂා පැත්තේ පරාමිතිගත විමසුම් අප සතුව ඇති බැවින් SQL එන්නත් කිරීමේ තර්කය එතරම්ම අදාළ නොවේ. පරාමිතිගත විමසුම් වලට පෙර මඳක් ප්‍රතිස්ථාපනය කිරීම ("" "," "" ") බොහෝ විට වැඩ කර ඇත (ඔබට අවශ්‍ය දේ ලබා ගැනීම සඳහා නූල් කෙළවර පසුකර යාමට තවමත් උපක්‍රම ඇතත්).

සමස්තයක් ලෙස මම සිතන්නේ SQL සහ Transact SQL යනු දත්ත විමසීමට / යාවත්කාලීන කිරීමට හොඳ භාෂා බවයි. නමුත් ඕනෑම ආකාරයක තර්කනයක් කේතනය කිරීම සඳහා, නූල් හැසිරවීම (හෝ හෙක් ගොනු හැසිරවීම .... ඔබට xp_cmdshell සමඟ කළ හැකි දේ ගැන ඔබ පුදුම වනු ඇත ....) කරුණාකර එපා. බොහෝ දුරට ගබඩා කළ ක්‍රියා පටිපාටි භාවිතා නොකරන අනාගත ස්ථානයක් සොයා ගැනීමට මම බලාපොරොත්තු වෙමි. කේත නඩත්තු කිරීමේ දෘෂ්ටි කෝණයකින් ඔවුන් බියකරු සිහිනයකි. ඔබට වේදිකා මාරු කිරීමට අවශ්‍ය නම් කුමක් සිදුවේද (ඇත්ත වශයෙන්ම ඔබ ඔරකල් / ඩීබී 2 / සයිබේස් / එස්.එල්.එල්. ..).

පුදුමයට කරුණක් නම් බොහෝ විට ව්‍යාපාර තර්කනය සමාන නොවේ. පරමාදර්ශී ලෝකයේ ඔබ සියලු තර්කනයන් ගබඩා කළ ක්‍රියා පටිපාටිවලට ඇතුළත් කර යෙදුම් අතර බෙදා ගනී. නමුත් බොහෝ විට යෙදුම් මත පදනම්ව තර්කනය වෙනස් වන අතර ඔබේ ගබඩා කර ඇති ක්‍රියා පටිපාටි අවසන් වන්නේ මිනිසුන් වෙනස් කිරීමට බිය වන අතර එහි සියලු ඇඟවුම් තේරුම් නොගන්නා අධික ලෙස ඒකාකාරී බවට පත්වේ. හොඳ වස්තු නැඹුරු භාෂාවක් සමඟ ඔබට දත්ත ප්‍රවේශ ප්‍රවේශ ස්තරයක් කේත කළ හැකි අතර එමඟින් සම්මත අතුරුමුහුණතක් / කොකු ඇති අතර එක් එක් යෙදුමට ඔවුන්ගේ අවශ්‍යතාවයන් ඉක්මවා යා හැකිය.


6
සමස්ත සෙට්-නැඹුරු එදිරිව එදිරිව ක්‍රියා පටිපාටික ගැටලුව ගැන සිතීමට මට ආහාර සැපයිය නොහැක. දත්ත සමුදා කර්සරය සෑම ආකාරයකම භාවිතා කර ඇති බව මම දැක ඇත්තෙමි. මම කර්සරය මත පදනම් වූ SQL (ඔරකල් පීඑල් / එස්කියුඑල්, එම අවස්ථාවේ දී) සැකසූ දිශානත විමසුමක් මගින් පෞද්ගලිකව ප්‍රතිස්ථාපනය කර ඇති අතර මිනිත්තු 8 ක් වෙනුවට තත්පරයකට අඩු ප්‍රති results ල ලැබෙනු ඇත. එම පේළි 1,000 කර්සර කේතය විසුරුවා හැර එය "ලබා ගැනීමට" මට විනාඩි 30 ක් ගතවිය. එහි ප්‍රති ing ලයක් ලෙස SQL විමසුම සංක්ෂිප්ත, අලංකාර, සරල විය. මිනිසුන් තම දත්ත සමුදා සේවාදායකයන්ගේ බලය බොහෝ විට අවතක්සේරු කරයි.
ක්‍රේග්

17

මීට වසර කිහිපයකට පෙර මම බිග් ෆයිව් එකක් සඳහා වැඩ කරන විට මෙය නිල රේඛාව විය. තාර්කිකත්වය වූයේ පොලිස් අධිකාරීවරුන් විශේෂිත ක්‍රියාත්මක කිරීම් (PL / SQL vs T / SQL vs ...) සමඟ බැඳී ඇති හෙයින් ඔවුන් තාක්ෂණ තේරීම් අනවශ්‍ය ලෙස සීමා කිරීමයි.

එක් විශාල පද්ධතියක් T / SQL සිට PL / SQL වෙත සංක්‍රමණය වීමෙන් ජීවත් වූ මට තර්කය තේරුම් ගත හැකිය. මම හිතන්නේ එය තරමක් අවුල් සහගතයි - ඇත්ත වශයෙන්ම ස්ථාන කීයක් එක් දත්ත ගබඩාවක සිට තවත් දත්ත ගබඩාවකට මාරුවිය යුතුද?


10
Ave ඩේව්: ව්‍යවසාය විසඳුමක් සඳහා ඔබ බොහෝ විට නිවැරදිය. ඔබ ඇසුරුම් කළ මෘදුකාංගයක් නිර්මාණය කරන්නේ නම්, ඔබ MSSQL වෙත නැව්ගත කළ වහාම ඔබේ ලොකුම අපේක්ෂාව එය ඔරකල් මත ධාවනය වීමට අවශ්‍ය වනු ඇත.
එරික් ජේ.

3
@ එරික්: ඇත්ත. මම දැන් සිටින තැන, අපි ටොන් ගණනක් එස්පී භාවිතා කරන අතර ඔවුන්ට MSSQL අවශ්‍ය නැතිනම් 'එපා' යැයි පවසන්න. එය කිරීමට හැකිවීම සතුටක්.
ඩේව්

3
Ave ඩේව්: විකුණුම් කණ්ඩායම ඔබට "ඔව්" යැයි පැවසිය හැකිද?
එරික් ජේ.

2
එය එක් පද්ධතියක් එක් දත්ත ගබඩාවක සිට තවත් දත්ත ගබඩාවකට ගෙනයාම තරම් නොවේ, නමුත් පාරිභෝගිකයාට දැනටමත් ඇති ඕනෑම දත්ත සමුදා පද්ධතියක් භාවිතා කිරීමට එක් පද්ධතියක් තිබීම. විශාල දත්ත සමුදායන් මිල අධිකයි.

Ric එරික් ජේ: ඔව්, නමුත් ඔවුන්ගේ කොමිස් මුදල සඳහා වන පිරිවැය ඔවුන් දුටු විට, ඉල්ලීම තරමක් දුරට පහව යයි.
ඩේව්

12

සේවාදායකයේ ගබඩා කර ඇති ක්‍රියා පටිපාටි ඔබ සංස්කරණය කරන්නේ කෙසේද?

අනුවාද පාලකයෙන් ඔබ සේවාදායකයට ගබඩා කළ ක්‍රියා පටිපාටි නැවත යෙදවුවහොත්, ඔබ ගබඩා කළ ක්‍රියාත්මක කිරීමේ සැලැස්ම පුපුරවා හරියි.

ගබඩා කර ඇති ක්‍රියා පටිපාටීන් කෙලින්ම සේවාදායකයේ වෙනස් කළ යුතු නොවේ, එසේ නොමැතිනම් ඇත්ත වශයෙන්ම ක්‍රියාත්මක වන්නේ කුමක්දැයි ඔබ දන්නේ කෙසේද? ඒවා එසේ නොවේ නම්, ගබඩා කිරීමේ ක්‍රියා පටිපාටීන් දත්ත ගබඩාවට ලිවීමට යෙදවීමේ මෙවලමට ප්‍රවේශය අවශ්‍ය වේ. සෑම ගොඩනැගීමකදීම ඔබට යෙදවීමට සිදුවේ (ක්‍රියාත්මක කිරීමේ සැලැස්ම වෙනස් විය යුතුය)

ගබඩා කර ඇති ක්‍රියා පටිපාටි අතේ ගෙන යා නොහැකි වුවත්, පොදුවේ SQL ද නොවේ (කවදාවත් දැක නැති ඔරකල් දිනය හැසිරවීම - uggghhh).

එබැවින්, ඔබට අතේ ගෙන යා හැකි නම්, අභ්‍යන්තර දත්ත ප්‍රවේශ API එකක් සාදන්න. ඔබට මෙය ක්‍රියාකාරී ඇමතුම් ලෙස හැඳින්විය හැකි අතර, අභ්‍යන්තරව ඔබට අවශ්‍ය ඕනෑම භාෂාවක, පරාමිතිගත විමසුම් සමඟ ගොඩනගා ගත හැකි අතර එය අනුවාදය පාලනය කළ හැකිය.


6
සේවාදායකයේ ගබඩා කර ඇති ක්‍රියා පටිපාටි ඔබ සංස්කරණය කරන්නේ කෙසේද? - ඔබේ අනුවාදය ගබඩාවේ proc ප්‍රභව කේතය පාලනය කරයි. යෙදවීමට කාලය පැමිණි විට, ඔබ ගබඩාව (ලබා දී ඇති මූලික පදනමකින්) අල්ලා ගන්නා අතර ඔබ (හෝ ඔබේ dba) නිෂ්පාදනයට යොදවයි. නැවත සේවයේ යෙදවීම (එය පරීක්ෂා කිරීම හෝ නිෂ්පාදනය කිරීම වේවා) නිසැකවම ගබඩා කර ඇති ක්‍රියාත්මක කිරීමේ සැලැස්ම පුපුරවා හරිනු ඇත, නමුත් එය ඔබේ එස්පී පාලනය කරන්නේද නැද්ද යන්න ස්වාධීනව සිදුවනු ඇත.
luis.espinal

1
ArBarryBrown මිනිසුන්ට කෙලින්ම සේවාදායකයට ප්‍රවේශය තිබේ නම් සහ ගබඩා කළ ක්‍රියා පටිපාටි වෙනස් කළ හැකි නම් එය ක්‍රියා නොකරයි. මට පොලිස් අධිකාරීවරුන් නරඹන ක්‍රියාවලියක් තිබිය යුතුය, නැතහොත් එක් එක් භාවිතයට පෙර චෙක්පතක් තිබිය යුතුය ...
ක්‍රිස්ටෝපර් මහන්

2
ප්‍රභව පාලනයට ඔවුන්ගේ වෙනස්කම් සිදු නොකර සර්වරයන්හි ස්ප්‍රොක්ස් විලී-නිලි වෙනස් කරන පුද්ගලයින් ඔබ සතුව ඇත්නම්, ඔබට ක්‍රියාවලි ගැටළුවක් ඇති අතර එය ඔබගේ අනිවාර්ය කේත සංවර්ධනයට බලපානු ඇත, එසේම එය එසේ බව ඔබ නොදැන සිටියද.
ක්‍රේග්

1
මා අතීතයේ කළ එක් දෙයක් නම් දත්ත සමුදා සේවාදායකයේ සංවර්ධන අවස්ථාවක් තනි සංවර්ධකයාගේ වැඩපොළවල් මත තැබීමයි, නැතහොත් එය කළ නොහැකි නම් අවම වශයෙන් දත්ත සමුදායන්ගේ “dev” සහ “නිෂ්පාදන” අවස්ථා තිබිය යුතුය. , සහ සියලුම ඩීඩීඑල් සහ ඩීඑම්එල් ස්ක්‍රිප්ට් මෙන්ම නියැදි දත්ත සහ පැටවුම් ස්ක්‍රිප්ට් ප්‍රභව ගසෙහි ඔවුන්ගේම නාමාවලිය යටතේ ජීවත් වූ අතර දත්ත සමුදාය සාමාන්‍යයෙන් එම ස්ක්‍රිප්ට් වලින් සාදන ලද්දේ MAKE ගොනුවෙනි. තනි ගබඩා කර ඇති ප්‍රොක්ස් සෑදීම සඳහා ඩේව්ස්ට nmake භාවිතා කිරීමට හැකි විය. ඔවුන් එය ප්‍රභව පාලනයට යටත් නොකළේ නම්, එය ඔවුන් මත අතුරුදහන් වනු ඇති අතර ඔවුන් එය දැන සිටියහ.
ක්‍රේග්

1
... මගේ කලින් අදහස් දැක්වීමේදී "..., ඔබ නොදැන සිටියත් ..." යන වාක්‍ය ඛණ්ඩය අවමානයට ලක් කිරීමට මම අදහස් නොකළෙමි. මා අදහස් කිරීමට අදහස් කළේ ගබඩා කර ඇති ක්‍රියා පටිපාටි සමඟ එවැනි දෙයක් සිදුවන්නේ නම්, එය ව්‍යාපෘතියේ වෙනත් කොටස්වල ද සිදුවනු ඇති බවයි. IDE හි ඒකාබද්ධ මූලාශ්‍ර පාලනයට මා පෞද්ගලිකව අකමැතියි, මන්දයත් එය කණ්ඩායමට සැබවින්ම අදහස් කරන්නේ කුමක්ද යන්න ගැන සිතීම හා සමස්තයක් වශයෙන් ව්‍යාපෘතියක් වෙනස් කිරීම සහ ප්‍රභව පාලනයට එම වෙනස්කම් සිදු කිරීම සඳහා මිනිසුන් කම්මැලි කරවන බව මම සිතමි. නිධිය. මගේ මතය අනුව එම දේවල් "ස්වයංක්‍රීය" නොවිය යුතුය.
ක්‍රේග්

9

මෙය මම ඉගෙන ගත් සියල්ලටම පටහැනිය.

ඔබට තවත් පිටතට යාමට අවශ්‍ය විය හැකිය. බරපතල ලෙස, ගබඩා කර ඇති මුක්කු අවම වශයෙන් අවුරුදු 10 ක් තිස්සේ පහත වැටෙමින් තිබේ. එන්-ටයර් ග්‍රාහක සේවාදායකය ප්‍රතිස්ථාපනය කළ දා සිට බොහෝ සෙයින්. පහත වැටීම වේගවත් කර ඇත්තේ ජාවා, සී #, පයිතන් වැනි OO භාෂා භාවිතා කිරීමෙන් පමණි.

ගබඩා කර ඇති මුක්කු වලට තවමත් ඔවුන්ගේ යෝජකයින් සහ නීති oc යින් නොමැති බව නොකියයි - නමුත් මෙය දිගුකාලීන සාකච්ඡාවක් සහ විවාදයකි. එය අළුත් දෙයක් නොවේ, බොහෝ දුරට එය තවමත් සිදුවනු ඇත; IMO, ගබඩා කර ඇති මුක්කු වල විරුද්ධවාදීන් පැහැදිලිවම ජයග්රහණය කරයි.

ගබඩා කළ ක්‍රියා පටිපාටි මඟින් ඔබට කේත නැවත භාවිතා කිරීම සහ සංවර්‍ධනය කිරීම (මෘදුකාංග සංවර්ධනයේ කුළුණු දෙකක්)

ඉතා ඇත්ත. එහෙත්, විනීතව සැකසූ OO ස්ථරයක් ද එසේමය.

ආරක්ෂාව (ඔබට එක් එක් ගබඩා කර ඇති අවසර පත්‍රයකට අවසර ලබා දීමට / අවලංගු කිරීමට හැකිය)

ඔබට එය කළ හැකි වුවද, බරපතල සීමාවන් නිසා ස්වල්ප දෙනෙක් එය කරති. සන්දර්භය පිළිබඳ දැනුවත් තීරණ ගැනීමට ඩීබී මට්ටමේ ආරක්ෂාව ප්‍රමාණවත් නොවේ. කාර්ය සාධනය සහ කළමනාකරණ පොදු කාර්ය නිසා, එක් පරිශීලකයෙකුට සම්බන්ධතා තිබීමද අසාමාන්‍යය - එබැවින් ඔබගේ යෙදුම් කේතයේ ඔබට යම් මට්ටමක අවසරයක් අවශ්‍ය වේ. ඔබට භූමිකාව පදනම් කරගත් පිවිසුම් භාවිතා කළ හැකිය, නමුත් ඔබට ඒවා නව භූමිකාවන් සඳහා නිර්මාණය කිරීමට අවශ්‍ය වනු ඇත, ඔබ ක්‍රියාත්මක කරන්නේ කුමන භූමිකාවද යන්න පවත්වා ගැනීම, "පද්ධති මට්ටමේ" ලොග් වීම වැනි වැඩ කිරීමට සම්බන්ධතා මාරු කිරීම යනාදිය. අවසානයේදී ඔබේ යෙදුම නම් අයිති - ඩීබී සමඟ ඔබේ සම්බන්ධතාවය ද එසේමය.

SQL එන්නත් කිරීමේ ප්‍රහාර වලින් ඔබව ආරක්ෂා කරයි

පරාමිතිගත විමසුම් කරනවාට වඩා වැඩි දෙයක් නැත. ඔබ අවශ්ය කෙසේ හෝ කළ යුතු ය.

(SQL සේවාදායක 2008 සිට ඇරඹී සාමාන්‍ය SQL විමසීම් පවා ප්‍රමාණවත් වේලාවක ධාවනය කරන්නේ නම් සම්පාදනය කරන බව DBA පැවසුවද).

මම හිතන්නේ එය MSSQL 7 හෝ 2000 දී ආරම්භ විය. ගබඩා කර ඇති proc vs inline SQL කාර්ය සාධනය පිළිබඳ බොහෝ විවාද, මිනුම් සහ වැරදි තොරතුරු තිබේ - මම ඒ සියල්ල YAGNI යටතේ එකවරම ගැසුවෙමි. ඔබට එය අවශ්‍ය නම් පරීක්ෂා කරන්න.

අපි Agile මෘදුකාංග සංවර්ධන ක්‍රමවේදය භාවිතා කරමින් සංකීර්ණ යෙදුමක් සංවර්ධනය කරමින් සිටිමු. ගබඩා කර ඇති මුක්කු භාවිතා කිරීමට අකමැති වීමට හොඳ හේතු ගැන කිසිවෙකුට සිතිය හැකිද?

ඔබ සිතන බොහෝ හේතු ගැන මට සිතිය නොහැකිය අවශ්‍ය . ජාවා / සී # / ඕනෑම 3 වන ජීඑල් භාෂාව සංවෘත කිරීම, නැවත භාවිතා කිරීම සහ සුභසාධනය කිරීමේ හැකියාව වැනි ටී-එස්කියුඑල් වලට වඩා බොහෝ සෙයින් හැකියාව ඇත.

එසේම, "අවශ්‍ය පරිදි බෙදා හැරීම සඳහා උපදෙස් ලබා දී ඇත, නමුත් වැඩි නොවේ" - මම හිතන්නේ මේ දිනවල ඔප්පු කිරීමේ භාරය එස්පී උපදේශකයින් මත ය. අධික ලෙස ගබඩා කර තැබීමට පොදු හේතුවක් වන්නේ T-SQL OO ට වඩා පහසු වන අතර සාප්පුවට OO ට වඩා හොඳ T-SQL devs ඇත. නැතහොත්, දත්ත සමුදා ස්ථරයේ DBA නතර වන අතර ගබඩා කර ඇති proks යනු dev සහ DBA අතර අතුරුමුහුණත වේ. නැතහොත්, ඔබ අර්ධ-අභිරුචි නිෂ්පාදනයක් නැව්ගත කරන අතර ගබඩා කර ඇති මුක්කු පරිශීලක අභිරුචිකරණය කළ හැකිය. ඒ වගේ සලකා බැලීම් කිහිපයක් නොසලකා, මම හිතන්නේ මේ දිනවල ඕනෑම Agile SW ව්‍යාපෘතියක පෙරනිමිය ORM වනු ඇත.


1
ඒ නිසා එය ගොඩක් ඔබ සරල දේවල් කරන්න දැවැන්ත දත්ත කාණ්ඩ දත්ත සමුදාය පිටතට මාරු කිරීමට නොමැති නම් performancewise ලබා ගැනීමට. මැනීම සහ අවශ්‍ය නම් ප්‍රශස්තිකරණය කිරීම.

හරියටම. ගබඩා කර ඇති ක්‍රියා පටිපාටි හිස්කබලක් මෙන් භාවිතා කළ හැකිය. දත්ත සමුදා සේවාදායකය තුළ ඇති I / O දත්ත සමුදා සේවාදායකය සහ ඔබේ මධ්‍යම ස්ථරය අතර I / O ට වඩා වැඩි කලාප පළලක් ඇති බවට නිරපේක්ෂ සහතිකයකි. දත්ත සමුදා සේවාදායකයේ දත්ත සමුදා එන්ජින් ඩිව්ස් ලියා ඇතිවාට වඩා වේගවත්, කාර්යක්ෂම දත්ත එක්වීමේ කේතය ඔබේ මැද ස්ථරයේ ලිවීමට ඔබ යන්නේ නැත. සම්බන්ධ වීමක් සඳහා ඔබ පේළි 1,000,000 ක් ඔබේ මධ්‍යම ස්ථරයට මාරු කරන්නේ නම්, මම නිසැකවම දැක ඇති පරිදි, ඔබ තළා දැමිය යුතුය ... එය හරියට "ඔබේම රෝල්බැක් කේතය ලිවිය යුතු යැයි" කියන අය වගේ. උමතුව.
ක්‍රේග්

1
ඔබේ දත්ත සමුදා සේවාදායකය අවතක්සේරු නොකරන්න. එය නිවැරදිව භාවිතා කරන්නේ කෙසේදැයි ඉගෙන ගන්න.
ක්‍රේග්

1
FWIW, දත්ත සමුදා පැත්තට සම්බන්ධ වීමට ඔබට ගබඩා කළ ප්‍රොක් එකක් අවශ්‍ය නොවේ. කාර්ය පටිපාටික තර්කනය සඳහා ඔබ කර්සරය භාවිතා කරන්නේ නම්, ඔබට දැනටමත් කාර්ය සාධන යුද්ධය අහිමි වී ඇත. ගබඩා කළ ක්‍රියා පටිපාටි අත්හැරීම නිසැකවම SQL අත්හැරීම හෝ පදනම් වූ විසඳුම් සකස් කිරීම හා සමාන නොවේ.
මාර්ක් බ්‍රැකට්

1
මුලුමනින්ම සත්‍යය, මම ඇත්ත වශයෙන්ම ස්ප්‍රොක්ස් සඳහා තර්ක කරනවාට වඩා SQL ට පක්ෂව තර්ක කළෙමි. නමුත් ඔබේ අත්‍යවශ්‍ය කේතය තුළ SQL කාවැද්දීම අනිවාර්යයෙන්ම සතුට සඳහා යතුර නොවේ, හරිද? එය බොහෝ විට සමස්ත ORM විවාදයට තුඩු දෙන අතර, එමඟින් ORM විසින් මෙහෙයවන db ප්‍රවේශය හා SQL භාවිතා කරන ආකාරය ඉගෙන ගැනීම අතර කාර්ය සාධන සැසඳීම් වෙත යොමු කරයි. මම යන දෙකම දැක ඔරකල් උපදේශකයින් බර තුඩු විසින් දත්ත සමුදා සේවාදායකය ලකුණු හැකි සියලු බර තබා නිර්දේශ කොහේද, කිව්වොත්, පද්ධති අහලා (හා දැඩි ලෙස මිල අධික!) සමග මිඩ්ල්වෙයාර් මහා ප්රපාතයකට ඇද කාර්ය සාධනය.
ක්‍රේග්

4

ඉහත සියළු කරුණු සැලකිල්ලට ගනිමින් මම තවත් එකක් එකතු කිරීමට කැමැත්තෙමි. පොලිස් අධිකාරීවරයාගේ තේරීම මිනිසුන්ගේ තේරීම මත ද රඳා පවතී.

එස්පී තුළ මිනිසුන් ඉතා සංකීර්ණ තර්කනයක් ඉදිරිපත් කරන විට මට පෞද්ගලිකව කලකිරීමක් දැනෙන අතර එවැනි එස්පී නඩත්තු කිරීමට සහ නිදොස් කිරීමට ඉතා සංකීර්ණ යැයි මම විශ්වාස කරමි. බොහෝ අවස්ථාවන්හිදී පවා සංවර්ධකයා විසින්ම ගැටලුවකට මුහුණ දෙන්නේ පිටුපස කේත නිදොස් කිරීම (භාෂා කොටස කියන්න) එස්පීට වඩා පහසුය.

එස්පී භාවිතා කළ යුත්තේ සරල මෙහෙයුම් සඳහා පමණි. හොඳයි එය මගේ තේරීමයි.


4

ගබඩා කර ඇති මුක්කු සමඟ ගැති සහ ගැටළු දෙකම ආවරණය කිරීමට මට අවශ්‍යය. අපි ඒවා ලෙජර් එස්එම්බී සමඟ පුළුල් ලෙස භාවිතා කරමු අතර අපගේ නියමය ඉතා නිශ්චිත දිගුවක් සහිතව "එය විමසුමක් නම් එය ගබඩා කර තබන්න."

මෙය කිරීමට අපගේ හේතුව වූයේ හරස් භාෂා විමසුම් නැවත භාවිතා කිරීමට පහසුකම් සැලසීමයි. මෙය අවංකව කිරීමට වඩා හොඳ ක්‍රමයක් නොමැත.

අවසානයේ ප්‍රශ්නය සෑම විටම විස්තර මත වේ. හොඳින් භාවිතා කරන ලද, ගබඩා කර ඇති ක්‍රියා පටිපාටි නිසා දේවල් බොහෝ පහසු වන අතර දුර්වල ලෙස භාවිතා කිරීමෙන් ඒවා බොහෝ අපහසු වේ.

ඒ නිසා කොන් පැත්තට.

  1. සාම්ප්‍රදායිකව භාවිතා කරන පරිදි, ගබඩා කර ඇති ක්‍රියා පටිපාටි අස්ථාවර වේ. තනිවම භාවිතා කිරීමෙන් ඇමතුම් සින්ටැක්ස් වෙනස් වීම හැර වෙනත් හේතුවක් නිසා ඔබ අපේක්ෂා නොකළ ස්ථානවල ඔබේ කේතයට දෝෂ එකතු කිරීමේ හැකියාව නිර්මාණය කරයි. තනිවම භාවිතා කිරීම මෙය සුළු ගැටලුවකි. ස්ථර අතර ඕනෑවට වඩා සහසම්බන්ධතාවයක් ඇති අතර මෙය ගැටළු ඇති කරයි.

  2. ඔව්, කිසියම් ගතික වර්ගීකරණයක් කරන්නේ නම් අභ්‍යන්තර-ස්ප්‍රොක් වර්ගයේ එන්නත් ලබා ගත හැකිය. මෙම ප්‍රදේශය ගැන ඕනෑවට වඩා විශ්වාස කිරීම නරක දෙයක් වන අතර, එම නිසා යමෙකුට මෙම ප්‍රදේශයේ ආරක්ෂාව පිළිබඳ සැලකිය යුතු පළපුරුද්දක් තිබිය යුතුය.

  3. ඉහත අංක 1 හේතුව නිසා ගබඩා කර ඇති ක්‍රියා පටිපාටි සමඟ අතුරුමුහුණත් වෙනස් කිරීම තරමක් ගැටලු සහගත නමුත් සේවාදායක යෙදුම් විශාල සංඛ්‍යාවක් සම්බන්ධ වී ඇත්නම් මෙය ඉතා විශාල බියකරු සිහිනයක් බවට පත්විය හැකිය.

ඉහත කරුණු ප්‍රතික්ෂේප කිරීම තරමක් දුෂ්කර ය. ඒවා සිදු වේ. එස්පී ගැති සහ එස්පී විරෝධී සෑම කෙනෙකුටම මේ සම්බන්ධයෙන් බිහිසුණු කතා තිබේ. ගැටලු විසඳිය නොහැකි නමුත් ඔබ ඒවා කෙරෙහි අවධානය යොමු නොකරන්නේ නම් ඔබට ඒවා විසඳිය නොහැක (ලෙජර් එස්එම්බී හි දී අපි සේවා ස්ථාන යන්ත්‍රයක් භාවිතා කරමින් ක්‍රියාත්මක වන වේලාවේදී එස්පී ඇමතුම් ගතිකව ගොඩනඟා ගැනීමටත්, ඉහත ගැටළු මුළුමනින්ම මග හැරීමටත් ඉඩ දී ඇත.අපි PostgreSQL වෙනත් ඩීබී සඳහා සමාන දෙයක් කළ හැකිය).

ධනාත්මක වෙත. ඉහත ගැටළු විසඳීමට ඔබට හැකි යැයි උපකල්පනය කිරීමෙන් ඔබට ලැබෙන්නේ:

  1. සැකසූ මෙහෙයුම් වලදී වැඩි දියුණු කළ පැහැදිලි බවක් ලබා ගැනීමේ හැකියාව. ඔබේ විමසුම ඉතා විශාල හෝ ඉතා නම්‍යශීලී නම් මෙය විශේෂයෙන් සත්‍ය වේ. මෙය වැඩි දියුණු කළ හැකි පරීක්ෂණ හැකියාවකට ද මග පාදයි.

  2. මා සතුව දැනටමත් මෙම ප්‍රදේශයේ සේවය කරන සේවා ස්ථානයක් තිබේ නම්, ගබඩා කර ඇති ක්‍රියා පටිපාටි සංවර්ධනයේ වේගය වේගවත් කරන බව මට පෙනී යන්නේ ඒවා යෙදුම් සංවර්ධකයා ඩීබී ගැටළු වලින් නිදහස් කරන අතර අනෙක් අතට ය. මෙය නිවැරදිව කිරීමට යම් දුෂ්කරතා ඇති නමුත් එය කිරීම එතරම් අපහසු නොවේ.

  3. නැවත භාවිතා කිරීම විමසන්න.

පොලිස් අධිකාරීවරයෙකු තුළ ඔබ කිසි විටෙකත් නොකළ යුතු දේවල් කිහිපයක්:

  1. ගනුදෙනු නොවන තර්කනය. ඇණවුම නැව්ගත කළ බව ඔබ ඊමේල් පණිවුඩයක් යවා ඇති නමුත් ගනුදෙනුව ආපසු පෙරළී ගියේය ... නැතහොත් දැන් ඔබ ඊමේල් සේවාදායකය මාර්ගගතව පැමිණෙන තෙක් බලා සිටී .... හෝ ඊටත් වඩා නරක නම් ඔබට ඔබේ ගනුදෙනුව ආපසු හැරවිය නොහැක. විද්‍යුත් තැපැල් සේවාදායකය ....

  2. කාර්ය පටිපාටික තර්කනයෙන් ඉසින ලද කුඩා විමසුම් ගොඩක් ලිහිල්ව එකට බැඳී ඇත ....


තදින්ම එකඟ වන්න, නැවත: ගනුදෙනු නොකරන ලද අපද්‍රව්‍ය ගබඩා කළ ක්‍රියා පටිපාටිවලින් බැහැරව තබා ගැනීම. එම ඊමේල් උදාහරණයේ දී, ඊමේල් පණිවිඩය පෝලිමකට දමා, කෙසේ හෝ අසමමුහුර්තව සේවය කළ යුතුය. ඔබගේ දත්ත සමුදා ගනුදෙනු ඔබගේ තැපැල් සේවාදායකයේ ප්‍රතිචාරය මත රඳා පවතින පරිදි විශාල කාර්ය සාධනයක් සහ විනෝදකාමී හැසිරීමක් සඳහා ඔබම සූදානම් වීම ගැන කතා කරන්න? අහෝ!
ක්‍රේග්

3

ඔබ වැඩ කරන්නේ කා වෙනුවෙන්ද?

පිළිතුර රඳා පවතින්නේ ඔබ සේවය කරන්නේ කවුරුන්ද, උපදේශන සමාගම හෝ සමාගම විසින්ම ය. සමාගමකට හොඳම දේ බොහෝ විට උපදේශන සමාගමකට හෝ වෙනත් මෘදුකාංග වෙළෙන්දෙකුට සුදුසු නොවේ. උදා: ස්මාර්ට් සමාගමක් තම තරඟකරුවන්ට වඩා ස්ථිර වාසියක් ලබා ගැනීමට කැමති වේ. ඊට වෙනස්ව, මෘදුකාංග වෙළෙන්දෙකුට අවශ්‍ය වන්නේ යම් කර්මාන්තයක සියලුම ව්‍යාපාර සඳහා අවම පිරිවැයකට එකම විසඳුමක් ලබා දීමටයි. ඔවුන් මේ සඳහා සාර්ථක නම්, සේවාදායකයාට ශුද්ධ තරඟකාරී වාසියක් නොලැබෙනු ඇත.

මෙම විශේෂිත අවස්ථාවෙහිදී, යෙදුම් පැමිණ ඉදිරියට යන නමුත් බොහෝ විට ආයතනික දත්ත සමුදාය සදහටම පවතී. ආර්.ඩී.බී.එම්.එස් කරන මූලික දේවලින් එකක් නම්, දත්ත සමුදායට ඇතුළු නොවී සිටීමයි. ගබඩා කළ පටිපාටි මෙයට සම්බන්ධ විය හැකිය. තර්කනය හොඳ තර්කනයක් සහ වසරින් වසර වෙනස් වීමට බොහෝ දුරට ඉඩ තිබේ නම්, දත්ත සමුදාය භාවිතා කිරීම සඳහා ලියා ඇති ඕනෑම යෙදුමක් නොසලකා එය අභ්‍යන්තරව ස්ථාවරව තබා ගනිමින් දත්ත සමුදායේ නොවිය යුත්තේ ඇයි? වසර ගණනාවකට පසු යමෙකුට දත්ත සමුදාය විමසීමට අවශ්‍ය ප්‍රශ්නයක් ඇති වන අතර, ඩීබී වෙත ඇතුළුවීම වළක්වා තිබේ නම් එයට පිළිතුරු ලැබෙනු ඇත.

එබැවින් ඔබේ ඩීබීඒ උපදේශන සමාගමක් සඳහා වැඩ කරන නිසා මෙය සම්බන්ධ විය හැකිය. ඔවුන්ගේ කේතය සෑදිය හැකි තරමට අතේ ගෙන යා හැකි තරමට සේවාදායකයාගේ සිට සේවාදායකයා දක්වා කේතය නැවත භාවිතා කළ හැකිය. ඔවුන්ගේ යෙදුම සමඟ ගැටගැසීමට හැකි තරමට, සමාගම වෙළෙන්දා සමඟ විවාහ වේ. ඔවුන් මෙම ක්‍රියාවලියේදී විශාල අවුලක් අත්හැරියහොත්, එය පිරිසිදු කිරීම සඳහා ඔවුන්ට මුදල් ලැබෙනු ඇත, නැතහොත් නැවත කිසි විටෙකත් අවුල නොපෙනේ. කෙසේ හෝ එය ඔවුන්ට ජයග්‍රහණයක්.

රූප විස්තරය මෙහි ඇතුළත් කරන්න

වැටෙහි දෙපස වැඩි විස්තර සඳහා (කැබලි අක්ෂර), භීෂණය කේතනය කිරීමේදී සාකච්ඡාව කියවන්න . FWIW මම පොලිස් අධිකාරීවරුන් වෙනුවෙන් පෙනී සිටින අයගේ පැත්තට නැඹුරු වෙමි.


1
මෙම පිළිතුර මඟින් ගබඩා කර ඇති ක්‍රියා පටිපාටි භාවිතා කරන්නේද නැද්ද යන ප්‍රශ්නය ඔබ වැඩ කරන්නේ කා වෙනුවෙන්ද සහ ඔවුන්ගේ අභිප්‍රේරණයන් මොනවාද යන ප්‍රශ්නයට ගැටගැසීමට ය. Downvote. පිළිතුර වෙනුවට ගබඩා කළ පටිපාටි භාවිතා කළ යුතුද නැද්ද යන ප්‍රශ්නය ගැටගැසීමට අවධානය යොමු කළ යුතුය. පොලිස් අධිකාරීවරුන් දත්ත ගබඩාවට ඇතුළුවීම වළක්වාලයි යන අදහස කෙරෙහි පිළිතුර යොමු වූයේ නම්, මම පහත් කොට සලකන්නේ නැත. හෙළිදරව් කිරීමේ උවමනාව මත මම එකඟ නොවෙමි, නමුත් මම පහත් කොට සලකන්නේ නැත.
yfeldblum

2004 සිට ඔබ ලිපියක් සම්බන්ධ කළ අතර, IMHO භූ දර්ශනය එතැන් සිට තරමක් වෙනස් වී ඇත. OR / M බොහෝ පොදු වී ඇත. රූබි / රේල් පීලි ActiveRecord, එම්.එස් සිදු linq සහ EF, Django සමඟ ආදේශ කිරීම සඳහා, ආදිය පැමිණි
බෘක්

Ust යුක්තිසහගත, ඔහු නිවැරදියි, ගබඩා ප්‍රොක්ස් ප්‍රදේශයේ හොඳම පුහුණුව රඳා පවතින්නේ සමාගම කවුරුන්ද යන්න සහ ඔවුන් ඉටු කරන කාර්යභාරය මතය. නිදසුනක් ලෙස, ගබඩා කර ඇති මුක්කු මඟින් ඔබට අවසරය සකසා ගැනීමට ඉඩ සලසයි. ඔබ කිසියම් මූල්‍ය කාර්යයක් කරන්නේ නම් සහ අභ්‍යන්තර පාලනයන් සලකා බැලිය යුතු නම්, පරිශීලකයින්ගෙන් ඔබේ දත්ත ආරක්ෂා කිරීම සඳහා ඇති එකම ශක්‍ය විකල්පය ඒවා වේ. නමුත් ඔබ බහු පසුබිම් සහිත COTS නිෂ්පාදන නිර්මාණය කරන්නේ නම්, ඒවා දත්ත සමුදායට විශේෂිත වේ. ඔබ උපදේශන සමාගමක් නම්, තත්වයන් සඳහා හොඳම ලෙස වෙනස් ප්‍රවේශයන් කිහිපයක් සලකා බැලීමට ඔබට අවශ්‍ය විය හැකිය.
HLGEM

3
@HLGEM ඔබ ගෙනා කිසිම කරුණකට මම විරුද්ධ නැහැ . නමුත් පිළිතුරේ නිබන්ධනයට මම විරුද්ධ වන්නේ ඩී.බී.ඒ අයදුම්පතට තර්කනය ඉදිරිපත් කිරීමට මූලික හේතුව ඔහු උපදේශකයෙකු වන අතර පාරිභෝගිකයා රවටා ගැනීමට අදහස් කරන බැවිනි. ගබඩා කර ඇති ක්‍රියා පටිපාටි භාවිතා කළ යුතුද යන්න තේරීම සමඟ පුද්ගලයෙකුගේ සදාචාරාත්මක ස්ථාවරය එය බැඳ තබයි. මගේ මතය අනුව, දෙපාර්ශවයේම තාක්ෂණික තර්ක පවතින අතර, දෙපැත්තේම තර්ක යෙදුමට, යෙදුමට, තාක්‍ෂණයට තාක්‍ෂණයට, සමාගමට සමාගමට, කර්මාන්තයට කර්මාන්තයට වෙනස් වේ. චේතනාව අවුලුවාලීමට පෙර මම පළමුව කුසලතා සොයමි.
yfeldblum

ඔහු උපදේශන ආයතනයක සේවය කරන බව පැවසීය. පාරිභෝගිකයාගේ වෙබ් අඩවියට යොදවා ඇති ගබඩා කර ඇති ක්‍රියා පටිපාටිවලට එරෙහිව කේතය පිළිබඳ වැඩි පාලනයක් පවත්වා ගැනීම මෙය ඔවුන්ගේ “හොඳම පුහුණුව” විය හැකි ඉතා නීත්‍යානුකූල හේතුවකි. එය "ගනුදෙනුකරු ඉස්කුරුප්පු කිරීම" නොවිය හැකි නමුත් වැඩි පාලනයක් පිළිබඳ ගැටළුවක් විය හැකිය.
ජෙසී

3

දත්ත සමුදා වෙළඳ නාම මාරු කිරීම සහ ගබඩා කර ඇති එකම ක්‍රියා පටිපාටි භාවිතා කිරීම ඉතා අපහසුය.

ඔබේ කණ්ඩායමට DBA එකක් නොමැති අතර වෙනත් කිසිවෙකුට SQL සමඟ කිසිවක් කිරීමට අවශ්‍ය නැත.

මෙය ක්‍රමලේඛකයෙකු වන ඩී.බී.ඒ.


2

IMO එය රඳා පවතී. ගබඩා කර ඇති ක්‍රියා පටිපාටිවලට ඒවායේ ස්ථානයක් ඇත, නමුත් ඒවා හොඳම භාවිතයක් නොවේ, ඒවා කිසිසේත් වළක්වා ගත යුතු දෙයක් නොවේ. ස්මාර්ට් සංවර්ධකයෙකු යම් තත්වයක් නිසි ලෙස තක්සේරු කරන්නේ කෙසේදැයි දන්නා අතර ගබඩා කළ ක්‍රියා පටිපාටියක් එයට පිළිතුරද යන්න තීරණය කරයි. පුද්ගලිකව මම කලින් නියම කළ වාර්තා හෝ ඒ හා සමාන ඒවා හැර ගබඩා කර ඇති ක්‍රියා පටිපාටිවලට වඩා යම් ආකාරයක ORM එකක් (අමු ලින්ක් සිට වර්ග වැනි මූලික එකක් පවා) භාවිතා කිරීමට රසිකයෙක් වෙමි.


Downvoters අදහස් දැක්විය යුතුය.
සැන්ඩ්රොක්

2

විවිධ ක්‍රමලේඛන භාෂා භාවිතා කරමින් ව්‍යාපාර තාර්කිකත්වය විවිධ ස්ථර අතර බෙදී යාම සැමවිටම ගැටලු මූලාශ්‍රයකි. ඔබට ලෝකයන් අතර මාරු වීමට සිදුවන විට දෝෂයක් සොයා ගැනීම හෝ වෙනසක් ක්‍රියාත්මක කිරීම දුෂ්කර ය.

දත්ත සමුදායේ ජීවත්වන සියලුම ව්‍යාපාර තර්කනයන් PL / SQL පැකේජවලට ඇතුළත් කිරීමෙන් හොඳට කරන සමාගම් මම දනිමි . ඒවා ඉතා විශාල යෙදුම් නොවේ, නමුත් සුළුපටු නොවේ; 20K-100K LOC කියන්න. (PL / SQL T-SQL වලට වඩා එවැනි පද්ධතියකට වඩාත් සුදුසුය, එබැවින් ඔබ T-SQL පමණක් දන්නේ නම්, ඔබ දැන් අවිශ්වාසයෙන් හිස ගසා දමනු ඇත ...)


2

මෙය තවම සඳහන් නොකළ තවත් කරුණකි:

කේත උත්පාදනය කිරීමේ මෙවලම් සහ ප්‍රතිලෝම ඉංජිනේරු මෙවලම් ඇත්ත වශයෙන්ම ගබඩා කර ඇති ක්‍රියා පටිපාටි සමඟ හොඳින් කටයුතු කළ නොහැක. මෙවලම සාමාන්‍යයෙන් ප්‍රොක් කරන්නේ කුමක්දැයි කිව නොහැක. Proc ප්‍රති results ල කට්ටලයක් ලබා දෙයිද? ප්‍රති results ල කිහිපයක්? එහි ප්‍රති results ල වගු කිහිපයකින් සහ තාවකාලික වගු වලින් ලබා ගන්නේද? Proc යනු සංවෘත යාවත්කාලීන ප්‍රකාශයක් පමණක් වන අතර කිසිවක් ආපසු ලබා නොදේද? එය ප්‍රති set ල කට්ටලයක්, ප්‍රතිලාභ අගයක් සහ සමහර “කොන්සෝල ප්‍රතිදානය” ලබා දෙයිද?

එබැවින් දත්ත හුවමාරු වස්තුවක් වන ඩීටීඕ සහ ඩීඕඕ ස්තරය ස්වයංක්‍රීයව නිර්මාණය කිරීම සඳහා ඔබට මෙවලමක් භාවිතා කිරීමට අවශ්‍ය නම් (ජීවිතාරක්ෂකයේ “සේවා තනන්නා” වැනි), ඔබට පහසුවෙන් එය කළ නොහැක.

එපමණක් නොව, දත්ත ප්‍රභවය පොලිස් අධිකාරීවරයෙකු වන විට හයිබර්නේට් වැනි ORM වලට නිසි ලෙස ක්‍රියා කළ නොහැක. දත්ත ප්‍රවේශය කියවීමට පමණි.


ගබඩා කිරීමේ ක්‍රියාපටිපාටියට කිසිදු ගැටළුවක් නොමැති විට, ගබඩා කිරීමේ ක්‍රියා පටිපාටියක් ප්‍රති set ල කට්ටලයක් ලබා දෙයිද යන්න සොයා ගැනීමට කේත උත්පාදනය කිරීමේ මෙවලම්වලට එතරම් අපහසු කාලයක් තිබීම සිත්ගන්නා කරුණකි.
ක්‍රේග්

2

තනිවම ක්‍රමලේඛනය කිරීම, මට විරුද්ධ විය නොහැක ගබඩා කළ ක්‍රියා පටිපාටි ලිවීමට .

මම මූලික වශයෙන් MySQL භාවිතා කරමි. PostGreSQL වැනි මා මීට පෙර වස්තු-නැඹුරු දත්ත සමුදායන් භාවිතා කර නැත, නමුත් මට MySQL හි SP සමඟ කළ හැකි දේ මේස ව්‍යුහය මඳක් away ත් කර ඇත. පොලිස් අධිකාරී මහතාගේ මට කාගේ යෙදවුම් හා නිමැවුම් මෙම ප්රාථමික ක්රියා සැලසුම් කිරීම සඳහා ඉඩ වෙනස් නොවන යටින් දත්ත සමුදාය පවා නම්, කරන්නේ වෙනස්.

ඉතින්, මට නමින් ක්‍රියා පටිපාටියක් logInතිබේ. ඔබ ලොග් වූ විට, ඔබ සැමවිටම සමත් usernameවී passwordඇත. ආපසු ලබා දුන් ප්‍රති result ලය පූර්ණ සංඛ්‍යාවයිuserId .

logInගබඩා කරන ලද ක්‍රියාපටිපාටියක් වන්නේ කවදාද , ආරම්භක පිවිසුමට සමගාමීව සිදුවන ප්‍රවේශයේදී මට අමතර වැඩක් එක් කළ හැකිය. ගබඩා කළ ක්‍රියා පටිපාටියක කාවැද්දූ තර්කනය සහිත SQL ප්‍රකාශන මාලාවක් (ඇමතුමට වඩා) ලිවීමට පහසුය. environment FETCH) -> (ප්‍රති result ල ලබා ගන්න) -> (අමතන්න පරිසරය FETCH) ඔබේ ලොජික් සේවාදායක පැත්ත ලියන විට ඔබ කළ යුතුය.


1

ගබඩා කර ඇති ක්‍රියා පටිපාටි සේවාදායකයේ cpu කාලය භාවිතා කරන බව පෙන්වා දීමට මට අවශ්‍යය. ගොඩක් නෙවෙයි, නමුත් සමහරක්. වැඩ පටිපාටියේ සිදු කරන ලද සමහර කාර්යයන් යෙදුමේ කළ හැකිය. දත්ත ස්තරයට වඩා යෙදුම් ස්තරය පරිමාණය කිරීම පහසුය.


3
දත්ත සමුදායක් පරිමාණය කිරීම දුෂ්කර ද?
ජෙෆෝ

1
එය අවම වශයෙන් සැලකිය යුතු තරම් මිල අධිකය (ඔබගේ MySQL මත හැර) සහ බොහෝ ස්ථානවල මම වෙනත් SQL සේවාදායක ව්‍යවසාය සංස්කරණ බලපත්‍රයක් ලබා ගැනීම දත්
අදින්නාක්

කතාවේ යෙදුම් ස්ථරයක් පරිමාණයට වඩා පරිමාණ දත්ත ගබඩාව දුෂ්කර නොවේ
බ්‍රයන් ඔග්ඩන්

1

මාක් සමඟ එකඟ වන්නේ ප්‍රජාව සෑහෙන කාලයක් තිස්සේ ගබඩා කර ඇති ක්‍රියා පටිපාටිවලින් සැබවින්ම moving ත් වී ඇති බවය. එස්පී භාවිතා කිරීමට අපට අවශ්‍ය විය හැක්කේ මන්දැයි මුල් පෝස්ටරයේ මතු වූ බොහෝ කරුණු වරෙක වලංගු වූ අතර, එය සෑහෙන කාලයක් ගත වී ඇති අතර තවත් පෝස්ටරයක සඳහන් පරිදි පරිසරය වෙනස් වී ඇත. නිදසුනක් වශයෙන්, එස්පීඑස් 'දවසේ ආපසු' භාවිතා කිරීම සඳහා වූ එක් තර්කයක් මට මතකයි, මන්ද ඒවායේ ක්‍රියාත්මක කිරීමේ සැලසුම් 'පූර්ව සම්පාදනය' කර ඇති අතර අපගේ කේතයෙන් ගතික SQL එක් එක් ක්‍රියාත්මක කිරීම සමඟ 'නැවත සම්පාදනය' කළ යුතු බැවිනි. ප්‍රධාන දත්ත සමුදායන් වෙනස් වී, වැඩිදියුණු වී, අනුවර්තනය වී ඇති බැවින් මෙය තවදුරටත් සිදු නොවේ.

එයින් කියැවෙන්නේ අපි මගේ වර්තමාන ව්‍යාපෘතිය සඳහා පොලිස් අධිකාරීවරුන් භාවිතා කරන බවයි. හේතුව හුදෙක් අපි තවමත් පැරණි යෙදුම් සඳහා සහය දක්වන දැනට පවතින දත්ත සමුදායක් මත නව යෙදුම් ගොඩනඟන බැවිනි. එහි ප්‍රති As ලයක් වශයෙන්, අපි පැරණි යෙදුම් අක්‍රිය කරන තුරු ක්‍රමෝපායන් වෙනස් කිරීම ඉතා අපහසු වේ. යෙදුමට අවශ්‍ය හැසිරීම සහ රීති මත පදනම්ව අපගේ නව යෙදුම් සැලසුම් කිරීමටත්, අප කැමති ආකාරයට දත්ත සමුදාය සමඟ තාවකාලිකව සම්බන්ධ වීමට පොලිස් අධිකාරීවරුන් භාවිතා කිරීමටත්, පවත්නා SQL වලට අනුවර්තනය වීමට පොලිස් අධිකාරීවරුන්ට ඉඩ දීමටත් අපි දැනුවත් තීරණයක් ගත්තෙමු. . යෙදුම් කේතයේ වෙනස්කම් අවශ්‍ය නොවී දත්ත සමුදා මට්ටමින් වෙනස්කම් කිරීම පොලිස් අධිකාරීවරුන් විසින් පහසු කරන බවට මෙය පෙර පෝස්ටරයක සඳහන් වේ. ඇඩැප්ටර රටාව ක්‍රියාත්මක කිරීමක් ලෙස පොලිස් අධිකාරීවරුන් භාවිතා කිරීම නිසැකවම මට අර්ථවත් කරයි (මගේ වර්තමාන ව්‍යාපෘතිය අනුව),

Fwiw, යෝජනා ක්‍රමය යාවත්කාලීන වූ විට පොලිස් අධිකාරීවරුන් ඉවත් කිරීම අපගේ අභිප්‍රායයි. ආයතනික සංවර්ධනයේ අනෙක් සෑම දෙයක්ම මෙන්ම, එය කවදා හෝ සිදුවේදැයි අපි බලමු! [සිනහව]


0

ගබඩා කළ ක්‍රියා පටිපාටි භාවිතා කිරීම නිර්දේශ කරන්නේ කෙසේද යන්න පිළිබඳ සංක්ෂිප්ත දළ විශ්ලේෂණයක් කිරීමට මට අවශ්‍ය විය. ඒවා කිසිසේත් නරක පුරුද්දක් යැයි මම නොසිතමි. අනෙක් අය පවසා ඇති පරිදි ඒවා නිසි අවස්ථාවන්හිදී භාවිතා කළ යුතුය.

විවිධ යෙදුම් සඳහා ලිවීමේ ක්‍රියා පටිපාටි ක්‍රියාකාරීත්වයේ ව්‍යාකූලත්වයට පත්විය හැකි අතර යෙදුමේ ව්‍යාපාරික තර්කනය වෙන් කොට දත්ත සමුදාය වඩාත් අසංවිධිත හා සීමාකාරී වීමට හේතු වන ගැටලු මට පෙනේ.

එබැවින්, දත්ත සමුදායට විශේෂිත වූ සම්බන්ධිත දත්ත පදනම් කරගත් කාර්යයන්හි ගබඩා කළ ක්‍රියා පටිපාටියක් මම භාවිතා කරමි. වෙනත් වචන වලින් කිවහොත්, ඕනෑම යෙදුමක් සඳහා දත්ත වලට අනුරූප වන දත්ත සමුදා මෙහෙයුම් සඳහා තර්කනයක් තිබේ නම්, ගබඩා කර ඇති ක්‍රියා පටිපාටියක් මඟින් දත්ත නිරන්තරයෙන් ගබඩා කර තබා ගත හැකිය (අර්ථවත් කරයි). මම හිතන්නේ මේ සඳහා හොඳ උදාහරණ නම්: ස්ථාවර ලොග් වීම, ස්ථාවර නඩත්තු කිරීම, සංවේදී තොරතුරු සමඟ වැඩ කිරීම යනාදිය.

දත්ත සමුදායේ ශක්තිමත් දත්ත ආකෘතිය අනුගමනය කරන යෙදුමේ අවශ්‍යතාවන්ට සරිලන පරිදි දත්ත හසුරුවන වෙනත් කාර්යයන්, ව්‍යාපාර තර්කනය අඩංගු වෙනත් ස්ථරයක ගබඩා කළ යුතු යැයි මම සිතමි. කෙටියෙන් කිවහොත්, අනුකූලතාව සඳහා දත්ත සමුදා විශේෂිත දත්ත හැසිරවීම මඟින් ගබඩා කළ ක්‍රියා පටිපාටි භාවිතා කළ හැකිය, එහිදී අනුකූලතාව දත්ත සමුදායේ අඛණ්ඩතාව යෝජනා ක්‍රම ආකෘතිය පසුකර යයි.


-1

"මා සඳහා" ගබඩා කර ඇති ක්‍රියා පටිපාටි OLAP "කියවීමට-පමණක්" මෙහෙයුම් සඳහා සුදුසු වේ, දුර්ලභ භාවිතය.

ව්‍යාපාර නීති සඳහා, ජාවා යෙදුම් සේවාදායකයන්ට මම කැමතියි. කේතීකරණයේ පහසුව සඳහා සහ මාස්ටර් ඩීබී සේවාදායකයන්ගෙන් cpu සහ මතක බර අඩු කර ගැනීම සඳහා. මෙම සැකසුම තුළ යෙදුම් සේවාදායකයේ ඇති සියලුම කේත සමාලෝචනය කිරීමට හෝ ලොග් වීමට අපහසු වන අතර එය පරිමාණය කළ හැකිය.

මට වැදගත් දෙය වන්නේ දෝශ නිරාකරණ ක්‍රියා පටිපාටිවලට වඩා ව්‍යාපාර ස්ථරයේ නිදොස්කරණය කිරීමයි.


ඔබ උපකල්පන කිහිපයක් ඉදිරිපත් කර ඇත: OP ට OLAP අවශ්‍යතාවයක් ඇති බව (ප්‍රශ්නයේ සඳහන් නොවේ); භාවිතා කරන වේදිකාවට ජාවා යෙදුම් සේවාදායකයන් ඇති බව (ටැගය SQL සේවාදායකය නිසා විය නොහැක). ඔබ පිළිතුරු ද අනෙක් පිළිතුරු 22 දැනටමත් ආවරණය නොකළ කිසිවක් ගෙන එන්නේ නැත
ඇඩම් සකර්මන්

මම කිව්වේ මම නව ව්‍යාපෘතියක් ආරම්භ කළහොත්, පුද්ගලික තේරීමක් සඳහා කියවීමට පමණක් වන මෙහෙයුම් සඳහා ගබඩා කර ඇති ක්‍රියා පටිපාටිය කලාතුරකින් භාවිතා කරනු ඇත. දත්ත ස්ථරය වෙනුවට ව්‍යාපාර තාර්කික ස්තරයේ බොහෝ කේතීකරණ කිරීම වඩාත් පහසු බව මට පෙනේ.
jaizon lubaton

මීට පෙර පිළිතුරු 24 කින් ඉදිරිපත් කර පැහැදිලි කර ඇති කරුණු වලට වඩා සැලකිය යුතු කිසිවක් මෙය ඉදිරිපත් කරන බවක් නොපෙනේ, අවුරුදු 4 ක් පැරණි ප්‍රශ්නයක් ගැසීමට තරම් අන්තර්ගතයක් නැති තරම්ය
gnat

-2

අනවශ්‍ය ලෙස ව්‍යාපාර තර්කනය බෙදා හැරීමට සහ නිශ්චිත දත්ත සමුදා වෙළෙන්දෙකු සමඟ ඔබව බැඳීමට අමතරව, එය අපේක්ෂා කළ දෙය සඳහා තාක්ෂණයක් භාවිතා කිරීම ගැන මම තරයේ විශ්වාස කරමි. දත්ත සමුදායක් යනු සම්බන්ධතා දත්ත ගබඩාවකි. දත්ත ගබඩා කිරීමට එය භාවිතා කරන්න, වෙන කිසිවක් නැත.

ඔබේ මෙවලම් ely ානවන්තව තෝරා ගන්න, ඔබ දිගු කාලීනව සිත් රිදවන ලෝකයක් ඉතිරි කර ගනු ඇත.


ඔබ අවතක්සේරු කිරීමට යන්නේ නම් එසේ කරන්න, නමුත් අවම වශයෙන් එයට හේතුව පැහැදිලි කරන්න.
නිකෝ

සමහර විට ඔබ වැරදියි. පොලිස් අධිකාරීවරයෙකු යනු ඔබ එහි කේත ලිවීම යැයි අදහස් නොකෙරේ, ඔබේ දත්ත ප්‍රවේශ විමසුම් ලිවීම පමණි (මා සිතන අවස්ථා වලින් 99% ක්ම). ඊට අමතරව, දත්ත ආකෘතියට ප්‍රේරක සහ අවහිරතා තැබීම 'කේතය' ලෙස ගණන් ගනී - එනම් මෙහෙයුම් තර්කනය මිස දත්ත නොවේ. ඒ නිසා මගේ අදහස ඔබ වැරදියි.
gbjbaanb

දත්ත සමුදාය හැර ඔබේ ගබඩා කළ දත්තවල පරිණාමන සකසන්නේ කොතැනින්ද?
ක්‍රිස් ට්‍රැවර්ස්
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.