কেন এবং কখন লিকুইবেস?


103

আমি স্ট্যাক ওভারফ্লোতে এই উত্তরটির সন্ধান করেছি, কিন্তু আমি এই বিষয়ে কোনও প্রশ্ন পাই না। আমি নতুন Liquibaseএবং শিখতে চাই

  • কেন Liquibase?
  • Liquibaseপ্রকল্পে কখন ব্যবহার করা উচিত ?

আমি জানি যে এটি সমস্ত ডাটাবেসের পরিবর্তনগুলি এক জায়গায় রাখতে হয় তবে একই রকম SQLকিছু সংগ্রহস্থল সিস্টেমে একটি সাধারণ ফাইল তৈরি করে এবং এটি সময়ের সাথে আপডেট করে রাখা যায়।

উত্তর:


72

স্ব-পরিচালিত স্কিমা তৈরি ফাইল এবং লিকুইবেস (বা অন্যান্য স্কিমা মাইগ্রেশন সরঞ্জাম) এর মধ্যে মূল পার্থক্য হ'ল পরেরটি স্কিমা চেঞ্জলগ সরবরাহ করে। এটি সময়ের সাথে সাথে স্কিমা পরিবর্তনের একটি রেকর্ড। এটি ডেটাবেস ডিজাইনারকে স্কিমাতে পরিবর্তনগুলি নির্দিষ্ট করার অনুমতি দেয় এবং চাহিদা অনুসারে স্কিমাকে প্রোগ্রাম্যাটিক আপগ্রেড বা ডাউনগ্রেড সক্ষম করে।

অন্যান্য সুবিধা রয়েছে যেমন:

  • ডেটাবেস বিক্রেতার স্বাধীনতা (এটি প্রশ্নবিদ্ধ, তবে তারা চেষ্টা করে)
  • স্বয়ংক্রিয় ডকুমেন্টেশন
  • ডাটাবেস স্কিমা বিভিন্ন

একটি বিকল্প হাতিয়ার ফ্লাইওয়ে

আপনি যখন স্কিমা মাইগ্রেশন সরঞ্জামটি ব্যবহার করতে চান যখন আপনি চান বা তথ্য না হারিয়ে স্বয়ংক্রিয়ভাবে স্কিমা আপডেটগুলি পরিচালনা করতে হবে। এটি হ'ল, আপনি প্রত্যাশা করেছেন যে আপনার সিস্টেমটি দীর্ঘকালীন পরিবেশ যেমন গ্রাহক সাইট বা স্থিতিশীল পরীক্ষার পরিবেশে স্থাপন করা হওয়ার পরে পরিবর্তিত হবে।


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

4
এই পদ্ধতির সাহায্যে আপনি স্কিমাটি পুনরায় তৈরি করতে পারেন তবে আপনি ডাউনগ্রেড / আপগ্রেড করতে পারবেন না। পার্থক্যটি হ'ল ডেটা হ্রাস।
সেনেসো

4
তবে অন্য অংশটি কখন ব্যবহার করবেন?
এসএসসি

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

আরেকটি প্রশ্ন যুক্ত করে ... জাভাতে ইমেলের মাধ্যমে আমরা কীভাবে ত্রুটিটি লগ করতে পারি। এসকিউএল এক্সএমএল মাধ্যমে পরিবর্তন যখন?
উমাশঙ্কর

19

স্কিমা সংশোধন করার ক্ষেত্রে লিকুইবেসটি বিকাশকারীদের মধ্যে শৃঙ্খলা সৃষ্টি করতে দেখেছি। আপনি কেবল যেতে পারেন না এবং অন্য বিকাশকারীদের পরিবর্তন ওভাররাইট ও এক্সিকিউট করতে পারেন। পরিবর্তে, আপনি নিজের চেঞ্জসেট তৈরি করেন এবং সম্পাদনের জন্য পরিবর্তনগুলির ক্রম শেষে যুক্ত করেন। কখন কী পরিবর্তন এনেছিল এবং কে এনেছিল সে সম্পর্কেও এটি পরিষ্কার করে আনে।

স্কিমা রক্ষণাবেক্ষণের জন্য একটি খুব "সংস্করণযুক্ত" পদ্ধতি।

প্রারম্ভিকদের জন্য এটি "অপ্রয়োজনীয় কাজ" এর ধারণা দেয়।


4
কোনটি আমি (এটি আমাকে উল্লেখ করার জন্য সঠিক ধারণা দেয়: পি) এই গুরুতর সংকল্পের জন্য +1
ইসমাইল সাহিন

আপনি সঠিক, আমরা সর্বশেষ পরিবর্তনগুলি কখন এবং কখন করেছিল সে সবের উপর নজর রাখতে পারি। আমরা যদি একটি নির্দিষ্ট পয়েন্টের দিকে ফিরে যেতে চাই তবে তড়িঘড়ি সহায়ক হবে
অনুপ পিএস

7

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


3

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

লিকুইবেস নিজেই কোনও সমস্যা নয় তবে এটি অনুশীলনটিকে সক্ষম করে যে অ্যাপ্লিকেশন বিকাশকারীরা ডেটাবেস ডিজাইন করে। ওইটাই তো সমস্যা.


19
স্পেস পরিবর্তন হয়, নতুন বৈশিষ্ট্য যুক্ত হয়, বাগগুলি স্থির হয়ে যায়। এমনকি ধরে নিও যে "একটি ডেটাবেস ব্যবসায়ের সম্পর্কের যথাযথ প্রতিফলনের জন্য ডিজাইন করা হয়েছে", এটি স্বাভাবিক এবং আশা করা যায় যে আপনাকে সময়ের সাথে সাথে ডিবিতে পরিবর্তন আনতে হবে, কারণ ব্যবসায়ের সাথে এবং ব্যবসায়ের সম্পর্ক সময়ের সাথে পরিবর্তিত হয়। লিকুইবেস কেবল আপনাকে এই পরিবর্তনগুলি পরিচালনা করতে সহায়তা করে। এটাই.
স্টিভেন বাইকস 24'17

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

বিবর্তনীয় ডিবি অনুশীলনগুলি, এবং সাধারণভাবে চৌকস, পিয়ার পর্যালোচনাগুলিকে উত্সাহিত এবং সক্ষম করে। পারফরম্যান্স প্রয়োজনীয়তার সাথে একটি ডিবিতে, ডিবিএগুলি এখনও ডিবি পরিবর্তনের জন্য অ্যাপ দলগুলির সাথে কাজ করে। লিকুইবেসের মতো সরঞ্জামগুলি আপনার অস্বীকৃতি যুক্তিটির বিপরীতে গিয়ে আরও সহজ রিফ্যাক্টরিং সক্ষম করে। 10 বছর আগে, আমি 20+ ক্লায়েন্টে ইনস্টল করা একটি পণ্যের জন্য কাজ করেছি, যার যার নিজস্ব প্যাচ এবং আপগ্রেড চক্র রয়েছে। 2 বছরের দুঃস্বপ্নের পরে, এবং হাত দিয়ে এই জাতীয় সরঞ্জাম লেখার চেষ্টা করার পরে, আমরা এটি সম্পর্কে জানার সাথে সাথে তরল পদার্থে ঝাঁপিয়ে পড়েছিলাম। এবং আমাদের কাছে 200 এম রেকর্ড সহ টেবিল ছিল, সেই সময়ের পক্ষে বিশালও নয়, তবে ডিবিএর প্রয়োজন এমন কিছু।
ব্যবহারকারী 6317694

4
আমি আশা করি কোনও দিন সেখানে স্বর্গে আপনার সাথে দেখা হবে। অবশ্যই সুন্দর লাগছে।
বিজন

3

আমি মনে করি আপনি যদি নীচের নিবন্ধটি http://shengwangi.blogspot.com/2016/04/liquibase-helloworld-example.html ব্যবহার করেন তবে কেন তরলকে উত্তর দেওয়া যেতে পারে

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


0

আমার দলের ডেভোপস ব্যক্তি হয়ে আমি আমার সমস্ত এসকিউএল ফাইল এক জায়গায় অর্থাৎ এসসিএম-এ রাখতে পছন্দ করব (উত্স কোড পরিচালনা)

এছাড়াও সিআই / সিডি পর্যায়ে, যদি ডিবি স্কিমা এটির সাথে তৈরি হয় তবে এটি অনেক সময় এবং সংস্থান সাশ্রয় করে। সেই ক্লায়েন্টের জন্য আপনার অন্য ডেটাবেস পরিচালনা করার দরকার নেই have

ওআরএম যেমন ফ্লাইওয়ে, লিকুইবেস, ইএফ ইত্যাদি এটি অর্জনে সহায়তা করে।

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