এইচটিটিপি সেশন বা ডাটাবেস পদ্ধতির


16

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

  1. ব্যবহারকারী লগ ইন এবং কার্টে পণ্য যুক্ত করা হয়নি (বেনামে ব্যবহারকারী)
  2. ব্যবহারকারী লগ ইন এবং কার্টে পণ্য যুক্ত।

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

তবে এখনও শপিং-কার্ট তৈরি এবং সংরক্ষণ করার জন্য আমার কাছে দুটি বিকল্প রয়েছে এই ব্যবহারকারীর জন্য একটি শপিং-কার্ট তৈরি করা।

  1. ব্যবহারকারী কোনও পণ্য যুক্ত করার সময়, ডাটাবেসে একটি কার্ট তৈরি করুন এবং এই কার্টটিকে এই ব্যবহারকারীর সাথে যুক্ত করুন, এই মুহুর্তে তিনি লগইন করে এই কার্টটিকে ব্যবহারকারীর জন্য লগইন করতে যান।
  2. কার্ট তৈরি করুন, এতে পণ্য যুক্ত করুন এবং সেশনে এটি সংরক্ষণ করুন, যখন ব্যবহারকারী ডাটাবেজে কার্ট তৈরির জন্য লগ ইন করে এবং এই কার্টটি ব্যবহারকারীর সাথে লগ ইন করে।

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

  1. স্কেলেবিলিটি
  2. নমনীয়তা
  3. extensibility
  4. অ্যাপ্লিকেশন গতি যত্ন নিতে হবে

পথটি স্থির করতে এই দিকটিতে ইনপুট খুঁজছেন।


2
কেন? আমি কয়েকশো ইকমার্স ওয়েবসাইট পরিচালনা করি এবং আমরা কুকি বা লোকালস্টোরেজ (এইচটিএমএল 5) তে সমস্ত কিছু সঞ্চয় করি। এছাড়াও, সেশনগুলি মেমরি ব্যবহার করে। যখন আমরা অ্যাকাউন্ট লগইন করি আমরা একটি টাইমস্ট্যাম্প সহ একটি এনক্রিপ্ট কুকি ব্যবহার করি। আমাদের কোনও সেশনের দরকার নেই কারণ যখন কোনও পৃষ্ঠা লোড হয়, তখন আমরা একক লোডের পরে সেশনস্টোরেজ সঞ্চয় এবং ব্যবহার করতে HTML5 কৌশল ব্যবহার করি। এটি আই 88 + সামঞ্জস্যপূর্ণ স্ট্যান্ডার্ড ওয়েব টেক।
জেসন সেব্রিং

@ LuiggiMendoza ঠিক আছে কেন না।
জেসন সেব্রিং

@ zipstory.com: আমিও মত HTML5 এর ভিত্তি সমাধান সম্পর্কে একটি চেহারা আছে, কিন্তু তার কয়েক ব্রাউজার দ্বারা সমর্থিত নয় এখনো সাল থেকে আমি একটু সন্দিহান আছি
উমেশ Awasthi

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

@ জিপস্টোরি ডটকম: আমি একটি ইকমার্স অ্যাপ্লিকেশন নিয়ে কাজ করছি যেখানে ক্লায়েন্ট এমনকি আই 6 এর জন্য সমর্থন চান, এখন আপনি এটি কী বলবেন :)
উমেশ আওস্তি

উত্তর:


9

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

ডাটাবেসে শপিং কার্ট সংরক্ষণ করুন। স্টোরেজ সস্তা, এবং এখন থেকে কার্টের জন্য কোনও কোয়েরি করার জন্য পারফরম্যান্স অনুযায়ী কোনও সমস্যা হওয়া উচিত নয়।


আমার যখন কার্টের বিশদ পৃষ্ঠাটি দেখাতে হবে তখন কী হবে? আমাদের কি সেশন থেকে ডেটা সঞ্চয় / আনতে হবে বা একটি ডাটাবেস হিটের জন্য যেতে হবে?
উমেশ અવস্তি

আপনি যদি কার্টের বিশদটি ডাটাবেসে সঞ্চয় করেন তবে হ্যাঁ, আপনাকে ডাটাবেসটি আঘাত করতে হবে।
Jakob Gade

7

উভয় পদ্ধতির সুবিধাগুলি এবং অসুবিধাগুলি রয়েছে তবে আমি এটি যেভাবে দেখছি, ডাটাবেস স্টোরেজটির দুটি বেশ বড় বড় সুবিধা রয়েছে।

  1. প্রতিবেদন করা হচ্ছে। ডেটা সেশনে থাকলে আপনি পরিত্যক্ত গাড়ি, রূপান্তর হার ইত্যাদির বিষয়ে প্রতিবেদন করতে পারবেন না।
  2. সেশন সময়সীমা। আমি যদি রাতের খাবার খেতে যাই এবং আমার গাড়িচালি খালি করা সন্ধানের জন্য ফিরে এলাম তবে আমি বিরক্ত হব কারণ সেশনটির মেয়াদ শেষ হয়ে গেছে। আমি কল্পনা করব যে খুচরা বিক্রেতাও এটি পছন্দ করবে না। আমরা ব্যবহারকারীকে কেনার দিকে রক্ষা করতে চাই, হাল ছাড়ার এবং ছাড়ার দিকে নয়।

6

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

পরিবর্তে, আমরা বারবার টানা প্রয়োজন তবে যে কোনও ব্যবহারকারীর তথ্য অবিরাম রাখতে আমাদের এইচটিএমএল 5 সেশন স্টোরেজ ব্যবহার করি তবে ব্যান্ডউইথ বৃদ্ধি করার জন্য প্রতিবার কোনও কুকি রুলস্ট্রিপের প্রয়োজন ছাড়াই। এটি আই 8 + এবং অন্যান্য আধুনিক ব্রাউজার এবং মোবাইল ডিভাইসগুলি এই প্রযুক্তির সাথে সামঞ্জস্যপূর্ণ। তবে আপনি সহজেই কার্টটিকে কোনও কুকিতে ফ্যালব্যাক হিসাবে সংরক্ষণ করতে পারেন কারণ আমরা এর আগে যা করেছি। এখানে একটি ভাল কুকি-কার্ট দেওয়া হয়েছে: http://simplecartjs.org/

ব্যবহারকারীরা সাইন ইন বা লগইন করার সময় আমরা একটি স্ট্যাম্প বেকড সহ একটি এনক্রিপ্ট কুকি ব্যবহার করি।

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


4

আপনি ধরে নিচ্ছেন যে সেশন স্টোরেজ এবং ডাটাবেস স্টোরেজটি একচেটিয়া। তারা না। তবে আসুন তারা অনুমান করে শুরু করুন।

সেশন স্টোরেজ সুবিধা তিনগুণ:

  1. ডাটাবেসে স্পষ্টভাবে ডেটা toোকানোর দরকার নেই। আপনি কেবল একটি সেশন ভেরিয়েবল সেট করেছেন এবং আপনার কাজ শেষ হয়েছে। কার্যকরীভাবে সহজ এবং কম ঝুঁকিপূর্ণ।
  2. কোনও কনটেইনার / ফ্রেমওয়ার্ক আপনার জন্য এটি ব্যবহারকারীর দ্বারা ব্যবহারকারীর পরিদর্শন এবং শপিং কার্টের জীবনচক্র পরিচালনা করার দরকার নেই
  3. সাধারণত পুরানো নিষ্ক্রিয় সেশনের অটো-ক্লিনআপ আপনার জন্য করা হয়।

সেশন স্টোরেজের অসুবিধা:

  1. অধিবেশন স্নেহ, যদি আপনি অনুলিপি তদন্ত না করেন
  2. কোনও ব্যর্থতা নেই, যদি না আপনি ডিস্কে সেশন স্টেটের প্রতিরূপকরণ বা ম্যানুয়াল অধ্যবসায়ের তদন্ত না করেন যা জটিল হতে পারে।
  3. সমস্ত সেশন মেমোরিতে সংরক্ষণ করতে হবে। যদি আপনি প্রতিলিপি নিয়োগ করেন তবে এটি প্রশস্ত করা হবে।

ডাটাবেস স্টোরেজ সুবিধা:

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

ডাটাবেস সঞ্চয় করার অসুবিধা:

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

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

একটি ডাটাবেস-সমর্থিত সেশনের সুবিধা:

  1. সার্ভার অ্যাফিনিটির দরকার নেই।
  2. অ্যাপ সার্ভার মেমরিতে সহজ
  3. নিষ্ক্রিয় / পরিত্যক্ত সেশন ডেটা আপনার জন্য পরিষ্কার করা হয়।
  4. প্রথম ব্যবহারকারীর জীবনচক্র, পুনরাবৃত্তি দর্শন, সেশনের শেষগুলি আপনার জন্য নির্ধারিত।
  5. কোড সহজ

ডাটাবেস-ব্যাকড সেশনের অসুবিধা:

  1. কনফিগারেশন - আপনাকে আপনার ধারকটি তদন্ত করতে হবে, এটি পিএইচপি, জাভা ইই (টমক্যাট, জেটি, জেবস, ইত্যাদি), নোড.জেএস + এক্সপ্রেস.জেএস বা কী সমর্থন করে না এবং সঠিক কনফিগারেশন সরবরাহ করে।
  2. আপনি অনুরোধ অনুযায়ী 2 ডাটাবেস ক্রিয়াকলাপ যোগ করার পরে আপনার এটি পরীক্ষা লোড করার প্রয়োজন হতে পারে।

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

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

আমি আপনার জন্য তথ্য রূপরেখা করেছি। আশা করি এটি আপনার পরিস্থিতির জন্য সঠিক সিদ্ধান্ত নিতে সহায়তা করে।


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

@ এইচএলজিইএম দুর্দান্ত ধারণা - আমি কখনই সে সম্পর্কে ভাবিনি!
ব্র্যান্ডন

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

3

আপনার উল্লেখ করা দুটি ব্যবহারের ক্ষেত্রে বিবেচনা করা যাক

ব্যবহারকারী লগ ইন এবং কার্টে পণ্য যুক্ত করা হয়নি (বেনামে ব্যবহারকারী)

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

ব্যবহারকারী লগ ইন এবং কার্টে পণ্য যুক্ত।

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

চিন্তা করার বিষয়গুলি:

  • ডেটা সংরক্ষণ করা কি দরকার?
  • যদি হ্যাঁ, ব্যবহারকারীর আরও ভাল পরিবেশনের জন্য কোন ডেটা সংরক্ষণ করা সবচেয়ে গুরুত্বপূর্ণ?
  • স্কেলাবিলিটি + ডেটা স্টোরেজ - আপনার ব্যবহারকারীর পক্ষে আপনার ডাটাবেসে দ্রুত দেখার জন্য কার্টের তথ্যটি কীভাবে সংরক্ষণ করবেন?

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

তবে শেষ পর্যন্ত এটি একটি প্রয়োজনীয় সংজ্ঞা সমস্যা এবং আপনার ব্যবসাটি আপনার কী করা উচিত তা জানান এবং আপনার কিছু তৈরির আগে তারা যা প্রত্যাশা করে তা নিশ্চিত করা উচিত।
এইচএলজিইএম

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

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

0

ব্যবহারকারী লগ-ইন না করা অবস্থায় সেশনে যান।

আপনার অধিবেশনটিতে কতগুলি গাড়ি তৈরি হচ্ছে তা পরীক্ষা করা দরকার।

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