মঙ্গোডিবি এবং পোস্টগ্র্যাস এসকিউএল একসাথে ব্যবহার করা


25

আমার বর্তমান প্রকল্পটি মূলত মিল ডকুমেন্ট ম্যানেজমেন্ট সিস্টেমের একটি রান।

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

পটভূমি:

আমরা যে ওয়েব অ্যাপটি বানাচ্ছি তার মধ্যে এমন ডেটা রয়েছে যা স্পষ্টভাবে সম্পর্কিত প্রকৃতির পাশাপাশি ডকুমেন্ট-ওরিয়েন্টড ডেটা। আমরা আমাদের কেক রাখতে চাই এবং এটিও খেতে চাই।

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

জটিলতার:

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

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

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

প্রস্তাবিত সমাধান:

1. ডকুমেন্ট ক্লাসে এক টেবিল

প্রতিটি নথি শ্রেণি সমস্ত মেটাডেটা এবং ডেটার জন্য কলাম সহ নিজস্ব টেবিল পায় gets

সুবিধাদি:

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

অসুবিধা:

  • দুঃস্বপ্ন রক্ষণাবেক্ষণ। কয়েক হাজার কলাম সহ কয়েক ডজন (শত?) সারণী।
  • কোন টেবিলে লিখতে হবে তা ঠিক করার জন্য দায়ী অ্যাপ্লিকেশন-স্তরের যুক্তি। সন্ধানের দুর্গন্ধের জন্য টেবিলের নামটি একটি প্যারামিটার তৈরি করা।
  • মূলত সমস্ত ব্যবসায়ের যুক্তি পরিবর্তনের জন্য স্কিমা পরিবর্তন প্রয়োজন।
  • প্যাথলজিকাল ক্ষেত্রে একাধিক টেবিল জুড়ে একক ফর্মগুলির জন্য স্ট্রাইপিং ডেটার দরকার হতে পারে (দেখুন: পোস্টগ্রিএসকিউএল টেবিলের সর্বাধিক সংখ্যক কলাম কী? )
  • আমাদের সম্ভবত একটি সত্য, সত্য-toশ্বরের ডিবিএর সন্ধান করা দরকার যিনি নিঃসন্দেহে জীবন এবং আমাদের ঘৃণা করে।

2. EAV মডেলিং

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

সুবিধাদি:

  • মডেল করা সহজ।

অসুবিধা:

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

৩. পোস্টগ্রিএসকিউএল হস্টোর বা জেসন ক্ষেত্রগুলি ব্যবহার করুন

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

সুবিধাদি:

  • আমরা জ্যাঙ্গো ওআরএম এবং অন্তর্নির্মিত লেখক এবং সেশন পরিচালনার সুবিধা পেয়েছি।
  • সবকিছু অন্যান্য ব্যাকএন্ডে থাকে যা আমরা আগে অন্যান্য প্রকল্পগুলিতে সাফল্যের সাথে ব্যবহার করেছি।

অসুবিধা:

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

৪. পুরো বোর ডকুমেন্ট-ভিত্তিক যান

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

সুবিধাদি:

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

অসুবিধা:

  • জেঙ্গো ট্রাঙ্কের জন্য ওআরএম উইন্ডোটির বাইরে। ফ্রিবিজ যা এর সাথে উইন্ডোতে যায়: লেখার কাঠামো, সেশন ফ্রেমওয়ার্ক, অ্যাডমিন ইন্টারফেস, অবশ্যই আরও অনেকগুলি বিষয়।
  • হয় মঙ্গোর রেফারেন্সিং ক্ষমতাগুলি (যার জন্য একাধিক প্রশ্নের প্রয়োজন) অবশ্যই ব্যবহার করা উচিত বা ডেটা ডেনরমালাইজ করতে হবে। আমরা কেবল জ্যাঙ্গো থেকে পেয়েছি এমন ফ্রিবিই হারাতে পারি না, আমরা পোস্টগ্রেএসকিউএল-তে সম্মতি জানানো জিনদের মতো ফ্রিবিও হারিয়েছি lose
  • তথ্য সুরক্ষা। যখন কেউ মঙ্গোডিবি সম্পর্কে পড়ে, মনে হয় সর্বদা কমপক্ষে একজন ব্যক্তি কীভাবে এটি আপনার ডেটা আপ করবেন এবং কীভাবে হারাবেন তা উল্লেখ করছেন is তারা কখনই কোনও নির্দিষ্ট ঘটনা উদ্ধৃত করে না এবং এটি সমস্তই হোগওয়াশ হতে পারে বা কেবল পুরানো ডিফল্ট আগুনের সাথে সম্পর্কিত এবং লেখার-উদ্বেগকে ভুলে যায় তবে এটি এখনও আমাকে চিন্তিত করে। আমরা অবশ্যই যেকোন ক্ষেত্রে একটি মোটামুটি অদ্ভুত ব্যাকআপ কৌশল ব্যবহার করব (যদি ডেটা নিঃশব্দে কলুষিত করা হয় তবে অবশ্যই তা অবাস্তব হতে পারে ..)।

৫. পোস্টগ্রিসএসকিউএল এবং মঙ্গোডিবি

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

সুবিধাদি:

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

অসুবিধা:

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

আমি একটি JSONডেটাটাইপযুক্ত কলামে যাব । পোস্টগ্র্রেসে নতুন বৈশিষ্ট্যগুলি ব্যবহারে ভয় পাবেন না - পোস্টগ্র্যাস টিম স্থিতিশীল নয় এমন বৈশিষ্ট্য প্রকাশ করে না। এবং 9.2 আসলে এটি নতুন নয়)। প্লাস আপনি 9.3 এ নতুন JSON বৈশিষ্ট্যগুলি একবার ব্যবহার করার পরে এটি ব্যবহার করতে পারবেন। আপনি যদি সর্বদা আপনার অ্যাপ্লিকেশন কোডে ডকুমেন্টগুলি পুরোপুরি প্রসেস করেন তবে (বরং এসকিউএল ব্যবহার করে), আপনি নিয়মিত textকলামে জেএসওএনও সঞ্চয় করতে পারেন ।
a_horse_with_no_name

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

2
@chucksmash। সব মিলিয়ে আপনি কি # 5 নিয়ে গেছেন? আপনি উভয় ডিবিএস বাস্তবায়ন করবেন কীভাবে? আপনি কোন সরঞ্জাম ব্যবহার করেছেন? যদি না হয় তবে কেন?
এক্সপান্ত

@ চকসমাশ এখনও আপনার প্রতিশ্রুতি দেওয়া প্রতিক্রিয়ার জন্য অপেক্ষা করছেন।
ভশিত পরীখ

@ চকসম্যাশ ওপি বিতরণ করেনি ... :(
অ্যালবার্ট রোথম্যান

উত্তর:


13

কিছু চিন্তা ....

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

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

hstore তুলনামূলকভাবে সীমাবদ্ধ তবে প্রচুর লোকেরা এটি ব্যবহার করে। এটি চূড়ান্তভাবে নতুন নয় তবে এটি কেবল একটি মূল / মানের দোকান এবং এটি জেসন এবং এক্সএমএল এর বিপরীতে নেস্টেড ডেটা স্ট্রাকচারের পক্ষে অক্ষম।

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

xml সবচেয়ে বৈশিষ্ট্যযুক্ত এবং দীর্ঘতম সমর্থন ইতিহাস সহ তিনটির সেরা সমর্থিত। তারপরে আবার এটি এক্সএমএল .....

তবে আপনি যদি মঙ্গো এবং পোস্টগ্রেএসকিউএল একসাথে যাওয়ার সিদ্ধান্ত নেন তবে নোট করুন যে পোস্টগ্র্যাস এসকিউএল 2 পর্বের কমিটকে সমর্থন করে যার অর্থ আপনি লেখার ক্রিয়া পরিচালনা করতে পারেন, তবে জারি করুন PREPARE TRANSACTIONএবং যদি এটি সফল হয় তবে মোংগোতে আপনার পরমাণু লেখেন। যদি এটি সফল হয় তবে COMMITআপনি পোস্টগ্রেএসকিউএল এ পারেন।


1
এগুলি সব দুর্দান্ত পরামর্শ। আমি এর আগে hstore / json ব্যবহার করার কথা উল্লেখ করেছি (এবং নিঃশব্দে এক্সএমএল ছাড় দিয়েছিলাম, কারণ, ভাল, এক্সএমএল) তবে আমি সেগুলি আপনার পরামর্শ মতো ব্যবহার করার কথা ভাবি নি thought এই সর্বোপরি, পোস্টগ্রিস 2 পর্বের কমিট পরামর্শটি সোনার। আমি এর অস্তিত্ব কোন ধারণা ছিল। দুর্দান্ত পরামর্শের জন্য ধন্যবাদ।
চকসম্যাশ

২ টি পর্যায়ের প্রতিশ্রুতিটি সত্যই সোনার। এটি খুব সম্ভবত সম্ভাব্য একটি নোএসকিউএল ব্যবহার করে। বিশেষত যদি 2 ডিবি'র মধ্যে কেবলমাত্র ডেটার মধ্যে খুব কমই আন্তঃসংযোগ ঘটে এবং তারা বেশিরভাগই বিভিন্ন সমস্যার সমাধান করে
হাকনিক

0

সেটআপ যেমন একটি ক্যোয়ারী ইঞ্জিন করতে Presto বা Dremio একটি একক ক্যোয়ারী দিয়ে MongoDB এবং Postgres বসবাসকারী তথ্য যোগদানের জন্য। উভয়েরই এই প্রতিটি ডাটাবেসের জন্য সংযোগকারী রয়েছে ( এখানে এবং এখানে ডকস দেখুন ) এবং যথাক্রমে "যে কোনও কিছুর উপর এসকিউএল চালান" এবং "যে কোনও কিছুতে যোগদান" করার প্রস্তাব দিন।

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

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

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