পোস্টগ্রিজ এসকিউএল-এ বিএলএলবি বা রেফারেন্স


11

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

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

আমি যদি ডেটাবেসে সরাসরি ডেটা ফাইলগুলি সঞ্চয় করে রাখি, তবে অন্য সমস্ত ক্ষেত্রগুলি সারণীতে না রেখে "মেইন" টেবিলের পরিবর্তে বিদেশী কী সহ একটি আলাদা টেবিলের মধ্যে সেগুলি সংরক্ষণ করা ভাল be

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

আপডেট: অনুরূপ প্রশ্ন


রেফারেন্স সহ রেকর্ডটি মোছার পরে পোস্টগ্রেএসকিউএল দিয়ে একটি নিয়ম স্থাপন করা সম্ভব যা ফাইল সিস্টেমে স্বয়ংক্রিয়ভাবে ফাইলটি মুছবে
jp

আমি নিশ্চিত যে এই প্রশ্নের একাধিক উত্তর ছিল। এটা কি হয়েছে? পোস্টারটি মুছে ফেলা হলে এটি দেখার কোনও উপায় আছে কি? এটি সম্পর্কে মন্তব্য কি?
সাব্রেভল্ফি

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

উত্তর:


9

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

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


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

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