আমি কীভাবে 256+ ভেরিয়েবল সহ সারণীগুলি পরিচালনা করতে পারি?


10

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


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

উত্তর:


7

পোস্টগ্রিসকিউএলএর "কলামের ধরণের উপর নির্ভর করে" 250 এবং 1600 এর মধ্যে একটি কলাম সীমা রয়েছে এবং পোস্টজিআইএস এক্সটেনশনের সাথে স্থানিক ডেটা এবং ক্যোয়ারিকে সমর্থন করে। সুতরাং আমি দুটি জিনিস করতে ঝোঁক হবে:

প্রথমে, যেখানে কোনও কলাম বিনামূল্যে পাঠ্যের পরিবর্তে কোনও বিভাগের প্রতিনিধিত্ব করে সেখানে বিভাগগুলির সাথে পৃথক টেবিল তৈরি করুন এবং বিভাগের সারণিটি উল্লেখ করে কলামটি একটি পূর্ণসংখ্যা আইডি এবং বিদেশী কী বাধা দিয়ে প্রতিস্থাপন করুন।

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

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

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


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

@ মের্সিভিওকিং, তিনি কীভাবে (@ স্কোবল) টেবিলগুলি বিভক্ত করতে পারেন বা অন্য উল্লিখিত ক্রিয়াকলাপগুলি করতে পারেন যদি তিনি টেবিলগুলি পরিচালনা করে এমন কোনও প্রোগ্রামের ডেটা আমদানি করতে না পারেন? ডেটা সিএসভিতে রয়েছে।
পাবলো

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

"যেখানে কোনও কলাম বিনামূল্যে পাঠ্যের চেয়ে কোনও বিভাগকে উপস্থাপন করে" আপনাকে সেই কলামগুলিতে ম্যানুয়ালি ম্যাপ করতে হবে।
পাবলো

2
@ পাবলো কেবলমাত্র যদি আপনি অপর্যাপ্ত সফ্টওয়্যার ব্যবহার করেন :-)। উদাহরণস্বরূপ, প্রায় কোনও আধুনিক পরিসংখ্যান প্রোগ্রাম ব্যবহার করে কয়েকটি কমান্ড দিয়ে অনুচ্ছেদে 2-3 এর অনুচ্ছেদে ওয়ার্কফ্লো করা যেতে পারে। (অবশ্যই আমি একটি ডাটাবেস পরিবর্তে এমন একটি প্রোগ্রাম নিযুক্ত সমর্থনে করছি নয়; আমি শুধু ইশারা করছি সঠিক সঙ্গে স্যুট সরঞ্জাম, এই উত্তরে সবকিছু সহজে এবং দক্ষতার সম্পন্ন করা যেতে পারে।)
whuber

7

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

আমার ক্ষেত্রে, আমি আমার 2172 কলাম কলাম প্রশস্ত সিএসভি ফাইল কোনও সমস্যা ছাড়াই এফজিডিবি টেবিলের মধ্যে আমদানি করতে সক্ষম হয়েছি।

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


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


ফাইল জিওডাটাবেসগুলির উচ্চ সীমাবদ্ধতা রয়েছে, তাই আমদানিতে এমন কিছু ঘটেছিল সম্ভবত।
নিকসান

2

সংক্ষিপ্ত:
প্রতিটি বিষয়বস্তুর জন্য প্রচুর বৈশিষ্ট্যযুক্ত বা ভেরিয়েবল অ্যাট্রিবিউট টাইপের সাথে ডেটার জন্য আমার বিকল্পটি কেই / ভ্যালু ডেটা মডেল ব্যবহার করা, এটি প্রয়োগ করা যেতে পারে এবং খুব ভালভাবে কাজ করে, এসকিউএলে (আমি পোস্টগ্র্যাসকিএল + পোস্টগ্রিস সুপারিশ করব)।

বর্ণনা:
1) বৈশিষ্ট্যগুলির জন্য আপনার কাছে একটি টেবিল রয়েছে, আসুন, পয়েন্টগুলি বলুন। এই টেবিলটি প্রতিটি পয়েন্টের জন্য একটি আইডি এবং জিওমেট্রি রাখে।

2) আপনার 'বৈশিষ্ট্যগুলির' জন্য আরও একটি সারণী রয়েছে যা কী / মান জোড়। এই টেবিলটিতে কলাম আইডি, POINT_ID (FK), KEY (বার্চার), VALUE (বার্চার) রয়েছে।

এখন প্রতিটি বিন্দুতে কার্যত অসীম বৈশিষ্ট্যগুলি সংরক্ষণ করা যেতে পারে:

ID   POINT_ID   KEY   VALUE
1        1      type     burger shop
2        1      name     SuperBurger
3        1      address  123, a ST.

ওপেনস্ট্রিটম্যাপস এর মতো কাজ করে এবং খুব ভালভাবে কাজ করে, এখানে এবং এখানে দেখুন

ডেটা আমদানি করতে আমি পাইথন স্ক্রিপ্টটি সাজেস্ট করব।


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

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

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

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

আপনার সমাধানটি মনে হয়, আপনার নিজের ভর্তির মাধ্যমে প্রোগ্রাম হিসাবে আমার মতো জটিল হতে পারে - "ভাল প্রোগ্রামিং দক্ষতা" প্রয়োজন। আমি কেবল পোস্টগ্র্রেএসকিউএল এর মতো আরডিবিএমএসের জন্য সবচেয়ে কার্যকরী এমন ফর্মটিতে ডেটা রাখার পক্ষে পরামর্শ দিয়েছিলাম। তদ্ব্যতীত, এটি একটি মূল বিন্দু হিসাবে উপস্থিত হবে কারণ ব্রেন্টের উত্তরটি 256 কলামের সীমাটি বোগাস দেখায়।
মার্সিভাইকিং
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.