একটি বৃহত রেকর্ড ভিত্তিক গাণিতিক ডাটাবেসের জন্য কোন প্ল্যাটফর্ম?


11

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

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

পর্যবেক্ষণগুলি সম্ভবত কোনও পাঠ্য ফাইল থেকে পড়তে হবে। প্রতিটি রেকর্ডে একটি (2 x পূর্ণসংখ্যার) গ্রিড পজিশন (সারি এবং কলাম) একটি (ভাসমান পয়েন্ট) স্থল স্তর এবং বিভিন্ন স্ট্রিং তথ্য কোড (মোটে 30 টি পর্যন্ত অক্ষর) থাকবে)

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

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

আমি প্ল্যাটফর্মের সম্ভাব্য বিকল্পগুলির কথা ভাবছি -

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

  2. এসকিউএল ব্যবহার করবেন? এটি আমি খুব বেশি জানি না তবে এটি ডাটাবেসের ভাষা বলে মনে হয়। আমি সবসময় ঘোষণার পরিবর্তে অপরিহার্য ভাষাগুলি ব্যবহার করেছি এবং উইকিপিডিয়া থেকে বুঝতে পারি যে এসকিউএল ঘোষণামূলক আমি পরিবর্তনের জন্য কিছুটা নার্ভাস। এটি ব্যবহারের প্রক্রিয়াটি আমি পুরোপুরি বুঝতে পারি না। কনসোলার প্রোগ্রাম তৈরি করে এমন কি একটি সংকলক আছে? ডাটাবেসটি কি ডিস্কে সঞ্চিত? এই ধরনের বোকা প্রশ্নের জন্য দুঃখিত।

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

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

কয়েক মিলিয়ন রেকর্ডের সম্ভাবনা রয়েছে এবং আমি আধুনিক পিসি চলমান উইন্ডোতে কয়েক ঘন্টা নয় (বেশিরভাগ সেকেন্ড!) মিনিটের মধ্যে সেগুলি জিজ্ঞাসা করতে এবং প্রক্রিয়া করতে সক্ষম হতে চাই। আরও সুনির্দিষ্ট খনি হওয়ার জন্য একটি আই 7 প্রসেসর যা 6 জিবি র‌্যাম এবং 120 জিবি এসএসডি উইন্ডোজ 7 64 বিট চলমান।

আশা করি কারও কাছে একটি নবাগতের সাথে দু'বার জ্ঞানের কথা শেয়ার করার সময় এসেছে।


আপনি যদি বিকেলে 1 থেকে 5 এর মধ্যে মাঝে মাঝে অনলাইনে থাকতে পারেন (বা পরে দুর্দান্তও হবে) আমরা আপনাকে এটির জন্য সাহায্য করতে আড্ডায় থাকতে চাই। chat.stackexchange.com/rooms/179/theheheap (অবশ্যই সেই সময়ের আগে কিছু সহযোগী ব্রিট থাকতে পারে)। আমার কিছু নির্দিষ্ট চিন্তা আছে যেমন ভৌগলিক তথ্য সিস্টেমগুলি সাহায্য করতে সক্ষম হতে পারে।
jcolebrand

উত্তর:


9

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

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

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

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

তবুও পোস্টজিআইএস এখনও 3- এবং 4-মাত্রিক জ্যামিতিক সমন্বয় সিস্টেমে উপস্থাপনা এবং গণনার অনুমতি দিয়ে জিনিসগুলিকে সহজ করতে পারে।

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

ঘোষিত ভাষার প্রভাব Language

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

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

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

এটি কীভাবে কাজ করবে

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

সংক্ষেপে আপনি আরডিবিএমএসকে "ম্যাথ ইঞ্জিন" হিসাবে ভাবতে পারেন যা আপনার ডেটা পরিচালনা করে এবং আপনার প্রোগ্রামটি আপনার যা প্রয়োজন তা করতে এটির সাথে ইন্টারেক্ট করে।


1
দেরিতে জবাবের জন্য দুঃখিত আমি খুব ব্যস্ত ছিলাম। আমি আপনার প্রশ্রয় বিশদ পরামর্শ প্রদান সত্যিই প্রশংসা করি। আমি এসকিউএল দিয়ে শুরু করছি, ও'রিলি বইয়ের সাথে শিখছি এবং বইটির প্রস্তাবিত অনুসারে সবেমাত্র মাইএসকিউএল ডাউনলোড করেছি। আমি পোস্টগ্রেএসকিউএল জিআইএস এক্সটেনশনের ব্যবহার এবং সম্ভবত পরে # সি থেকে এসকিউএল অ্যাক্সেস করব। আবারও ধন্যবাদ, আমি ফিরে আসব!
ব্যবহারকারী 19109
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.