সমান্তরাল স্কেলার ইউডিএফ সমর্থন কি যুক্তিসঙ্গত বৈশিষ্ট্য অনুরোধ?


10

এটি মোটামুটিভাবে নথিভুক্ত করা হয়েছে যে স্কেলার ইউডিএফের একটি সামগ্রিক সিরিয়াল পরিকল্পনা জোর করে।

সমান্তরালে ফাংশন চলমান

পাইপলাইনে যেখানে একটি ইউডিএফ গণনা করতে হবে সেখানে এমন একটি বিন্দুতে প্রচুর সংখ্যক সারি আসার পরে কেন ইঞ্জিন কেবল প্রসেসরের মধ্যে তাদের বিতরণ করতে পারে না? যদি কোনও ইউডিএফের মধ্যে কোনও রাজ্য না থাকে তবে আদেশের বিষয়টি বিবেচনা করা উচিত নয়।

ইউডিএফের ব্ল্যাক বক্স হওয়ার বিষয়ে দাবী অবশ্যই কর্সর ব্যবহার করবে। আমি দেখতে পাচ্ছি যে কোনও ক্ষেত্রে রাষ্ট্রের পুনরাবৃত্তির মধ্যে কিছু অবস্থা বজায় থাকে এমন ক্ষেত্রে এসপি এর মধ্যে ব্যবহারকারীর কার্সারকে সমান্তরাল করা যায় না তবে মনে হয় এটি অন্যথায় অন্যথায় সমান্তরাল হওয়া উচিত।

ইঞ্জিন কেন কেবলমাত্র ইউডিএফ গণনার পর্যায়ে পরিবর্তে পুরো পরিকল্পনাটি সিরিয়াল হতে বাধ্য করে তা বোঝানোর জন্য অতিরিক্ত পয়েন্ট।

সমান্তরাল ইউডিএফ সমর্থন সমর্থন করার জন্য একটি যুক্তিসঙ্গত বৈশিষ্ট্য?


1
উপযুক্ত প্রতিক্রিয়া মনে হয়, আপনার লিঙ্কের গ্রহণযোগ্য উত্তরে উল্লেখ করা হয়েছে যে কোনও স্কেলারের ব্যবহারকারীর সংজ্ঞায়িত ফাংশনগুলিকে একক-কলাম ইনলাইন টেবিল-মূল্যযুক্ত ফাংশন হিসাবে আবার লিখতে । এগুলি দৃশ্য হিসাবে একইভাবে প্রসারিত হয় এবং এটি সম্পূর্ণরূপে অনুকূলিত হয়। এই আলোকে, আপনার প্রশ্নটি কি এখনও মেধা বঞ্চিত করে?
পিটার জেরকেন্স 21

1
হ্যাঁ, টিভিএফ সাফল্যের সাথে। আমি জিজ্ঞাসা করেছি কারণ এ জাতীয় প্রাকৃতিক নির্মাণ ব্যবহার করা এড়ানো ভুল বলে মনে হচ্ছে। এছাড়াও নতুন এসকিউএল বিকাশকারীরা ইউডিএফ অভ্যন্তরীণ শিখতে আশা করা অবৈধ মনে হয়।
ক্রোকুসেক

স্পষ্ট মন্তব্য। আইটিভিএফ দিয়ে সাফল্য তবে মাল্টি-স্টেটমেন্ট টিভিএফ নয়।
ক্রোকুসেক

উত্তর:


17

এটি মোটামুটিভাবে ডকুমেন্টেড যে ইউডিএফগুলি সামগ্রিক সিরিয়াল পরিকল্পনা জোর করে।

আমি নিশ্চিত নই যে এগুলি সবই ডকুমেন্টেড।

  • একটি স্কেলার টি-এসকিউএল ফাংশন পরিকল্পনার যে কোনও জায়গায় সমান্তরালতা প্রতিরোধ করে।
  • একটি স্কেলার সিএলআর ফাংশন সমান্তরালভাবে কার্যকর করা যেতে পারে, যতক্ষণ না এটি ডাটাবেস অ্যাক্সেস করে।
  • একটি বহু-বিবৃতি টেবিল-মূল্যবান টি-এসকিউএল ফাংশন একটি পরিকল্পনায় একটি সিরিয়াল জোনকে বাধ্য করে যা অন্য কোথাও সমান্তরালতা ব্যবহার করতে পারে।
  • একটি ইনলাইন টেবিল-মূল্যবান টি-এসকিউএল ফাংশন দেখার মতো প্রসারিত হয়, সুতরাং এর সরাসরি কোনও প্রভাব নেই।

দেখুন একটি সমান্তরাল এক্সেকিউশন পরিকল্পনা অত্যাচার এবং / অথবা ক্রেইগ Freedman এর সমান্তরাল এক্সেকিউশন উপস্থাপনা

ইউডিএফগুলি একটি ব্ল্যাক বক্স হওয়ায় কার্সারটি ব্যবহার করা উচিত বলে দাবি রয়েছে।

এই দাবিগুলি সঠিক নয়।

ইঞ্জিন কেন কেবলমাত্র ইউডিএফ গণনার পর্যায়ে পরিবর্তে পুরো পরিকল্পনাটি সিরিয়াল হতে বাধ্য করে তা বোঝানোর জন্য অতিরিক্ত পয়েন্ট।

আমার বোধগম্যতা হ'ল বর্তমান বিধিনিষেধগুলি নির্ভুলভাবে কিছু বাস্তবায়ন বিশদের ফলাফল। সমান্তরালতা ব্যবহার করে ক্রিয়াকলাপগুলি কার্যকর করতে না পারার কোনও মৌলিক কারণ নেই।

বিশেষত, টি-এসকিউএল স্কেলার ফাংশনগুলি একটি পৃথক টি-এসকিউএল প্রসঙ্গের অভ্যন্তরে কার্যকর করে, যা সঠিক ক্রিয়াকলাপ, সমন্বয় এবং শাটডাউন (বিশেষত একটি ত্রুটির ক্ষেত্রে) জটিল করে তোলে।

একইভাবে, টেবিল ভেরিয়েবলগুলি সাধারণভাবে সমান্তরাল পাঠকে সমর্থন করে (তবে লেখেন না), তবে টেবিল-ভেরিয়েবল একটি টেবিল-মূল্যযুক্ত ফাংশন দ্বারা প্রকাশিত কার্যকরকরণ-নির্দিষ্ট কারণে সমান্তরাল পাঠকে সমর্থন করতে সক্ষম হয় না। একটি অনুমোদিত উত্তর সরবরাহ করার জন্য আপনার উত্স কোড অ্যাক্সেস (এবং বিশদ ভাগ করার স্বাধীনতা) এর সাথে কারও প্রয়োজন হবে, আমি ভীত।

সমান্তরাল ইউডিএফ সমর্থন সমর্থন করার জন্য একটি যুক্তিসঙ্গত বৈশিষ্ট্য?

অবশ্যই, যদি আপনি একটি শক্তিশালী যথেষ্ট ক্ষেত্রে করতে পারেন। আমার নিজের অনুভূতিটি হ'ল জড়িত কাজগুলি বিস্তৃত হবে, সুতরাং আপনার প্রস্তাবনাটি একটি অত্যন্ত উচ্চতর বারটি পূরণ করতে হবে meet উদাহরণস্বরূপ, ইনলাইন স্কেলার ফাংশন সরবরাহ করার জন্য সম্পর্কিত (এবং আরও সহজ) অনুরোধটির দুর্দান্ত সমর্থন রয়েছে, তবে বর্তমানে বেশ কয়েক বছর ধরে তা বাস্তবায়নযোগ্য নয়।


আপনি মাইক্রোসফ্ট কাগজ পড়তে পছন্দ করতে পারেন:

... যা মাইক্রোসফ্ট এসকিউএল সার্ভার ২০১ after এর পরে রিলিজে টি-এসকিউএল স্কেলার ফাংশন পারফরম্যান্স সমস্যার সমাধান করার জন্য গ্রহণ করা পদ্ধতির রূপরেখার রূপরেখা দেয়।

ফ্রয়েডের লক্ষ্য হ'ল বিকাশকারীদের পারফরম্যান্সে আপস না করে ইউডিএফ এবং পদ্ধতিগুলির বিমূর্ততা ব্যবহার করতে সক্ষম করা। যখনই সম্ভব হয় ফায়ারড স্বয়ংক্রিয়ভাবে আবশ্যক প্রোগ্রামগুলিকে সমতুল্য সম্পর্কের বীজগণিত আকারে রূপান্তর করতে একটি অভিনব কৌশল ব্যবহার করে এই লক্ষ্য অর্জন করে। আবশ্যক কোডগুলির ফায়ারওড মডেলগুলি আপেক্ষিক এক্সপ্রেশন হিসাবে অবরুদ্ধ করে এবং প্রযোজ্য অপারেটরটি ব্যবহার করে পদ্ধতিগতভাবে তাদেরকে একটি একক অভিব্যক্তির সাথে যুক্ত করে, যার ফলে ক্যোয়ারী অপ্টিমাইজারকে দক্ষ সেট-ভিত্তিক, সমান্তরাল কোয়েরি প্ল্যানগুলি চয়ন করতে সক্ষম করে ।

(জোর আমার)


ইনলাইন স্কেলার টি-এসকিউএল ফাংশনগুলি এখন এসকিউএল সার্ভার 2019 এ প্রয়োগ করা হয়েছে


11

পল যেমন তার উত্তরে যথাযথভাবে উল্লেখ করেছেন, স্কেলার ইউডিএফগুলি সমান্তরালতা ব্যবহার করে কার্যকর করা যায়নি তার কোনও মৌলিক কারণ নেই। তবে, বাস্তবায়ন চ্যালেঞ্জগুলি বাদ দিয়ে তাদের সিরিয়াল হতে বাধ্য করার আরও একটি কারণ রয়েছে। Froid কাগজ পল দ্বারা উদ্ধৃত এই সম্পর্কে আরো তথ্য দেয়।

কাগজ থেকে উদ্ধৃতি (বিভাগ 2.3):

বর্তমানে, এসকিউএল সার্ভার ইউডিএফগুলিকে অনুরোধ করে এমন প্রশ্নের ক্ষেত্রে আন্তঃ কোয়েরি সমান্তরালতা ব্যবহার করে না। এই সীমাবদ্ধতা হ্রাস করার জন্য পদ্ধতিগুলি তৈরি করা যেতে পারে তবে তারা অতিরিক্ত চ্যালেঞ্জগুলি প্রবর্তন করে, যেমন ইউডিএফের প্রতিটি অনুরোধের জন্য সমান্তরালতার সঠিক ডিগ্রি বাছাই করা।

উদাহরণস্বরূপ, এমন একটি ইউডিএফ বিবেচনা করুন যা অন্য এসকিউএল কোয়েরিগুলিকে অনুরোধ করে, যেমন চিত্র 1-র মধ্যে একটি such ইউডিএফ এবং প্রতিটি ক্যোয়ারির মধ্যে সমান্তরালতার ডিগ্রি স্থির করে (যা সম্ভাব্যভাবে একটি অনুরোধ থেকে অন্যটিতে পরিবর্তিত হতে পারে)। নেস্টেড এবং পুনরাবৃত্ত ইউডিএফগুলির সাথে, এই সমস্যাটি পরিচালনা করা আরও কঠিন হয়ে পড়ে।

কাগজে বর্ণিত ফ্রেডের পদ্ধতির ফলে কেবল সমান্তরাল পরিকল্পনারই ফলস্বরূপ দেখা যায় না, পাশাপাশি ইউডিএফ সম্পর্কিত প্রশ্নের ক্ষেত্রে আরও অনেক সুবিধা যুক্ত হয়। সংক্ষেপে, এটি ইউডিএফগুলির সমান্তরাল সম্পাদনের জন্য আপনার অনুরোধটি গ্রহণ করে।

আপডেট: ফ্রয়েড এখন এসকিউএল সার্ভার 2019 পূর্বরূপের বৈশিষ্ট্য হিসাবে উপলব্ধ। বৈশিষ্ট্যটির নাম "স্কেলার ইউডিএফ ইনলাইনিং"। আরও বিশদ এখানে: https://blogs.msdn.microsoft.com/sqlserverstorageengine/2018/11/07/introducing-scalar-udf-inlining/

[প্রকাশ: আমি ফায়ারড পেপারের সহ-লেখক]


খুব ভালো! যদি আমি সঠিকভাবে বুঝতে পারি তবে এটি কার্যকরভাবে ইউডিএফকে অভ্যন্তরীণভাবে একটি আইটিভিএফ-তে রূপান্তর করতে চলেছে। আমরা কয়েকটি (ডাব্লু / ডিক্লেয়ার / যদি / অন্য) এর জন্য এটি করেছিলাম এবং একটি দুর্দান্ত গোলযোগ তৈরি করেছি। এমনকি আমাদের একটি ডিবাগ "কলাম" ছিল।
ক্রোকুসেক

1
এটি আসলে ইউডিএফকে আইটিভিএফ-তে রূপান্তরিত করে না তবে আপনার স্বজ্ঞাততাটি সঠিক। এসকিউএল ক্যোয়ারী স্তরে ম্যানুয়ালি এটি করা জটিল ইউডিএফগুলির জন্য সত্যই অগোছালো। ফায়ারড আপেক্ষিক বীজগণিত গাছের এই রূপান্তরটি ঘটায় যা জগাখিচুড়ি
কার্তিক

@Karthik আপনি কটাক্ষপাত করা যায়নি dba.stackexchange.com/questions/202211/... । বর্ণিত মামলায়
ফায়ারড

@ রোমান আমি আপনার প্রশ্নে মন্তব্য করেছি।
কার্তিক

1
ফায়ারড পেপারে আপনি যে কাজ করেছেন এবং স্কেলার
ইউডিএফগুলির
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.