এই পর্যায়ে যতটা সম্ভব অনুমান করা যায় (ওয়েব অ্যাপটি আসলে কীভাবে বিকশিত হয় সে সম্পর্কে) আমি ডাটাবেস ডিজাইনের বিষয়ে সিদ্ধান্ত নেওয়ার চেষ্টা করছি।
প্রথম পদক্ষেপ হিসাবে, জিনগুলি ব্যয়বহুল বলে বুঝতে পেরে, আমি সংখ্যায় সাধারণ ছোট টেবিলের বিপরীতে অল্প সংখ্যক মনোলিথিক সারণী বিবেচনা করছি। দ্বিতীয় পয়েন্ট হিসাবে, আমি হস্টোর বনাম নিয়মিত সারণী বনাম জেএসএনবি (জিআইএসটি সূচক সহ) ব্যবহারের মধ্যে বিভ্রান্ত।
আফাইক (সংশোধন করতে নির্দ্বিধায়):
সাধারণত পোস্টগ্রিসে হস্টোর অন্যান্য ডেটা ধরণের চেয়ে ভাল পারফরম্যান্স হিসাবে পরিচিত। ফোসডেম পিজিডিএইয়ের এই উপস্থাপনাটির কিছু আকর্ষণীয় পরিসংখ্যান রয়েছে (স্লাইডগুলির দ্বিতীয়ার্ধে) https://wiki.postgresql.org/images/b/b4/Pg-as-nosql-pgday-fosdem-2013.pdf
হস্টোরের সাথে একটি সুবিধা হ'ল দ্রুত সূচক (জিআইএন বা জিআইএসটি)। তবে জেএসওএনবির সাথে জিআইএন এবং জিএসটি ইনডেক্সিংও জেএসওএন ডেটাতে প্রয়োগ করা যেতে পারে।
২ য় কোয়াড্রেন্টের পেশাদারদের এই ব্লগটি বলেছে "এই মুহুর্তে সমস্ত নতুন অ্যাপ্লিকেশনগুলিতে জেসনবের সাথে hstore ব্যবহারের প্রতিস্থাপন করা ভাল" (শেষ পর্যন্ত স্ক্রোল করুন): http://blog.2ndquadrant.com/postgresql-anti-patterns- অপ্রয়োজনীয় -jsonhstore-ডাইনামিক-কলাম /
সুতরাং আমি নিম্নলিখিত বিষয়ে সিদ্ধান্ত নিতে চাই:
- ডেটাটির মূল (কাঠামোগত) অংশের জন্য: এটি কয়েকটি রিলেশনাল টেবিলের মধ্যে থাকা উচিত (অনেকগুলি কলামের সাথে তুলনামূলকভাবে বড়), বা এটি হস্টোর ব্যবহার করে বেশ কয়েকটি কী-মান স্টোর হওয়া উচিত?
- অ্যাডহক (ব্যবহারকারীর অবদান / অবকাঠামোগত) ডেটার জন্য, এটি জেএসএন বা হস্টোরের অ্যাডহক কী ভ্যালু স্টোরগুলিতে থাকা উচিত (মূল রিলেশনাল টেবিলগুলির মধ্যে একটিতে কীগুলি সংরক্ষণ করা উচিত)?
JSON(B)
এবংhstore
(এবং EAV) অজানা কাঠামোর সাথে ডেটার জন্য ভাল।