ডেটাবেস থেকে অ্যাপের ডেটা আপডেট করার একমাত্র উপায় কী ভোটদান?


17

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

আমি একটি এমএস এসকিউএল সার্ভার ২০০৮ (এবং। নেট অ্যাপ্লিকেশন + সত্তা ফ্রেমওয়ার্ক) নিয়ে কাজ করি তবে আমি অন্যান্য ধরণের ডাটাবেসগুলি সম্পর্কেও জানতে চাই।


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

উত্তর:


5

এসকিউএল সার্ভার 2005+ এর জন্য পরিষেবা ব্রোকার এটি করতে পারে।

দুঃখিত, আমি অন্যান্য আরডিবিএমএস সম্পর্কে নিশ্চিত নই


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

1
-1 পরিষেবা ব্রোকারের কাছে কোনও অ্যাপ্লিকেশন যাতে এটি একটি বার্তা পেয়েছে তা জানতে দেওয়ার জন্য এটিতে কিছু অন্তর্নির্মিত রয়েছে বলে মনে হয় না। (আমি বর্তমানে এই ইস্যুতে আটকে আছি।)
ভ্যাকাকানো

10

ওরাকলে আপনি বিল্ট ইন ডিবিএমএস_এলআরটি প্যাকেজটি এটির সুবিধার্থে ব্যবহার করতে পারেন ।

DBMS_ALERT ডাটাবেস ইভেন্টগুলির (অ্যালার্ট) অ্যাসক্রোনাস নোটিফিকেশন সমর্থন করে। এই প্যাকেজ এবং ডাটাবেস ট্রিগারগুলির যথাযথ ব্যবহারের মাধ্যমে, যখনই ডাটাবেসের আগ্রহের মান পরিবর্তন করা হয় তখন একটি অ্যাপ্লিকেশন নিজেকে জানাতে পারে।

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


ওপিএস প্রশ্ন অনুসারে "এমএস এসকিউএল সার্ভার ২০০৮" এর জন্য? তারা অন্যান্য আরডিবিএমএস চেয়েছিল কিন্তু এটি আসলে সহায়তা করে না help
জিবিএন

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

ভাল বলেছ. আপনার ডিবিএমএস_এলআরটি উত্তরটি পড়ার পরে, আমি এটি করার আরও একটি উপায় শিখেছি - টুলবক্সের জন্য আরও সরঞ্জাম! +1
স্কটচের

7

কিছু ডাটাবেস বিক্রেতারা সংহত বার্তা বাসগুলি সরবরাহ করে যা আপনার অ্যাপ্লিকেশনটিতে কেবল সাবস্ক্রাইব করতে পারে:

একটি বিকল্প হ'ল ডাটাবেসটিতে ডেটাবেসটিকে প্রথমে টিবকো / আরভি এর মতো একটি বার্তা বাসের মাধ্যমে স্থানান্তরিত করে এবং কেবল এটি "ব্রাঞ্চ" করে ডিবিতে যাওয়ার পরে এবং আপনার অ্যাপ্লিকেশনটিতে যাওয়ার জন্য, বা কোহরেন্সের মতো ক্যাচিং স্তর ব্যবহার করা হবে to আপনার অ্যাপ্লিকেশন এবং ডিবি এর মধ্যে।


7

PostgreSQL এর জন্য তালিকা / বিজ্ঞপ্তি

http://www.postgresql.org/docs/current/static/sql-notify.html

ডাটাবেসে ...

NOTIFY static_channel_name, 'static-message';

বা একটি ফাংশন / ট্রিগার:

perform pg_notify('dynamic-channel-name', 'dynamic-message');

ডাটাবেস ক্লায়েন্টে:

LISTEN some_channel_name; --note the lack of quotes

তালিকাগুলি ক্লায়েন্ট পোস্টগ্রিএসকিউএল প্রক্রিয়া আইডি, চ্যানেলের নাম এবং বার্তার মান গ্রহণ করবে।

পোস্টগ্রিসএসকিউএল এর জন্য স্ট্যান্ডার্ড জেডিবিসি ড্রাইভার বিজ্ঞপ্তি পছন্দ করে না, তবে আপনি এই উদ্দেশ্যে https://github.com/impossibl/pgjdbc-ng ড্রাইভার ব্যবহার করতে পারেন


5

আরেকটি ওরাকল সমাধান: আমরা মাইক্রোসফ্ট থেকে ডটনেট ফ্রেমওয়ার্ক ব্যবহার করে অ্যাপ্লিকেশনগুলি তৈরি করেছি যা ডেটাবেস পরিবর্তন বিজ্ঞপ্তির সুবিধা গ্রহণ করে ওডিপি.নেট (ডটনেটের জন্য ওরাকল ডেটা সরবরাহকারী) এর সাথে সম্মিলিতভাবে ওরাকলের বৈশিষ্ট্যের । এটি ব্যবহার করে, নতুন ডেটা আমাদের কাছে ধ্রুবক পোলিং এড়াতে মঞ্জুর করে যখন ডাটাবেসটি আসলে ডটনেট অ্যাপ্লিকেশনটিকে অবহিত করে। উপরে উল্লিখিত লিঙ্কটি হ'ল এটি করার জন্য একটি ওরাকল টিউটোরিয়াল। আশা করি এটি আপনাকে সাহায্য করবে।

অন্য কোনও আরডিবিএমএস সম্পর্কে জানেন না।


2

আমাদের অ্যাপ্লিকেশনগুলির একটিতে (অ্যাক্সেসড ট্রাথ ক্রোম এবং কেবলমাত্র ক্রোম), আমরা মাইএসকিউএল sys_exec ইউডিএফ ব্যবহার করছি । মূলত, ক্রোম কেন - ওয়েবস্কট সমর্থনের কারণে।

একটি সমালোচনামূলক আপডেট / সন্নিবেশ / মুছে ফেলার পরে, একটি বাহ্যিক প্রোগ্রাম নির্দিষ্ট ট্রিগারগুলিতে এমবেড করা স্রোতকে নতুন যুক্ত করা সিস_এক্সেক কার্যকারিতা ডাকা হয়। এই মুহুর্তে, সমস্ত কিছু রিয়েল-টাইম হওয়ায় আমরা কোনও সংযুক্ত ক্লায়েন্টকে পোলিং বা একাধিক প্রশ্নের প্রয়োজন ছাড়াই বার্তাটি রিলে করার জন্য আমাদের সমস্ত কিছু পেয়েছি।


1

আমরা ওরাকল গোল্ডেনগেট এবং জাভা পার্সনিস্ট এপিআই (জেপিএ) এর সংমিশ্রণটি ওরাকল ডাটাবেসের সাথে এটি করতে করতে করি, তবে ডিবি 2, সিবাস, মাইক্রোসফ্ট এসকিউএল সার্ভার, মাইএসকিউএল, টেরাদাতা ইত্যাদিও বৈশিষ্ট্যটি এখানে বর্ণিত হয়েছে: http: // ডক্স .oracle.com / মিডলওয়্যার / 1212 / সঙ্গতি / COHIG / golden_g.htm

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

(সম্পূর্ণ প্রকাশের জন্য, আমি গোল্ডেন গেট ব্যবহার করে কোনও একটিতে ওরাকলে কাজ করি))

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