যদি আমি ওআরএম ফ্রেমওয়ার্কগুলি ভালভাবে জানি তবে এসকিউএল গুরুত্বপূর্ণ? [বন্ধ]


50

আমার এসকিউএল-তে কোনও গুরুতর অভিজ্ঞতা নেই এবং আমি লিনকু-র পরিবর্তে এসকিউএল লিখতেও ঘৃণা করি। আমি ওআরএম নিয়ে যথেষ্ট খুশি।

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


14
আমি বৃদ্ধ অনুভব করছি. এসকিউএল যথেষ্ট পরিমাণে বিমূর্ত করা হয়েছে যে আপনি এখন গুরুত্ব সহকারে এই প্রশ্নটি জিজ্ঞাসা করতে পারেন।
চিহ্নিত করুন

11
@ মার্ক: সম্ভবত আপনি গুরুত্ব সহকারে প্রশ্ন জিজ্ঞাসা করতে পারেন, তবে উত্তর এখনও একই রকম।
অ্যাডাম রবিনসন

30
আমি ক্যালকুলেটর ব্যবহার করতে পারলে পাটিগণিত এখনও জানা গুরুত্বপূর্ণ?
স্টিভেন এ লো।

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

2
আপনি যদি ড্রিমউইভার ব্যবহার করতে পারেন তবে আপনার কি এইচটিএমএল জানতে হবে?
তুলাইনস কর্ডোভা 6'13

উত্তর:


63

এর কারণ হল আপনি শুধুমাত্র জানেন, প্রোগ্রামারদের অনেক ব্যাখ্যা কঠিন মৌলিক এসকিউএল তারপর এটা সত্যিই নেই আপনি একটি ORM এর খঁজের যষ্টি উপর একটি সুবিধা অনেক দেব। আরও উন্নত এসকিউএল ধারণাগুলি হ'ল উচ্চতর মানের (বিশেষত, দ্রুত এবং নির্ভরযোগ্য) অ্যাপ্লিকেশনগুলির তুলনায় পার্থক্যের একটি গুরুত্বপূর্ণ অংশ যা কেবলমাত্র বনাম বনাম কাজ করে

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

  • পুনরাবৃত্ত এবং / বা শ্রেণিবদ্ধ কোয়েরি
  • Alচ্ছিক পরামিতি (বিশেষত তাদের রেঞ্জের পূর্বাভাসে অনুবাদ করা)
  • ব্যবহারকারী-সংজ্ঞায়িত ডেটা প্রকার
  • প্ল্যাটফর্ম-নির্দিষ্ট ধরণের (এসকিউএল হায়ারারকিড এবং টিভিপি, ওরাকল অ্যারে এবং নেস্টেড টেবিল ইত্যাদি)
  • ব্যাচের সন্নিবেশ / আপডেট / সংযোজন / মোছা
  • সূচক ইঙ্গিত
  • লক ইঙ্গিত (বিশেষত তালা এবং নোংরা পাঠ্য আপডেট করুন)
  • শিল্প খাত
  • বাইরের সাথে যোগ দেয় - তাদের ফলাফলগুলি ওওপি মডেলটির সাথে খারাপভাবে মানচিত্র সেট করে, অনেকগুলি ওআরএমের নিজস্ব কোয়েরি ভাষা থাকে তবে এটি এসকিউএল নিজেই জানার অনুরূপ;
  • সঞ্চিত পদ্ধতি এবং ইউডিএফগুলির মাধ্যমে মডুলারাইজেশন, বিশেষত ইনলাইন ইউডিএফ এবং ক্রস অ্যাপ্লিকেশন ক্যোয়ারী
  • একাধিক টেবিলগুলিতে ডেটা মঞ্চ করার জন্য আউটপুট / রিটার্নিংয়ের ব্যবহার
  • দক্ষ পেজিং কোয়েরি
  • উইন্ডোটিং ফাংশনগুলির ভিত্তিতে ক্যোয়ারী (রোউনাম, র‌্যাঙ্ক, পার্টিশন)

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

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


আমি আপনার বেশিরভাগ পয়েন্টের সাথে একমত, তবে বাইরের সাথে যোগ দেওয়ার বিষয়ে: হ্যাঁ, তারা ওওপিতে খারাপ মানচিত্র তৈরি করে, তবে আমি মনে করি ওওপি সমতুল্য (যেমন GroupJoinলিনকুতে) আরও ভাল।
এসভিচ

@ স্পিক: এর ব্যবহার রয়েছে তবে এটি একই জিনিস নয়। এর সাথে একটি সম্পূর্ণ বাইরের যোগদানের অনুকরণ করার চেষ্টা করুন GroupJoin
অ্যারোনআউট

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

@ এসভিক: টিপটির জন্য ধন্যবাদ। র‌্যাঙ্কটি টানতে ঘৃণা করি তবে এক বছরের দীর্ঘ ব্যবধানের পরেও আমি স্ট্যাক ওভারফ্লোতে এসকিউএল এবং লিনক উভয়ের জন্য শীর্ষ অবদানকারীদের একজন , সুতরাং আমি নিশ্চিত যে আমি পদ্ধতির পার্থক্যটি বুঝতে পেরেছি pretty সম্পূর্ণ যোগদানগুলি বিরল, তবে কখনও কখনও এগুলি আসলে আপনার প্রয়োজন অনুসারে হয় এবং লিনকের কোনও অ্যানালগ নেই। এটির কাঠামো নির্বিশেষে একই ফলাফল সেটটি পেতে বেশ অগোছালো এবং অদক্ষ ।
অ্যারোনআউট

দেখে মনে হচ্ছে আমরা আসলে একমত। বেশিরভাগ ক্ষেত্রে, আপনি আসলে বাইরের যোগদান চান না। তবে আপনি যখন করেন, এটি লিনিক্যুতে অনুবাদ করা শক্ত।
এসভিক

90

কাফনের কাপড়! এসকিউএল এখনও ডাটাবেসের লিঙ্গুয়া ফ্র্যাঙ্কা এবং যদিও আপনি ওআরএম এর সাথে অনেক কিছু করতে পারেন তবে আপনাকে ওআরএম গ্রহণের সিদ্ধান্ত এবং তারা যে এসকিউএল জেনারেট করে সেগুলি বুঝতে আপনাকে এসকিউএল বুঝতে হবে। এছাড়াও, কাস্টম এসকিএল এবং সঞ্চিত পদ্ধতিগুলির সাথে আপনার আরও অনেক কিছু করতে হবে। দুঃখিত, বিনামূল্যে লাঞ্চ নেই।


6
প্রকৃতপক্ষে. আপনাকে উদাহরণস্বরূপ জানতে হবে বিভিন্ন যোগদানের বিবৃতিগুলির প্রভাব এবং এটি কার্য সম্পাদনকে কীভাবে প্রভাবিত করে।
চিরন

15
+1 নিখরচায় দুপুরের খাবার! অজ্ঞতা ঠিক আছে কিনা মূলত জিজ্ঞাসা করা সমস্ত প্রশ্নের সাথে কী?
বেনজাদো

7
@ বেনজাদো: আমার ধারণা এটি এসকিউএল-এর পক্ষে অনুমোদিত নয়, তবে আপনাকে কিছু বিষয় সম্পর্কে অজ্ঞতা বেছে নিতে হবে; তাদের সমস্ত কিছু জানতে সত্যই অনেকগুলি প্রযুক্তি রয়েছে (এমনকি ভালও!) সুতরাং আমি মনে করি এটি জিজ্ঞাসা করা ঠিক আছে "আমি যদি ওয়াইকে সত্যিই ভাল জানি বা আমি জেড করছি কিনা তবে এটি এক্স অপ্রয়োজনীয়?"
ক্রেগ ওয়াকার

2
@ ক্রেইগ আমি সম্মত হলাম সেখানে শিখার মতো অনেক কিছুই আছে তবে একজন প্রোগ্রামারকে অবশ্যই কাজ করছেন যেখানে তার নীচের স্তরের প্রাথমিক জ্ঞান থাকা উচিত।
বেনজাদো

2
@ ক্রেইগ ওয়াকার ডাটাবেসগুলি বেশিরভাগ ব্যবসায়িক অ্যাপ্লিকেশনগুলির জন্য জেনে রাখা গুরুত্বপূর্ণ ld
এইচএলজিইএম

25

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


14

এসকিউএল দক্ষতা আজ আইটি দক্ষতা থাকতে হবে। লিনকুই একটি মাইক্রোসফ্ট প্রযুক্তি Only এসকিউএল ব্যবহারগুলি ওয়েব এবং ক্লায়েন্ট / সার্ভার অ্যাপ্লিকেশন বিকাশের বাইরে চলে যায়। আপনি এসকিউএল-এর সাথে ভাল না থাকলে আপনি ডাটাবেসগুলি মডেল করতে এবং ইটিএল করতে পারবেন না। আপনাকে তাদের ডেটা ওয়্যারাহাস পণ্যগুলির জন্য ORACLE এবং এসকিউএল সার্ভারে ব্যবহৃত এসকিউএল উপভাষাগুলি আয়ত্ত করার প্রয়োজন হতে পারে না তবে আপনার স্ট্যান্ডার্ড এসকিউএল জানা উচিত। এসকিউএল বেসিকগুলি সহজ, আপনাকে শুরু করার জন্য প্রচুর পরিমাণে উপাদান রয়েছে।


1
যে কেউ লিনকিউ কীভাবে কাজ করে সে জানেন যে তারা একদিনে বেসিক এসকিউএল শিখতে পারবে। এটি এসকিউএল শেখার জন্য একটি ভয়ানক যুক্তি।
বরিস ইয়াঙ্কভ

6

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

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


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

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

3
+1: "আপনি যদি এসকিউএল শিখতে অস্বীকার করেন, তবে এসআরএল ডাটাবেসগুলি স্পর্শ করে আপনার কোনও ওআরএম বা তার বাইরে কোনও ব্যবসা নেই এবং আপনার অন্য ধরণের কাজ খুঁজে পাওয়া উচিত।"
ভেক্টর

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

1
ক্র্যাচ নয়, "সরঞ্জামগুলির জন্য (আপনি জানেন এমন জিনিসগুলি বিমূর্ত করার জন্য) +1 করুন।"
শোলসিংসার

4

আমি স্বীকার করব যে আমি একজন ডাই হার্ড ওআরএম অনুরাগী এবং বছরের পর বছর ধরে ওআরএমের সুবিধাগুলি প্রচার করে আসছি এবং কেন ওআরএম এসকিউএলকে ট্রাম্প করে say

কিন্তু ...

আমাকে স্বীকার করতে হবে যে এসকিউএল পুরোপুরি এবং সম্পূর্ণরূপে বাস্তব বিশ্বের প্রয়োজন এবং প্রতিটি বিকাশকারীকে এসকিউএল সম্পর্কে ভাল বোঝা থাকতে হবে।

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

উপলক্ষে, আপনার প্রয়োজনীয় ফলাফলটি পেতে আপনার কিছু ভারী দায়িত্ব এসকিউএল প্রয়োজন এবং এসকিউএল প্রক্সগুলিতে এই দৈত্য অনুসন্ধানগুলি সহজ এবং দ্রুত তৈরি করা যায়।

শুধু আমার দুটি বিট।


4

একটি সময় আসবে যখন আপনাকে ORM তৈরি করছে এমন জটিল কিছু অনুকূল করতে হবে। এই মুহুর্তে আপনার কাছে ভেঙে যাওয়ার জন্য খুব জটিল একটি প্রশ্ন রয়েছে। যদি আপনি কখনই বেসিকগুলি শিখেন না, তবে কীভাবে আপনি উন্নত স্টাফ দিয়ে এসকিউএল শেখা শুরু করবেন বলে আশা করতে পারেন? আপনি এমনকি শুরু করতে যথেষ্ট বুঝতে পারবেন না। এসকিউএল বোঝে এমন ব্যক্তির হাতে ওআরএম - একটি ভাল সরঞ্জাম। যে কেউ এসকিউএলকে মোটেও ডিওস করেন না এমন ব্যক্তির হাতে ওআরএম - দুর্যোগ হওয়ার অপেক্ষায়।

এসকিউএল ডাটাবেসগুলি বোঝার জন্য গুরুত্বপূর্ণ কারণগুলির মধ্যে একটি হ'ল অ্যাপ্লিকেশন প্রোগ্রামাররা ডেটা সেটগুলির ক্ষেত্রে স্বাভাবিকভাবে ভাবেন না। তবে ডেটাবেসগুলি দক্ষতার সাথে চালানোর একমাত্র উপায় হ'ল সেটগুলি। এমনকি কোনও ওআরএম ব্যবহার করার চেষ্টা করার আগে আপনাকে সেটগুলিতে কীভাবে ভাবতে হবে তা শিখতে হবে।


3

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


3

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

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

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

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


3
আমি আরও মনে করি যে কখনও কখনও (নিয়মিত এসকিউএল থাকা সত্ত্বেও) লোকেরা এটি ভুলে যায় যে এটি কোনও ডেটা সেট ফেরত দেওয়ার অর্থ এই নয় যে এটি সঠিক ডেটা সেট। আমি মনে করি কোনও ORM এর সাথে ভুলে যাওয়া সহজ হয়ে যায় যখন আপনি ধরে নেন যে এটি সঠিক কাজটি করেছে কারণ আপনি যেভাবে যা করেছেন তা সত্যই বুঝতে পারবেন না।
এইচএলজিইএম

আমি ORQL এসকিউএল এর চেয়ে কম জটিল হওয়ার বিষয়ে একমত নই। এসকিউএল দিয়ে আপনি প্রোগ্রামিং ছাড়াই ডেটা পুনরুদ্ধার করতে পারেন। এসকিউএল কোনও প্রোগ্রামিং ল্যাঙ্গুয়েজ নয় বরং একটি ঘোষণামূলক একটি ভাষা, সুতরাং এটির কাঠামোর জন্য বা যদি-তবে-পরে থাকে না।
তুলাইনস কর্ডোভা

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

2

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


তিনি যে অ্যাপ্লিকেশনটি তৈরি করছেন তার মাধ্যমেই কেবল ডাটাবেসের সাথে ইন্টারঅ্যাক্ট করতে হবে?
তুলাইনস কর্ডোভা

2

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


1

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

কম দক্ষতার সাথে কাজ করার ফাঁদে না পড়লেও এটি গুরুত্বপূর্ণ কারণ আপনি সেগুলি সম্পর্কে কার্যকর উপায় সম্পর্কে অবগত নন বা ইচ্ছুক নন।

এই বিশেষ ক্ষেত্রে, উদাহরণস্বরূপ, আপনি যদি বুঝতে পারেন যে আপনার প্রোগ্রামে কোনও ত্রুটি রয়েছে যা PostCountআপনার ব্যবহারকারীর টেবিলের ক্ষেত্রটিকে কখনও কখনও ভুল করে তোলে।

আপনি বাগটি ঠিক করেছেন এবং এখন আপনাকে সমস্ত ব্যবহারকারীর জন্য পোস্টকাউন্ট আপডেট করতে হবে। তুমি এটা কিভাবে কর?

আপনি যদি ওআরএম ব্যবহার করে এটির জন্য একটি ছোট স্ক্রিপ্ট লিখে থাকেন তবে আপনি খুব অদক্ষ হয়ে যাচ্ছেন; একটি খুব সাধারণ এসকিউএল কোয়েরি করবে।

যেহেতু এই পরিস্থিতিগুলি মোটামুটি সাধারণ তাই আমি আশঙ্কা করি যে আপনি উপরে বর্ণিত ফাঁদে পড়েছেন!


2
আমি সম্মত হই: আপনি যদি এসকিউএল না জানেন, তবে আপনি প্রায়শই কয়েক একাধিক লাইন কোড লিখে থাকেন যা একটি একক এসকিউএল কোয়েরি দিয়ে আপনি করতে পারতেন do
বেনজাদো

2
পুনরায় "এটি আপনার প্রথমবারের মতো প্রয়োজন তা শিখুন
ম্যাট্রিক্সফ্রাগ

1

হ্যাঁ, আপনার এখনও এসকিউএল প্রয়োজন।

"পুরাতন" কিছু বিবেচনার জন্য অযোগ্য বলে ধরে নেওয়া যায় না। তথাকথিত "লিগ্যাসি" প্রযুক্তিগুলি সেগুলি যা সময়ের পরীক্ষার পরেও রয়েছে around আমরা ওয়াং কম্পিউটারগুলিকে "উত্তরাধিকার" বলি না, তারা ব্যর্থ হয়েছে এবং চলে গেছে।

আপনি যদি আমাকে জিজ্ঞাসা করেন তবে আমার ব্যাঙ্কটি কোনও মেইনফ্রেমে সম্ভবত সিওবিএল ব্যবহার করছে বা আইবিএম i? আবসোলুটলি না। এগুলি রক সলিড, ট্রাইড এবং সত্য প্রযুক্তি। কী অনুমান করুন, তারা বেশিরভাগ ডিবি 2 এসকিউএল ব্যবহার করছে। আমি এখানে আমার অর্থের উপর অনেক বেশি আনন্দিত, মাসের ফ্যাশনেবল ভাষায় তৈরি সফ্টওয়্যার থেকে বেশি in

ডাইনোসর আমাদের পৃথিবীর চেয়ে অনেক বেশি সময় ধরে এই পৃথিবীতে টিকে ছিল। এবং যদি আপনি জুরাসিক পার্কটি পড়ে থাকেন (হ্যাঁ, সিনেমা চলচ্চিত্রের চেয়ে ভাল) তবে আমি আপনাকে জিজ্ঞাসা করছি, আপনি কি সত্যিই হাইপার-চালাক ভেলোসিরাপেক্টরগুলির একটি প্যাকের মুখোমুখি হতে চান, বা কোনও কুকুরযুক্ত টি-রেক্স কখনওই ছাড়েন না? "ডাইনোসর" অবমূল্যায়ন করে কামড়বেন না। ;-)


0

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

যখন আমরা এমন পয়েন্টে পৌঁছে যাই যে বড় ডেটাসেটগুলি পরিচালনা করার জন্য উদাহরণস্বরূপ হাতের কাজ করার সময় 3 এমএস লাগে, এবং 100 এমএসে যখন আপনি বিমূর্ত স্তরটি এটি আপনার জন্য করতে দেন, কোনও উপায়ে, বিমূর্ত স্তরটি এটি আপনার জন্য পরিচালনা করে, কারণ আপনি সম্ভবত 30 বার ধীর হতে হবে, তবে আপনি এখনও (সম্ভবত বেশিরভাগ অ্যাপ্লিকেশনগুলির জন্য) যথেষ্ট দ্রুত। পরিস্থিতির বাস্তবতা হ'ল আপনি যখন হাতের অনুকূলিত সমাধানগুলি সন্ধান করছেন যেখানে আপনার কাছে 200 এমএস প্রতিক্রিয়া সময় রয়েছে এবং যখন বিমূর্ত স্তরটি এটি আপনার জন্য পরিচালনা করে, তখন অ্যালগরিদম 10 বার পারফর্মেন্স হিট করে 'ঠিক' নেয়, আপনার কাছে একটি ২ সেকেন্ড বিলম্ব, এবং তারপরে আপনি পুরোপুরি যত্নশীল হোন, কারণ এটি এত দ্রুত নয়, বেদনাদায়কভাবে ধীর হয়ে যায়। যে রিলেশনাল ডাটাবেস সমাধান ভাল স্কেল না, আমি মনে করি না এটি দুই বা তিন বছরে সমাধান হয়ে যাবে। এর অর্থ এটি যখন বৃহত্তর ডাটাবেসের ক্ষেত্রে আসে তখন আপনাকে বেশ কিছু সময়ের জন্য খালি ধাতুতে নামতে হবে, বা আপনার অ্যাপ্লিকেশনটি এত ধীর হবে, এটি প্রতিযোগীদের কাছে দাঁড়াতে পারে না।

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