কোনও মাইএসকিউএল সার্ভার থেকে গত মাসের মানগুলি বের করা এবং সেই মানগুলি থেকে একটি নতুন ডাটাবেস তৈরি করা কি সম্ভব?


8

বিকাশ ভার্চুয়াল মেশিন টেম্পলেট তৈরি করার জন্য আমার একটি অ্যাসাইনমেন্ট রয়েছে।

আমার সংস্থার পণ্যগুলির প্রত্যেকের থেকে আমাকে সার্ভার মাইএসকিউএল ডাটাবেস যুক্ত করতে হবে যাতে নতুন বিকাশকারীদের প্রতিটি পণ্যের জন্য বিকাশ করার ক্ষমতা থাকতে পারে।

বেশিরভাগ ডাটাবেস 1 জিবি থেকে ছোট।

তবে আমার কাছে কয়েকটি ডাটাবেস রয়েছে যা বিশাল (160G এর কাছাকাছি) - তবে আমি যে টেম্পলেটটি তৈরির চেষ্টা করছি তার আকারেই আমি সীমাবদ্ধ এবং সেখানে 160 গিগাবাইটের একটি ডিবি যুক্ত করা যুক্তিসঙ্গত নয়।

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

এমন কাজ করা কি সম্ভব এবং কীভাবে এটি সম্পন্ন হয়? ধন্যবাদ!

সম্পাদনা:

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

উত্তর:


8

যদি আমি সঠিকভাবে বুঝতে পারি তবে আপনি প্রতিটি বিকাশের পরিবেশের জন্য একটি পৃথক ডিবি কপি তৈরির পরিকল্পনা করছেন।

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

এই পদ্ধতির সাহায্যে আপনি পর্যায়ক্রমে সর্বশেষ ডেটা সহ ডেভলপমেন্ট ডিবি রিফ্রেশ করতে পারবেন এবং যদি কেউ এটিকে মিস করে তবে আপনি এটি আবার সতেজ করতে পারেন ref

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

এটি আমি বড় বড় প্রকল্পগুলির জন্য সময় এবং সময় ব্যবহার করতে দেখলাম এবং বেশিরভাগ সময় এটি বেশ ভালভাবে কাজ করে।


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

একমত। কৌতূহলের বাইরে, আপনার ডিবি কত বড়? আমি দেখতে পাচ্ছি না এটি কীভাবে 160 জিবি আকারের ডিবি দিয়ে কাজ করতে পারে work
গ্রিকাসিয়াস

ডেভ ডেটাবেসগুলি বিকাশকারীরা যা কাজ করছে তা যাচাই করার জন্য কেবলমাত্র ডেটা সাবসেটের সাথে ইচ্ছাকৃতভাবে ছোট হবে। কর্মক্ষমতা পৃথক করার মতো পরীক্ষার মতো (বৃহত্তর) উদাহরণ ব্যবহার করা হবে।
অ্যান্ড্রু সাভিনিখ

এই টেম্পলেটে একবার রাখার জন্য আমার নিয়মিত ডেটা আপডেট করার দরকার নেই।
Itai Ganot

আপনি যদি আপনার বর্তমান ডিবি থেকে কোনও ছোট নমুনা ডেটা সেট তৈরি করতে পারেন তবে একবার দেখুন। দুর্ভাগ্যক্রমে এখানে সরল কোনও উত্তর নেই। আপনার যা করা দরকার তা নির্ভর করে আপনার কী ডেটা আছে এবং কী আপনি ডিভ ডিবিতে রাখতে চান।
গ্রেচাসিয়াস

4

এটি ডাটাবেসের ডেটা ধরণের উপর নির্ভর করে। কিছু ক্ষেত্রে, এটি হিসাবে সহজ হতে পারে

select * from table where date > ....

অন্য ক্ষেত্রে, তথ্যের কাঠামোর কারণে এটি আলাদা করা অসম্ভব। শেষ পর্যন্ত, এটি সম্ভবত একটি মিশ্রণ হবে এবং সঠিকভাবে পাওয়া খুব কঠিন।


2
বিশেষত, কিছু ডেটাবেজে নতুন এন্ট্রি থাকতে পারে (বলুন, <1 মাস) যা পুরানো এন্ট্রিগুলির রেফারেন্স রেকর্ড (বলুন,> 1 মাস)। আপনি তাদের সাথে যেভাবে আচরণ করছেন তা পুরোপুরি নির্ভর করে যে এই রেফারেন্সগুলি কীভাবে সেট আপ করা হয় এবং এটি সবচেয়ে মৌলিক ব্যতীত সকলের পক্ষে অনিবার্য।
বব

0

আমাদের সম্প্রতি এমন পরিস্থিতি হয়েছিল যে কোনও গ্রাহক শেষ 30 দিনের একটি ডাটাবেসটি বের করতে চেয়েছিলেন। সমস্ত টেবিলের যদি একই বৈশিষ্ট্য থাকে যেখানে আপনি ডেটটাইম সংজ্ঞায়িত করতে পারেন তবে আপনি এটি করতে পারেন

mysqldump - কোথাও = 'ডেটটাইমফিল্ড> "2014-06-28"'

তবে তিনি পুরানো এবং নতুন ডেটার সাথে বিভিন্ন টেবিল মিশ্রিত করতে চেয়েছিলেন। সুতরাং এটি তাঁর পক্ষে কোনও সমাধান ছিল না তবে এটি আপনার পক্ষে এক হতে পারে?

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