এসকিউএল সার্ভারে ক্রস-ডাটাবেস প্রশ্নগুলি ব্যয়বহুল? সমস্ত ডাটাবেস একই উদাহরণে।
এসকিউএল সার্ভারে ক্রস-ডাটাবেস প্রশ্নগুলি ব্যয়বহুল? সমস্ত ডাটাবেস একই উদাহরণে।
উত্তর:
দুঃখিত, প্রশ্নটিতে মন্তব্য করার মতো যথেষ্ট খ্যাতি আমার নেই, তবে আমার অভিজ্ঞতা থেকে যদি ক্লায়েন্ট অ্যাপ্লিকেশন কোনও ক্রয়ের ডেটাবেস ব্যবহার করে এমন কোনও প্রশ্নের জন্য একটি লেনদেন উত্থাপন করে তবে এটি ডিটিসি লেনদেনের বিতরণ এবং ওভারহেডে লেনদেনকে উত্সাহিত করবে ।
এই ক্ষেত্রে ডিটিসি ওভারহেডকে পারফরম্যান্সে নেতিবাচক হিসাবে দেখা যেতে পারে। মাইক্রোসফ্ট ডিটিসি লেনদেনের বর্ণনা যেমন দেয় তবে সাধারণত পার্থক্যটি নগণ্য হবে:
বিতরণ লেনদেনগুলি সাধারণত উল্লেখযোগ্য সিস্টেম সংস্থান গ্রহণ করে
... যা আপনার সার্ভারের প্রয়োজনীয় সংস্থানগুলি সরবরাহ করতে না পারলে পারফরম্যান্স অবক্ষয়ের পরামর্শ দেয়।
কেবল পরিষ্কার করার জন্য, উপরের নিবন্ধটি দূরবর্তী সিস্টেমগুলি চালু করার সময় স্থানীয় লেনদেনের প্রচারের বর্ণনা দিচ্ছে, তবে ক্রস ডাটাবেস অনুসন্ধানগুলি ব্যবহার করার সময় আমি একই সার্ভারে লেনদেনের ক্ষেত্রে এটি হয়ে দাঁড়িয়েছি।
থমাস স্ট্রিংগার তাঁর মন্তব্যে যেমন উল্লেখ করেছেন, প্রমাণীকরণে অতিরিক্ত ওভারহেড থাকবে যদিও আমি মনে করি এটি সিআইডি চালিত হবে সেখানে অন্যদিকে ন্যূনতম ওভারহেড থাকবে যদি না আপনি অন্য ডেটাবেস অ্যাক্সেস করতে আলাদা পরিচয়পত্র ব্যবহার না করেন।
যদি ডেটাবেস সেটিংসে পার্থক্য থাকে যা জোড়ায় অতিরিক্ত ওভারহেডের কারণ হয়ে থাকে যা পূর্ববর্তী পরামর্শগুলির চেয়ে বড় প্রভাব ফেলতে পারে - উদাহরণস্বরূপ ডাটাবেস কোলেশন। ডাটাবেস কোলেশন কেবল কার্য সম্পাদনের পার্থক্য নয়, একটি কার্যকরী পার্থক্য হিসাবে প্রকাশ করতে পারে।
আমি মনে করি ক্রোস-ডাটাবেস প্রশ্নের জন্য সম্পর্ক ব্যবহার করার সুবিধা না পেয়ে অপ্টিমাইজারের সাথে পারফরম্যান্সের পক্ষে সবচেয়ে শক্তিশালী যুক্তি রয়েছে আর অন্যদিকে ডেটাবেজের মধ্যে স্বনির্ভর আপনি নিজের সুবিধার জন্য সম্পর্ক ব্যবহার করতে পারেন।
If a local transaction spans two or more databases on the same instance of the Database Engine, the instance uses an internal two-phase commit to commit all of the databases involved in the transaction.
- যদি আপনি অন্যথায় খুঁজে পেয়ে থাকেন তবে অনুগ্রহ করে স্পষ্ট প্রজনন পদক্ষেপের সাথে সংযোগের উপর একটি বাগ রিপোর্ট করুন।
এসকিউএল সার্ভার ২০১৪-এ, মেমরি-অনুকূলিত টেবিলগুলি ক্রস-ডাটাবেস লেনদেনকে সমর্থন করে না। আপনি একই লেনদেন বা একই ক্যোয়ারী থেকে অন্য কোনও ডাটাবেস অ্যাক্সেস করতে পারবেন না যা মেমরি-অনুকূলিত টেবিলটিও অ্যাক্সেস করে। আপনি সহজেই একটি ডাটাবেসের কোনও টেবিল থেকে অন্য ডাটাবেসে কোনও মেমরি-অনুকূলিত টেবিলটিতে অনুলিপি করতে পারবেন না। http://msdn.microsoft.com/en-us/library/dn584627(v=sql.120).aspx বিতরণ এবং ক্রস-ডাটাবেস লেনদেনগুলি ডাটাবেস মিররিং / এওএজি সমর্থন করে না। http://technet.microsoft.com/en-us/library/hh393530.aspx । আপনাকে ব্যবহার মালিকানা chaining যাচ্ছি থাকেন তাহলে, সচেতন নিরাপত্তা ঝুঁকি হতে http://msdn.microsoft.com/en-us/library/ms188676.aspx