আমি মূলত এই পোস্টটি পোস্ট করার পরে থেকে এই প্রশ্নের উত্তর কীভাবে গঠন করা যায় তা সম্পর্কে জোর দিয়েছি। এটি কঠিন কারণ ভিএস2010 এর ক্ষেত্রে সরঞ্জামটির বৈশিষ্ট্য এবং সুবিধাগুলি বর্ণনা করার বিষয়ে নয়। এটি পাঠককে ডাটাবেস বিকাশের দিকে তাদের পদ্ধতির একটি মৌলিক পরিবর্তন আনতে বিশ্বাসী করার বিষয়ে। সহজ নয়.
ডিবিএ, বিকাশকারী / ডিবিএ এবং ওএলটিপি এবং ডেটা গুদাম উভয়ই ব্যাকগ্রাউন্ড মিক্স সহ পাকা ডাটাবেস পেশাদারদের এই প্রশ্নের উত্তর রয়েছে। একসাথে বসে ডাটাবেস বিকাশের প্রতিটি দিকের জন্য এটির কাছে যাওয়া আমার পক্ষে কার্যকর নয়, তাই আমি চেষ্টা করব এবং একটি নির্দিষ্ট দৃশ্যের জন্য একটি কেস তৈরি করব।
যদি আপনার প্রকল্পটি এই মানদণ্ডগুলির সাথে খাপ খায়, তবে আমি মনে করি ভিএস 2010 এর জন্য একটি বাধ্যতামূলক মামলা রয়েছে:
- আপনার দলটি অ্যাপ্লিকেশন বিকাশের জন্য VS2010 ব্যবহার করছে।
- আপনার দলটি উত্স নিয়ন্ত্রণ এবং বিল্ড পরিচালনার জন্য টিএফএস ব্যবহার করছে।
- আপনার ডাটাবেসটি এসকিউএল সার্ভার।
- আপনার টিমের ইতিমধ্যে ভিএস স্বয়ংক্রিয় পরীক্ষার রয়েছে বা এতে আগ্রহী।
আপনি ডাটাবেস উন্নয়নের জন্য VS2010 মূল্যায়নের থাকেন, তবে আপনার বাইবেল হতে হবে ভিসুয়াল স্টুডিও ডাটাবেস গাইড থেকে ভিসুয়াল স্টুডিও ALM রেন্জার্স । যে কোনও উদ্ধৃতি যা অনুসরণ করে যার রেফারেন্স নেই এই দস্তাবেজ থেকে হবে।
তখন আমরা যাই ...
ডাটাবেস বিকাশ প্রক্রিয়া অ্যাপ্লিকেশন বিকাশের থেকে আলাদা কেন?
ডেটা। যদি সেই সমস্যাযুক্ত ডেটা না হয় তবে ডাটাবেস বিকাশ একটি ডডল হবে। আমরা প্রতিটি রিলিজের মধ্যে সমস্ত কিছু ড্রপ করতে পারি এবং এই সমস্যাজনিত পরিবর্তন ব্যবস্থাপনার কথা ভুলে যেতে পারি।
ডেটাবেস পরিবর্তনের প্রক্রিয়াটিকে ডেটাটির অস্তিত্ব জটিল করে তোলে কারণ অ্যাপ্লিকেশন বিকাশের প্রচেষ্টা দ্বারা ডেটাবেসের টেবিল বা অন্যান্য ডেটা স্কিমার আকারকে প্রভাবিত করে এমন পরিবর্তনগুলি চালু করা হয় যখন তথ্য প্রায়শই স্থানান্তরিত হয়, রূপান্তরিত হয় বা পুনরায় লোড হয়। এই পরিবর্তন প্রক্রিয়া চলাকালীন, উত্পাদন মানের ডেটা এবং অপারেশনাল অবস্থার অবশ্যই সেই পরিবর্তনগুলির বিরুদ্ধে সুরক্ষিত করতে হবে যা প্রতিষ্ঠানের নিষ্ঠা, মান এবং উপযোগকে বিপদে ফেলতে পারে।
এসএসএমএসে কী সমস্যা?
একে কারণ হিসাবে এসকিউএল সার্ভার ম্যানেজমেন্ট স্টুডিও বলা হয়। একটি স্বতন্ত্র সরঞ্জাম হিসাবে, আপনি যদি স্বীকৃত সেরা অনুশীলনগুলি অনুসরণ করতে চলেছেন তবে আপনার বিকাশের প্রচেষ্টা পরিচালনা করা অবৈধ ।
একা স্ক্রিপ্ট সহ, অর্থাত্ কার্যকরভাবে আপনার বিকাশে প্রতিষ্ঠিত উত্স নিয়ন্ত্রণের অনুশীলনগুলি প্রয়োগ করতে আপনাকে উভয় অবজেক্টের সংজ্ঞা বজায় রাখতে হবে (উদাহরণস্বরূপ একটি তৈরি টেবিল স্ক্রিপ্ট) এবং স্ক্রিপ্টগুলি (যেমন ALTER TABLE) পরিবর্তন করতে হবে এবং সেগুলি সিঙ্ক্রোনাইজড থাকবে তা নিশ্চিত করার জন্য কঠোর পরিশ্রম করতে হবে।
কোনও টেবিলের পরিবর্তনের জন্য সংস্করণগুলির শৃঙ্খলে চমত্কার খাঁজটি দ্রুত পান। খুব সরল উদাহরণ:
-- Version 1
CREATE TABLE dbo.Widget (WidgetId INT, Name VARCHAR(20))
-- Version 2
CREATE TABLE dbo.Widget (WidgetId INT, Name VARCHAR(20), Description VARCHAR(50))
-- Version 3
CREATE TABLE dbo.Widget (WidgetId INT, Name VARCHAR(20), Description VARCHAR(100))
সংস্করণ 3 দ্বারা, ডাটাবেস পরিবর্তন স্ক্রিপ্টটিতে রয়েছে:
ALTER TABLE dbo.Widget ADD Description VARCHAR(50)
ALTER TABLE dbo.Widget ALTER COLUMN Description VARCHAR(100)
যদি এই ডাটাবেসের লাইভ সংস্করণটি সংস্করণ 1 এবং আমাদের পরবর্তী প্রকাশটি সংস্করণ 3 হয় তবে নীচের স্ক্রিপ্টটি সমস্ত প্রয়োজন হবে তবে পরিবর্তে উভয়ই ALTER বিবৃতি কার্যকর করা হবে।
ALTER TABLE dbo.Widget ADD Description VARCHAR(100)
5 বছরের 4 সপ্তাহের স্প্রিন্টগুলি কিছু বিনোদনমূলক সংস্করণ স্ক্রিপ্টগুলিতে যুক্ত করে এবং স্থাপনার সময় প্রভাব কমাতে অতিরিক্ত ম্যান-হ্যান্ডলিংয়ের প্রয়োজন হয়।
তাহলে এসএসএমএসে কিছু ভুল আছে? না, এটি এসকিউএল সার্ভার পরিচালনা ও পরিচালনা করার জন্য যা ভাল তার জন্য এটি ভাল। এটি যা করার ভানও করে না তা হ'ল ডেটাবেস বিকাশকারীকে (সময়ে সময়ে) পরিবর্তন পরিচালনার খুব জটিল কাজটি সহায়তা করে।
আপনি যদি উত্স থেকে ডাটাবেসের প্রতিটি সংস্করণ তৈরি করতে না পারেন এবং ভবিষ্যতের কোনও সংস্করণে আপগ্রেড করতে পারেন তবে আপনার উত্স নিয়ন্ত্রণটি নষ্ট হয়ে গেছে। যদি আপনি এটি না ভাবেন তবে এরিক সিঙ্ককে জিজ্ঞাসা করুন ।
এসএসএমএস + <- scheোকান স্কিমা তুলনা সরঞ্জাম ->?
এটি অবশ্যই সঠিক দিকের একটি পদক্ষেপ এবং স্ক্রিপ্টগুলি বজায় রাখার জন্য প্রয়োজনীয় ম্যানুয়াল প্রচেষ্টার অনেক অংশ নেয়। তবে (এবং এটি একটি বড় তবে) সাধারণত ম্যানুয়াল পদক্ষেপ জড়িত থাকে।
জনপ্রিয় স্কিমা তুলনা সরঞ্জামগুলি সম্পূর্ণরূপে স্বয়ংক্রিয় এবং বিল্ড প্রক্রিয়ায় একীভূত হতে পারে। তবে, আমার অভিজ্ঞতায় আরও সাধারণ অনুশীলন হ'ল ম্যানুয়ালি চালিত হওয়ার তুলনা করা হয়, ফলস্বরূপ স্ক্রিপ্টগুলি ভ্রূণ্যযুক্ত হয়, উত্স নিয়ন্ত্রণে চেক ইন হয়, তারপরে মোতায়েনের জন্য ম্যানুয়ালি কার্যকর করা হয়। ভাল না.
যে কোনও সময় আমরা হতাশ মানবকে তৈরি বা স্থাপনার প্রক্রিয়ায় জড়িত হতে হয় আমরা ঝুঁকি প্রবর্তন করি এবং আমরা প্রক্রিয়াটি পুনরাবৃত্তিযোগ্য করে তুলি।
আপনি এবং আপনার দল যদি এমন কয়েকজনের মধ্যে থাকে যা সম্পূর্ণরূপে স্বয়ংক্রিয়ভাবে স্কিমা তুলনা এবং মোতায়েন করেছে, তবে আপনার কাছে টুপি! আপনি বলছেন যে ভিএস 2010 যেভাবে বেনিফিটগুলি প্রদান করে সে সম্পর্কে সর্বাধিক উন্মুক্ত:
- আপনি ইতিমধ্যে স্বীকার করেছেন যে ম্যানুয়াল পদক্ষেপগুলি বিপজ্জনক।
- আপনি অটোমেশনের মান দেখতে পাবেন।
- আপনি এটি কার্যকর করতে প্রয়োজনীয় সময় বিনিয়োগ করতে ইচ্ছুক।
আপনি যদি একক পদক্ষেপে কোনও বিল্ড তৈরি করতে না পারেন বা একক পদক্ষেপে স্থাপন করতে না পারেন তবে আপনার বিকাশ এবং স্থাপনার প্রক্রিয়াটি নষ্ট হয়ে গেছে। যদি আপনি এটি না ভাবেন তবে জোয়েল স্পলস্কিকে জিজ্ঞাসা করুন ।
কেন ভিএস2010?
@ নিকচ্যামাসের উত্থাপিত প্রশ্নটি হত্যাকারী বৈশিষ্ট্যগুলির সন্ধান করছে যা দেখায় যে ভিএস 2010 কেন ডেটাবেস বিকাশের জন্য গেম চেঞ্জার। আমি মনে করি না সেই ভিত্তিতে আমি মামলা করতে পারি।
সম্ভবত হাস্যকরভাবে, যেখানে অন্যরা এই সরঞ্জামটিতে ত্রুটিগুলি দেখেন আমি গ্রহণের দৃ strong় কারণগুলি দেখতে পাই:
- আপনাকে আপনার পদ্ধতির পরিবর্তন করতে হবে।
- আপনি এবং আপনার দল আলাদাভাবে কাজ করতে বাধ্য হবে।
- আপনাকে প্রতিটি পরিবর্তনের প্রভাব, দৈর্ঘ্যে, বিস্তারিতভাবে মূল্যায়ন করতে হবে।
- আপনি প্রতিটি পরিবর্তনকে আদর্শবান করে তোলার দিকে পরিচালিত হবেন ।
আপনি যদি কোনও প্রোজেক্টের একমাত্র ডিবিএ হন, ডাটাবেসে সমস্ত পরিবর্তন পরিচালনা করে, এই যুক্তিটি অবশ্যই অযৌক্তিকর উপর হাস্যকর সীমান্তের শোনায়। তবে আপনি যদি মনে করেন @ ব্রেন্টওজারের একটি বিন্দু রয়েছে এবং নতুন নিয়মের একটি হ'ল প্রত্যেকেই ডিবিএর , আপনাকে দলের প্রতিটি বিকাশকারী যেভাবে কাজ করতে পারে তার উপায়ে ডাটাবেস পরিবর্তন নিয়ন্ত্রণ করতে হবে।
ডেটাবেস প্রকল্পগুলি গ্রহণের জন্য কিছু বিকাশকারীদের জন্য একটি মানসিক স্থানান্তর ( পুরানো অভ্যাসগুলি ভাঙ্গা কঠিন ) বা কমপক্ষে প্রক্রিয়া বা কর্মপ্রবাহে পরিবর্তনের প্রয়োজন হতে পারে। সকল বিকাশকারীরা ডাটাবেসের অ্যাপ্লিকেশন উন্নত
যেখানে উৎপাদন ডাটাবেসের ডাটাবেসের বর্তমান সংস্করণ প্রতিনিধিত্ব করে একটি সোর্স কোড ভিত্তিক ব্যবস্থা যেখানে সোর্স কোড গাড়ির যা পরিবর্তন ডাটাবেস তৈরি করা হয় হয়ে দত্তক গ্রহণ করা প্রয়োজন হবে । ভিজ্যুয়াল স্টুডিও ডাটাবেস প্রকল্পগুলিতে, প্রকল্প এবং উত্স কোডটি ডাটাবেস স্কিমার জন্য "সত্যের এক সংস্করণ" এবং এসসিএম ওয়ার্কফ্লো ব্যবহার করে পরিচালনা করা হয় সম্ভবত বিকাশকারী বা সংস্থা তাদের অ্যাপ্লিকেশন স্ট্যাকের অন্যান্য অংশগুলির জন্য ইতিমধ্যে ব্যবহার করেছে। ডেটার জন্য, উত্পাদনের ডাটাবেসটি তার "সত্যের এক সংস্করণ" হিসাবে থাকা উচিত।
আমরা ডাটাবেস বিকাশের জন্য VS2010 সাফল্যের সাথে সফলভাবে অবলম্বন করার জন্য প্রয়োজনীয় মৌলিক শিফটে পৌঁছেছি…
কোড হিসাবে আপনার ডাটাবেস আচরণ
আর লাইভ ডাটাবেস পরিবর্তন হচ্ছে না। প্রতিটি ডাটাবেস পরিবর্তন অ্যাপ্লিকেশন পরিবর্তন হিসাবে একই প্যাটার্ন অনুসরণ করবে। উত্সটি পরিবর্তন করুন, তৈরি করুন, মোতায়েন করুন। এটি মাইক্রোসফ্টের দিকনির্দেশের অস্থায়ী পরিবর্তন নয়, এটি এসকিউএল সার্ভারের ভবিষ্যত । কোড হিসাবে ডাটাবেস এখানে থাকার জন্য।
ডাটাবেস বিকাশকারী অ্যাপ্লিকেশনটির সংস্করণে অবজেক্টের আকৃতিটি সংজ্ঞায়িত করে, কীভাবে ডাটাবেস ইঞ্জিনের বিদ্যমান বস্তুকে পছন্দসই আকারে রূপান্তর করতে হবে না। আপনি নিজেকে জিজ্ঞাসা করতে পারেন: এটি ইতিমধ্যে গ্রাহক সারণী থাকা কোনও ডাটাবেসের বিরুদ্ধে কীভাবে স্থাপন করা যায়? এইখানেই ডিপ্লোয়মেন্ট ইঞ্জিন খেলতে আসে। পূর্বে উল্লিখিত হিসাবে, ডিপ্লোয়মেন্ট ইঞ্জিনটি আপনার স্কিমার সংকলিত সংস্করণ গ্রহণ করবে এবং এটি একটি ডাটাবেস স্থাপনের লক্ষ্যমাত্রার সাথে তুলনা করবে। বিভাজনকারী ইঞ্জিন আপনি প্রকল্পটি থেকে নিযুক্ত সংস্করণটি মেলানোর জন্য লক্ষ্য স্কিমা আপডেট করার জন্য প্রয়োজনীয় স্ক্রিপ্ট তৈরি করবে।
হ্যাঁ এমন অন্যান্য সরঞ্জাম রয়েছে যা একই ধরণের অনুসরণ করে এবং আমি আমার উত্তরে যে প্রতিবন্ধকতা রেখেছি তার বাইরে প্রকল্পগুলির জন্য, সেগুলি সমান বিবেচ্য। তবে, আপনি যদি ভিজ্যুয়াল স্টুডিও এবং টিম ফাউন্ডেশন সার্ভার এএলএম এর সাথে কাজ করছেন তবে আমি মনে করি না তারা প্রতিযোগিতা করতে পারে।
ভিএস 2010 ডাটাবেস প্রকল্পগুলির মধ্যে কী সমস্যা?
- তারা নিখুঁত হয় না । তবে আপনি যদি সীমাবদ্ধতা এবং সমস্যার ক্ষেত্রগুলি সম্পর্কে অবগত হন তবে আপনি সেগুলি কার্যকর করতে পারেন।
- জটিল ডেটা মুভমেন্টগুলির জন্য এখনও যত্ন এবং মনোযোগ প্রয়োজন তবে প্রাক / পোস্ট ডিপ্লোয়মেন্ট স্ক্রিপ্টগুলির জন্য এটি সরবরাহ করা হয়।
সম্পাদনা: তাহলে আপনার বক্তব্য কি?
@ অ্যান্ড্রুবিকার্টন একটি মন্তব্যে উল্লেখ করেছেন যে আমি আসল প্রশ্নের উত্তর দিইনি তাই আমি চেষ্টা করব এবং সংক্ষিপ্তসার করব "আমার ডাটাবেস বিকাশের জন্য আমার কেন ভিজুয়াল স্টুডিও 2010 ব্যবহার করা উচিত?" এখানে.
- এসএসএমএস কোনও ডাটাবেস বিকাশের সরঞ্জাম নয়। হ্যাঁ আপনি এসএসএমএস দিয়ে টিএসকিউএল বিকাশ করতে পারেন তবে এটি ভিএস 2010 এর সমৃদ্ধ আইডিই বৈশিষ্ট্যগুলি সরবরাহ করে না।
- ভিএস 2010 আপনার ডাটাবেসটিকে কোড হিসাবে গণ্য করার জন্য একটি কাঠামো সরবরাহ করে।
- VS2010 আপনার ডাটাবেস কোডে স্থির কোড বিশ্লেষণ নিয়ে আসে ।
- ভিএস 2010 আপনাকে বিল্ড-ডিপ্লয়ে-টেস্ট চক্রটিকে সম্পূর্ণ স্বয়ংক্রিয় করার সরঞ্জাম সরবরাহ করে with
- এসকিউএল ২০১২ এবং ভিজ্যুয়াল স্টুডিও ভিএনেক্সট ডাটাবেস প্রকল্পগুলির সক্ষমতা বাড়ায়। এখনই VS2010 এর সাথে পরিচিত হোন এবং আপনি পরবর্তী প্রজন্মের ডেটাবেস বিকাশ সরঞ্জামগুলিতে একটি সূচনা পেতে পারেন।