আমি কীভাবে গ্যারান্টি দিতে পারি যে এসকিউএল সার্ভার ২০০৮ আর 2 এ সন্নিবেশগুলি প্রথমে র‍্যামে ক্যাশে হয়েছে?


17

"বারস্টি" এমন ডেটার স্ট্রিমটি কল্পনা করুন, এটির 10,000 টি ইভেন্ট খুব দ্রুত আগত হতে পারে, তার পরে এক মিনিটের জন্য কিছুই হয় না।

এখানে চিত্র বর্ণনা লিখুন

আপনার বিশেষজ্ঞের পরামর্শ: আমি কীভাবে এসকিউএল সার্ভারের জন্য সি # সন্নিবেশ কোডটি লিখতে পারি, যেমন এসকিউএল তত্ক্ষণাত্ নিজের র‌্যামে সমস্ত কিছুকে ক্যাশে করে দেয়, আমার অ্যাপ্লিকেশনটিকে র‌্যামে ডেটা ফিড করার চেয়ে বেশি পরিমাণে ব্লক না করেই রাখে? এটি অর্জন করার জন্য, আপনি নিজেই এসকিউএল সার্ভার সেটআপ করার জন্য কোনও বিন্যাস জানেন, বা আমি যে স্বতন্ত্র এসকিউএল টেবিলগুলিতে লিখছি সেট আপ করার জন্য নিদর্শনগুলি জানেন?

অবশ্যই, আমি আমার নিজস্ব সংস্করণটি করতে পারি, যার মধ্যে র‌্যামে আমার নিজস্ব সারি তৈরি করা জড়িত - তবে আমি প্যালিওলিথিক স্টোন এক্সকে পুনরায় উদ্ভাবন করতে চাই না, তাই বলতে চাই।


1
আপনি কি সি # ক্লায়েন্ট কোড সম্পর্কে কথা বলছেন? সুতরাং আপনি কি এসকিউএল কোডে আগ্রহী যেগুলি নিশ্চিত করে যে লেখাগুলি ক্যাশে হয়েছে?
রিচার্ড

6
আরডিবিএমএস যদি এটি সমর্থন করে তবে আমি নিজেকে সন্নিবেশ করানোর দিকে ঝুঁকছি কারণ (ক) এটি শক্ত নয়, (খ) এটি সম্পূর্ণ আপনার নিয়ন্ত্রণে রয়েছে এবং (গ) এটি বিক্রেতার উপর নির্ভরশীল নয়।

আমি সি # ক্লায়েন্ট কোডটিতে আগ্রহী যেটিতে এসকিউএল কোড রয়েছে যাতে লেখাগুলি ক্যাশে হয় তা নিশ্চিত হয়। যাইহোক, আমি "নিশ্চিত যে আমি সোজা টি-এসকিউএল সঙ্গে কাজ এবং আমার নিজের C # এর মোড়কের লিখতে পারে যাচ্ছি।

উত্তর:


11

আপনি কি শুধু লেখার চেষ্টা করেছেন এবং দেখুন কী হয়? আপনার কি জানা বাধা আছে?

আপনার যদি আপনার অ্যাপ্লিকেশনটি অবরুদ্ধ হওয়া রোধ করতে হয় তবে আপনার একটি উপায় হ'ল ডেটাবেস কলটি স্থগিত করার জন্য লেখকদের সারি করা উচিত। যাইহোক, আমি প্রত্যাশা করব যে একটি সেকেন্ডটি দ্বিতীয় বা 2 তে সাফ হয়ে যাবে: তাই যদি এটি ঠিক থাকে তবে আপনার কি একটি সারি দরকার?

বা আপনি একটি মঞ্চ টেবিল spool এবং তারপরে পরে ফ্লাশ করতে পারেন? আমরা প্রতি মিনিটে কয়েক মিলিয়ন নতুন সারি টেকসই লেখার মোকাবেলায় এই কৌশলটি ব্যবহার করি (আমরা আসলে সরল পুনরুদ্ধারের সাথে স্টেজিং ডিবি ব্যবহার করি): তবে কেবল সারি লেখার অভিজ্ঞতা না পাওয়া পর্যন্ত আমরা এটিকে বাস্তবায়ন করি নি।

দ্রষ্টব্য: এসকিউএল সার্ভারে প্রতিটি লেখাই লেখার সামনের লগিং (ওয়াল) প্রোটোকলের অংশ হিসাবে ডিস্ক করবে । এটি এই লেখার জন্য টি-লগ এন্ট্রির ক্ষেত্রে প্রযোজ্য।

সারি সহ ডেটা পৃষ্ঠাটি কিছু সময় ডিস্কে যাবে (সময়, ব্যবহার, মেমরি চাপ ইত্যাদির উপর ভিত্তি করে) তবে সাধারণত আপনার ডেটা যাইহোক মেমরিতে থাকবে। এটিকে "চেকপয়েন্টিং" বলা হয় এবং মেমোরি থেকে ডেটা সরিয়ে দেয় না, কেবল পরিবর্তনগুলি ফেলা হয় (24 নভেম্বর 2011 সম্পাদিত)

সম্পাদনা:

উপরের থের সর্বশেষ অনুচ্ছেদের উপর ভিত্তি করে বিবেচনার জন্য, আরও পারফরম্যান্সের জন্য আপনার ডেটাবেসটির জন্য আপনার এলডিএফকে ডিস্কের ডেডিকেটেড সেটে স্থানান্তর করুন। একটি মঞ্চের ডেটাবেজ (এমডিএফ / এলডিএফ এর জন্য প্রতিটি একটি) ডিট করুন। আপনার ডাটাবেস সার্ভারের জন্য এক ডজন বা 3 টি বিভিন্ন ভলিউম (সাধারণত একটি SAN এর মাধ্যমে) পাওয়া খুব সাধারণ


1
কোনও মঞ্চ টেবিলে স্পুলিং করা সম্ভবত সবচেয়ে ভাল উপায় way আমার এক বন্ধুর কাছ থেকে আমার নিশ্চয়তাও পাওয়া গেছে, যিনি বিলিয়ন সারি টেবিল নিয়ে পরিবেশে কাজ করেন, তিনি বলেছিলেন যে দ্রুত বিশ্লেষণের জন্য তিনি টেম্প টেবিল ব্যবহার করেন।

7

আমি যদি কিছু মিস না করি তবে এটি এসিডি ( http://en.wikedia.org/wiki/ACID ) এর স্থায়িত্বের প্রয়োজনীয়তা লঙ্ঘন করবে । এটি হ'ল, যদি আপনার অ্যাপ্লিকেশনটি র‌্যামে ডেটা "লিখে" দেয় এবং তারপরে সার্ভারটি ক্র্যাশ হয় তবে আপনার ডেটা নষ্ট হবে।

সুতরাং, আপনি যা খুঁজছেন তা হ'ল একটি নন-ডাটাবেস সিস্টেম যা কোনও ডাটাবেস বা কোনও ডাটাবেস সিস্টেমে শেষ স্টোরেজের জন্য সারি হিসাবে কাজ করে যা আপনি যা করছেন তার জন্য যথেষ্ট দ্রুত is আমি প্রথমে পরে চেষ্টা করার পরামর্শ দেব এবং এটি যথেষ্ট কিনা তা দেখার জন্য; ঝামেলা ধার করবেন না


+1 আমার এটি উল্লেখ করা উচিত ছিল। ওয়াল
এসিডি-র

2

আমি এর জন্য একবার একটি ডেটাসেট ব্যবহার করেছি। আমি ডেটাসেটে আসার সাথে সাথে সারিগুলি সন্নিবেশ করছিলাম এবং সেখানে আরও একটি থ্রেড ছিল যা প্রতি 2 সেকেন্ড বা তারপরে ডাটাবেসে সারিগুলি ফ্লাশ করছে। আপনি কচিন করতে এক্সএমএল ডকুমেন্টও ব্যবহার করতে পারেন, এবং তারপরে একটি কলে এক্সএমএলটি ডাটাবেসে পাস করতে পারেন, এটি আরও ভাল হতে পারে।

শুভেচ্ছা সহ

পাযত্র

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