হাইবারনেট বনাম জেপিএ বনাম জেডিও - প্রতিটিটির পক্ষে কি ভাল? [বন্ধ]


174

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

তবে, এখন আমি লিগ্যাসি ওয়েব পরিষেবাদির একটি সিরিজ থেকে দূরে সরে যাওয়ার প্রয়াসে আমাদের কোনও অ্যাপ্লিকেশনটির জন্য কয়েকটি ওআরএম সরঞ্জাম ব্যবহার শুরু করার সুযোগ পেতে পারে।

জেপিএ অনুমানের সাথে পার্থক্যটি জানাতে আমার খুব কষ্ট হচ্ছে, আপনি হাইবারনেট লাইব্রেরি নিজেই কী পান এবং জেডিও কী অফার করে।

সুতরাং, আমি বুঝতে পারি যে এই প্রশ্নটি কিছুটা খোলামেলা, তবে আমি এই বিষয়ে কিছু মতামত পাওয়ার আশা করছিলাম:

  • প্রতিটি আগপাছ কি হয়?
  • কোন নতুন প্রকল্পের জন্য আপনি কোনটি প্রস্তাব করবেন?
  • একটি কাঠামো অন্য বনাম ব্যবহার করা যখন বোধগম্য হবে তখন কি কিছু শর্ত রয়েছে?

উত্তর:


112

কিছু নোট:

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

আইএমও, আমি হাইবারনেটকে সুপারিশ করব।


হাইবারনেট-নির্দিষ্ট বৈশিষ্ট্যগুলি ব্যবহার করার প্রয়োজন হলে আপনার কী করা উচিত সে সম্পর্কে কিছু মন্তব্য / প্রশ্ন রয়েছে। এটি দেখার অনেকগুলি উপায় রয়েছে তবে আমার পরামর্শটি হ'ল:

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

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

বাস্তবে, আপনাকে সম্ভবত ট্রেড-অফ করতে হবে আপনি কীভাবে বিক্রেতার সাথে টাই-ইন করে উদ্বিগ্ন, বনাম আপনাকে কীভাবে সেই নির্দিষ্ট নির্দিষ্ট এক্সটেনশনগুলির প্রয়োজন।

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


8
টুলকিট, সুন্দর এবং সংক্ষিপ্ত। আর একটি বিষয় উল্লেখযোগ্য যে হ'ল জেপিএ প্রয়োজনীয়তার সাথে নির্দিষ্টকরণের বৈশিষ্ট্যগুলি প্রয়োগ করতে বাধা দেয় না। এর অর্থ হ'ল হাইবারনেট কোনও বাস্তবায়ন হলে JPA আপনাকে যে কোনও হাইবারনেট বৈশিষ্ট্যটি ব্যবহার করতে দেয়।
topchef

1
যদি হাইবারনেট থেকে আমার নির্দিষ্ট কোনও বৈশিষ্ট্য প্রয়োজন হয় তবে জেপিএ ব্যবহারের সুবিধা কী হবে?
ব্রুনো রেইস

22
একটি গুরুত্বপূর্ণ নোটটি যুক্ত করা উচিত: জেপিএ এবং জেডিও উভয়ই আরডিবিএমএসের পক্ষে দুর্দান্ত সমর্থন পেয়েছে জেডিও 'ডেটাস্তোর' অজ্ঞাবলিক এবং তাই আরডিবিএমএস বিশ্বে সীমাবদ্ধ নয়। এই মুহুর্তে নোএসকিউএল-এর গ্রাউন্ড ফোলাটির সাথে একজন ব্যক্তির দৃ a়তা মান ব্যবহার করা বিবেচনা করা বুদ্ধিমানের কাজ হবে যা তাদের অ্যাপ্লিকেশনগুলিকে চিরাচরিত * এসকিউএল বিশ্বে লক করা এড়ায় ids জেডিও অ্যাপ্লিকেশনগুলি সহজেই আরডিবিএমএস ডেটাস্টোর মোতায়েন করা যায়। সমর্থিত ডেটাস্টোরগুলির সম্পূর্ণ তালিকাটি এখানে পাওয়া যাবে: datanucleus.org/products/accessplatform/datastores.html
ভলক্সম্যান

2
@ গল্ফম্যান কেন ঘটতে পারে তার ভিত্তিতে কেন বেছে নেবেন ? আপনার যদি নোএসকিউএল সহায়তার প্রয়োজন শেষ না করে পরে আপনাকে আর কোনও কিছুর মধ্যে ঘোরানো থেকে বিরত করার কিছু নেই ... KISS
TM।

1
@Bruno - যখন আপনি হাইবারনেট অ-হাইবারনেট-নির্দিষ্ট অংশের ব্যবহার করছেন, আপনি হয় JPA ব্যবহার করে। স্পষ্টতই, নিজেকে খাঁটি জেপিএ-তে সীমাবদ্ধ রাখার সুবিধাটি হ'ল আপনি আরও সহজেই অন্য কোনও জেপিএ প্রয়োগের দিকে যেতে পারেন।
স্টিফেন সি

69

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

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

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

হতাশার একটি উদাহরণ এখানে আপনি হাইবারনেটের সাথে পাবেন যা আপনি জেডিওর সাথে পাবেন না:

http://blog.andrewbeacock.com/2008/08/how-to-implement-hibernate-safe-equals.html
http://burtbeckwith.com/blog/?p=53

আপনি যদি 'ওয়ার্কআরউন্ডস'-এ কোডিং পছন্দ করেন তবে অবশ্যই, হাইবারনেট আপনার জন্য। আপনি যদি পরিচ্ছন্ন, খাঁটি, অবজেক্ট ওরিয়েন্টড, মডেল চালিত বিকাশের প্রশংসা করেন যেখানে আপনি আপনার সমস্ত সময় মডেলিং, ডিজাইন এবং কোডিংয়ে ব্যয় করেন এবং এর কোনওটিই কুৎসিত কাজের উপর ব্যয় করেন না তবে জেডিও / ডেটা নিউক্লিয়াসের মূল্যায়ন করতে কয়েক ঘন্টা ব্যয় করুন । বিনিয়োগকৃত ঘন্টাগুলি এক হাজার গুণ পরিশোধ করা হবে।

ফেব্রুয়ারী 2017 আপডেট করুন

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

হাইবারনেট ডিবি আপডেটের পারফরম্যান্স

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


3
এবং যেমনটি আমরা সবাই জানি, বর্ধন হ'ল কেন জেডিও এত ব্যাপকভাবে গৃহীত হয়েছে!
পাস্কেল থিভেন্ট

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

7
জেডিওর ব্যর্থতার পূর্বাভাসটি শুরু হয়েছিল ( javalobi.org/forums/thread.jspa?forumID=46&threadID=1326 ) এবং হাইবারনেটের আগে যাতে আপনি এর জন্য হাইবারনেটকে দোষ দিতে পারবেন না। হাইবারনেট / টপলিংক সফল হয়েছে যেখানে সান এবং জেডিও প্লেয়ারগুলি (এবং তাদের ওওডিবিএমএস) ব্যর্থ হয়েছে কারণ তারা সেসময় আরও ভাল উত্তর ছিল, বিপণন এবং এফইউডির কারণে নয়। সময়কাল। যারা বজায় রাখে যদি এ এস এম ফাস্ট প্রজ্বলিত আজ , সেখানে এটা 5+ না বছর আগে, ছিল প্রয়োজন হলে এবং JDO কেবল যুদ্ধ হারিয়ে গেছে। জেডিও ধারণার চেয়েও উন্নত? খুব খারাপ, এটি সময়মতো বিজয়ী বাস্তবায়ন করতে ব্যর্থ হয়েছিল (এবং জেপিএর কারণে ফিরে আসবে না)।
পাস্কাল থিভেন্ট

2
আমার কথাগুলি বোঝানোর জন্য (অন্য একটি পোস্ট যা চিত্রের বিকাশের সময়ে লোকেরা যে বেদনা অনুভব করছিল বা হাইবারনেট কেন যুদ্ধে জয়লাভ করেছিল তা চিত্রিত করে ): মেইল-আর্কাইভ / ওপেন-jpa-dev@incubator.apache.org/… । এটা আমার কাছে স্পষ্ট বলে মনে হয় যে প্রতিচ্ছবি / সিগ্লিব হ'ল জনগণের সমস্যার একটি বাস্তব উত্তর (এবং কোনও এপিআই ব্যবহারের ব্যথা হলে ধারণাটি উন্নততর হয় কিনা তা লোকেরা চিন্তা করে না) এবং আমি এখানে কোনও হাইবারনেট কী খেলোয়াড় দেখতে পাচ্ছি না, কেবল ব্যবহারকারীরা । সুতরাং শেষে আমি ভাবছি কে আসলে
এফইউডি

7
হ্যাঁ, এটি অবশ্যই পুরানো দিনগুলির মতো নয় যেখানে কমপক্ষে ১ different টি ভিন্ন পক্ষের হাইবারনেট এফইউডি পোস্ট থাকত (এখনও কেবল ৩ টি পৃথক আইপি ঠিকানা থেকে আগত। গণিতের লোকেরা =))।
ভক্সম্যান

54

আমি সম্প্রতি একটি জাভা প্রকল্পের জন্য একটি অধ্যবসায় কাঠামো মূল্যায়ন করেছি এবং বেছে নিয়েছি এবং আমার ফলাফলগুলি নীচে রয়েছে:

আমি যা দেখছি তা হ'ল জেডিওর পক্ষে সমর্থনটি মূলত:

  • আপনি নন-এসকিএল ডেটাসোর্সেস, ডিবি 4o, এইচবিএস, এলডিপ, বিগ টেবিল, কাউচডিবি (ক্যাসান্দ্রার প্লাগিন) ইত্যাদি ব্যবহার করতে পারেন
  • আপনি সহজেই কোনও স্কয়ার থেকে নন-এসকিএল ডেটাসোর্স এবং তদ্বিপরীতগুলিতে স্যুইচ করতে পারেন।
  • কোনও প্রক্সি অবজেক্ট নেই এবং তাই হ্যাশকোড () এবং সমান () বাস্তবায়নের ক্ষেত্রে কম ব্যথা
  • আরও POJO এবং অতএব কম workaround প্রয়োজন
  • আরও সম্পর্ক এবং ক্ষেত্রের প্রকারকে সমর্থন করে

এবং জেপিএর পক্ষে সমর্থনটি মূলত:

  • আরো জনপ্রিয়
  • jdo মারা গেছে
  • বাইটকোড বর্ধন ব্যবহার করে না

আমি জেপিএ বিকাশকারীদের কাছ থেকে প্রচুর জেপিএ পোস্টগুলি দেখতে পাচ্ছি যারা স্পষ্টতই জেডিও / ডেটানুক্লিয়াসকে জেডিও ব্যবহার না করার জন্য দুর্বল যুক্তি সরবরাহ করছে used

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

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

জেডিও এবং এটির রেফারেন্স প্রয়োগকরণ ডেটানুক্লিয়াস স্পষ্টভাবে মৃত নয়, যেমনটি জিএইই এবং উত্স-কোডে সক্রিয় বিকাশের জন্য গুগলের দ্বারা এটি গ্রহণ করা হয়েছে (http://sourceforge.net/projects/datanucleus/)।

বাইকোড বর্ধনের কারণে আমি জেডিও সম্পর্কে বেশ কয়েকটি অভিযোগ দেখেছি, তবে এটি কেন খারাপ তা সম্পর্কে এখনও কোনও ব্যাখ্যা নেই।

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

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

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

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

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


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

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

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

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

6
এটি আমার চূড়ান্ত প্রতিক্রিয়া হবে :) :) ১. যদি এটি সম্পর্কিত না হয় তবে কেন এটি বাড়াতে হবে? ২. আমি কখনই আপনার সততা নিয়ে প্রশ্ন উত্থাপন করি না, আমি বলেছিলাম যে আপনি অন্য পোস্টারগুলিতে ভাল লাগছেন না এবং আপনি নিজের সাথে বিরোধিতা করেছেন। ৩. কেউ আপনাকে ৮++ বছরের সংক্ষিপ্তসার প্রস্তাব দেয় না - তবে আপনার বক্তব্যগুলিকে ব্যর্থ করার সম্ভাবনাযুক্ত বিষয়গত বক্তব্যের চেয়ে সত্য ও উদাহরণ দিয়ে ব্যাক আপ করুন। ৫. এই পোস্টে 'হাইবারনেট / জেপিএ / জেবিওসটি খারাপ' মনোভাব কোথায়? আমি এটা দেখতে চাই না। আমি কেবল আপনার জেডিও বিরোধী মন্তব্য দেখতে পাচ্ছি।
টম

40

কোন নতুন প্রকল্পের জন্য আপনি কোনটি প্রস্তাব করবেন?

আমি কোনটাই পরামর্শ দেব! ব্যবহারের স্প্রিং দাও এর JdbcTemplateসঙ্গে একসঙ্গে StoredProcedure, RowMapperএবং RowCallbackHandlerপরিবর্তে।

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

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


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

23
@ গ্রিগরি - হাইবারনেট বিষয়গুলি যেমন: ক্যাসকেডিং আপডেট / ডিলিট, হাস্যকরভাবে অকার্যকর ক্যোয়ারী স্ট্রাকচার ইত্যাদি বোঝার চেষ্টা করার সময় নষ্ট করার অনেক অভিজ্ঞতার সাথে আমি কথা বলি database এই হিসাবে, একা হাইবারনেট জ্ঞানের ফলস্বরূপ ভাল ফলাফল হওয়ার সম্ভাবনা নেই। এটি আমার অভিজ্ঞতা যে, প্রকল্পের লাইফসাইকেলের উপরে, হাইবারনেট (এবং এক্সটেনশন দ্বারা
ওআরএম

8
দুঃখিত যে হাইবারনেটের সাথে আপনার এত খারাপ অভিজ্ঞতা ছিল। আমি ভারী ডাটাবেস / এসকিউএল / সঞ্চিত পদ্ধতি / জেডিবিসি স্কুল নিজে থেকে আসছি। আমি রূপান্তরিত তা বলতে পারি না - উপরে প্রতিটি প্রযুক্তি এখনও থাকার জায়গা আছে। তবে সাধারণ উদ্দেশ্যে জাভা 3-স্তরের অ্যাপ্লিকেশন (আকার যাই হোক না কেন) প্রথম পছন্দটি একটি ওআরএম প্রযুক্তি - পছন্দসই জেপিএ ২. অন্যান্য বিষয়গুলি লিগ্যাসি কোড, ইন্টিগ্রেশন, দক্ষতা, ব্যাচ-ভারী প্রয়োজনীয়তা, রিয়েল-টাইমের ভিত্তিতে বিবেচনা করা হবে পারফরম্যান্স ইত্যাদি যা বিভিন্ন ডাটাবেস প্রযুক্তি স্ট্যাকের দিকে এগিয়ে যেতে পারে (বা নাও পারে)।
topchef

3
আমি উপরের "কুইক-উইন" সংজ্ঞায় সম্পূর্ণরূপে একমত নই - এই প্রযুক্তিটি সম্পূর্ণরূপে বুঝতে এবং কভারেজটি বুঝতে পুরোপুরি হাইবারনেটকে অ্যাকশন ( স্ট্যাকওভারফ্লো / সিকিউশনস / ৯6767 29 / / ......... ) ধরুন (এবং এটি জেপিএ ২, এটি আরও ভাল হয়) হয়েছে।
topchef

7
আমি কিছুটা গবেষণা করেছিলাম এবং স্প্রিং আর স্প্রিং ডিএও'র ( স্ট্যাটিক.স্প্রিংসোর্স.আর.স্প্রিং / ডকস / ৩.০.x/… ) সুপারিশ করে না: "প্রস্তাবিত ইন্টিগ্রেশন স্টাইলটি প্লেইন হাইবারনেট, জেপিএ এবং জেডিও এপিআইয়ের বিপরীতে ডিএও কোড করা হয় The স্প্রিংয়ের ডিএও টেমপ্লেটগুলি ব্যবহার করার পুরানো শৈলীর আর সুপারিশ করা হয় না; "... আপনি কি এই পরামর্শটি দিয়েছিলেন? যদি তা হয় তবে তারা কেন এটি সুপারিশ করে না?
ব্যবহারকারী 1

23

জেডিও মারা গেছে

জেডিও আসলে মারা যায় নি তাই দয়া করে আপনার তথ্য যাচাই করুন। জেডিও ২.২ প্রকাশিত হয়েছিল ২০০৮ সালের অক্টোবরে জেডিও ২.৩ এর বিকাশ চলছে।

এটি আপাচে অধীনে প্রকাশ্যে বিকশিত হয়েছে। জেপিএর চেয়ে বেশি রিলিজ হয়েছে এবং এর ওআরএম স্পেসিফিকেশন এখনও জেপিএ 2 প্রস্তাবিত বৈশিষ্ট্যগুলির আগেই রয়েছে


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

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

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


10

আমি জেপিএ ব্যবহার করছি (অ্যাপাচি থেকে ওপেনজেপিএ বাস্তবায়ন যা কোডো জেডিও কোডবেসের উপর ভিত্তি করে যা 5+ বছরের পুরানো এবং অত্যন্ত দ্রুত / নির্ভরযোগ্য)। আইএমএইচও যে আপনাকে চশমাটি বাইপাস করতে বলে সে আপনাকে খারাপ পরামর্শ দিচ্ছে। আমি সময়টি রেখেছি এবং অবশ্যই পুরস্কৃত হয়েছিল। জেডিও বা জেপিএ এর সাথে আপনি ন্যূনতম পরিবর্তনগুলি সহ বিক্রেতাদের পরিবর্তন করতে পারেন (জেপিএর কাছে অর্প ম্যাপিং রয়েছে তাই আমরা বিক্রেতাদের পরিবর্তন করতে সম্ভবত এক দিনেরও কম কথা বলছি)। আপনার যদি আমার মতো 100+ টেবিল থাকে তবে এটি বিশাল। এছাড়াও আপনি ক্লাস্টার অনুসারে ক্যাশে উচ্ছেদের সাথে বিল্টইন ক্যাচিং পাবেন এবং এটি সর্বোত্তম। এসকিউএল / জেডিবিসি উচ্চ কার্যকারিতা অনুসন্ধানের জন্য সূক্ষ্ম তবে আপনার অ্যালগরিদম এবং ডেটা ইনপুট রুটিন লেখার জন্য স্বচ্ছ অধ্যবসায় অনেক বেশি। আমার পুরো সিস্টেমে আমার কাছে প্রায় 16 টি এসকিউএল ক্যোয়ারী রয়েছে (50k + কোডের লাইন)।


8

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


6
ডেটা নিউক্লিয়াসের জন্য +1, উত্তরের জন্য নয়।
ওল্ফম্যানড্রাগন 22

8

যে কেউ বলে যে জেডিও মারা গেছে সে একজন অ্যাস্ট্রোটারফিং এফইউডি ম্যানজার এবং তারা এটি জানে।

জেডিও বেঁচে আছেন এবং ভাল আছেন। স্পেসিফিকেশনটি এখনও আরও কম বয়সী এবং সীমাবদ্ধ জেপিএর চেয়ে আরও শক্তিশালী, পরিপক্ক এবং উন্নত।

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


1
অথবা আপনি আরও বৃহত্তর এবং ফলস্বরূপ আরও প্রতিক্রিয়াশীল সম্প্রদায় সহ আরেকটি (সূক্ষ্ম) বাস্তবায়ন ব্যবহার করেন। হ্যাঁ, কিছু লোক সেটার যত্নও নেয়।
পাস্কেল থিভেন্ট

1
এবং আপনি FUD> :) সম্পর্কে মজার কথা বলছেন।
পাস্কেল থিভেন্ট

2
আপনার মন্তব্য মনে হয়েছে যে আমি হাইবারনেট এবং জেডিও উভয়ই ব্যবহার করি নি।
ভক্সম্যান

2
এই থ্রেডটিতে দম্পতি লোকের কাছ থেকে কতটা দুর্দান্ত ডেটাউনক্লিয়াসের রেফারেন্স রয়েছে তা দেখে মনে হচ্ছে। দয়া করে এই জায়গাটিকে আপনার বিজ্ঞাপন প্ল্যাটফর্ম হিসাবে ব্যবহার করবেন না।
টিএম

3
জেপিএ বা ডেটা নিউক্লিয়াসের সাথে জড়িত প্রতিটি থ্রেডে একই মরিয়া বিপণনের স্টাফ বার বার প্রেরণ করা গল্ফম্যানের কাছ থেকে অবাক হওয়ার মতো কিছু নেই (যে এটি বিদ্যমান থাকার আগে তিনি ১৯৯ 1996 সাল থেকে ব্যবহার করছেন !)!
পাস্কেল থিভেন্ট

2

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

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

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


1
আমি যতদূর বলতে পারি, জেপোকস নামটি পরিবর্তন করে ডেটাউনক্লিয়াসে রেখেছিল (এবং তার পর থেকে প্রকাশ হয়েছে)।
ডোনাল ফেলো

2
আপনি যে সফ্টওয়্যারটি উল্লেখ করেছেন তার চেয়ে আপনি ডেটা নিউক্লিয়াসের কাছে কম খোলা বাগ রয়েছে বলে মনে করুন। আপনি আরও মনে করেন যে ডেটা নিউক্লিয়াস বিকাশ অন্যান্য সফ্টওয়্যারগুলির চেয়েও দ্রুত হারে বাগের সংখ্যা হ্রাস করছে।
ডেটা নিউক্লিয়াস

1

আমি ২০১২ সালের মে মাসে একটি নমুনা ওয়েব অ্যাপ তৈরি করেছি যা জেডিও 3.0 এবং ডেটা নিউক্লিয়াস 3.0 ব্যবহার করে - এটি কতটা পরিষ্কার তা একবার দেখুন: https://github.com/TorbenVesterager/BadAssWebApp

ঠিক আছে সম্ভবত এটি কিছুটা পরিষ্কার, কারণ আমি ডেটাবেস এবং JSON ক্লায়েন্টের জন্য POJOs উভয়ই ব্যবহার করি তবে এটি মজাদার :)

পিএস: কয়েকটি সপ্রেস ওয়ার্নিং টিকা রয়েছে (ইন্টেলিজিজ 11 এ বিকাশিত)

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