জাভা এম্বেডেড ডাটাবেসগুলির তুলনা [বন্ধ]


99

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

আমি আমার অ্যাপ্লিকেশনটির জন্য হাইবারনেট ব্যবহার করার ইচ্ছা করি (যদি না আপনি ডিবিএমএস-সরবরাহিত এপিআই ব্যবহার করার পরামর্শ দেন) তবে এসকিউএল ব্রাউজিং সরঞ্জাম (স্কিমা পরিবর্তন এবং ডেটা পরিবর্তন করা) ব্যবহার করে খুব সহজেই ডাটাবেস সম্পাদনা করার ক্ষমতাও থাকতে চাই।

ধন্যবাদ.


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



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

উত্তর:


60

হয়

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

বা

  • এইচ 2 - দ্রুত হতে বলেছে (বিকাশকারী, যিনি মূলত hsqldb ডিজাইন করেছেন) দ্বারাও

আপনি কোনটি ব্যবহার করেন তা নির্ভর করে আপনার কতটা পারফরম্যান্স এবং কতটা স্থিতিশীলতা প্রয়োজন depending

এইচ 2 এর বিকাশকারী একটি দুর্দান্ত পারফরম্যান্স মূল্যায়ন করেছেন:
http://www.h2datedia.com/html/performance.html


35

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

আমি প্রায় 3 বছর আগে এইচএসকিউএলডিবি এবং হাইপারসোনিক ব্যবহার করতাম। এই সময়ে এটিতে কিছু বড় পারফরম্যান্স সমস্যা রয়েছে এবং আমি issues সমস্যাগুলির কারণে এটি থেকে ডার্বিতে স্যুইচ করি। অ্যাপাচি-তে ইনকিউবেটারে থাকা অবস্থায় ডার্বি শক্ত ছিল।


ডার্বি দুর্দান্ত হবে যদি এটি সত্য না হয় যে অনেকগুলি বাগ রয়েছে এবং শেষ আপডেটটি বেশ কয়েক বছর আগে।
হুলি

4
@ হুলি আমি বাগগুলি সত্যায়িত করতে পারি না, তবে "... সর্বশেষ আপডেটটি বেশ কয়েক বছর আগে ছিল" ভুল। আপনি আপনার মন্তব্য পোস্ট করার সময়ের সাথে সম্পর্কিত ( আগস্ট 2016 ): সেখানে এক বছরেরও কম সময় আগে ( অক্টোবর ২০১৫ ) প্রকাশ হয়েছিল, (মাসের অক্টোবর ২০১ )) এর দু'মাস পরে মুক্তি পেয়েছিল এবং ( অক্টোবর ২০১ -) এর এক বছরেরও বেশি পরে একটি প্রকাশ প্রকাশ হয়েছিল - সর্বশেষ )।
স্লাভ

কোনও অনুসন্ধানে এই বিষয়টিতে অন্য কেউ আসে সে ক্ষেত্রে এই মন্তব্যটি আপডেট করা। ডার্বির সবচেয়ে সাম্প্রতিক প্রকাশটি মার্চ / 2019 এ ছিল in এখানে তাদের সাইটের তথ্য: db.apache.org/derby
জাভাজেড

@ ক্রিস ডেইল আপনি কি মিলিয়ন রেকর্ডের জন্য সাধারণ ডাটাবেস হিসাবে বা স্মৃতিতে বা কিছু ক্যাচিংয়ের জন্য ডার্বি ব্যবহার করেছেন?
Shreyans jain

31

আমার কোনও একটি প্রকল্পে আমার জাভা এম্বেডড ডাটাবেস ব্যবহার করা দরকার এবং আমি প্রতিটি ডাটাবেসটির প্রচুর পরিমাণে উপলব্ধি এবং কৌশল বোঝার চেষ্টা করেছি। আমি জনপ্রিয় এম্বেড থাকা জাভা ডাটাবেসগুলি (এইচ 2, এইচএসকিউএলডিবি, ডার্বি, অবজেক্টডিবি, নিও 4 জে, ওরিয়েন্টডিবি) এর ব্লগের তালিকা তৈরির পক্ষে এবং কনস লিখেছি, আপনি এটি দেখতে পারেন। আমি এইচ 2 বেছে নিয়েছি কারণ আমি ভেবেছিলাম এটি আমার প্রয়োজনীয়তার সাথে সবচেয়ে উপযুক্ত। ব্লগের জন্য লিঙ্ক: http://sayrohan.blogspot.in/2012/12/choosing-light- વજન- java- database.html আশা করি এটি সাহায্য করবে!



14

এইচএসকিউএলডিবি হ'ল একটি ভাল প্রার্থী (এটি ওপেনঅফিসে ব্যবহৃত হয় তা আপনার কিছু লোককে বোঝাতে পারে), তবে এই জাতীয় ছোট্ট ব্যক্তিগত প্রয়োগের জন্য কেন কোনও বস্তু ডাটাবেস ব্যবহার করা হয়নি (ক্লাসিক রিলেশনাল ডাটাবেসের পরিবর্তে)?

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

আমি সম্মত হই যে এই নতুন ধরণের ডাটাবেসটি ব্যবহারে কিছুটা সময় লাগতে পারে তবে ডিবি-র সাথে কাজ করা কতটা সহজ করে তোলে তা দেখতে DB40 টিউটোরিয়ালটি দেখুন!

সম্পাদনা: মন্তব্যগুলিতে যেমন বলা হয়েছে, ডিবি 4 ও ক্লাসগুলির নতুন সংস্করণগুলি স্বয়ংক্রিয়ভাবে পরিচালনা করে। তদতিরিক্ত, অ্যাপ্লিকেশনটির বাইরে ডেটাবেস ব্রাউজ এবং আপডেট করার জন্য একটি সরঞ্জাম এখানে পাওয়া যায়: http://code.google.com/p/db4o-om/


4
ধন্যবাদ DB4O যেমন একটি ছোট প্রকল্পের জন্য দেখতে দুর্দান্ত, তবে আমি বিশ্বাস করি অ্যাপ্লিকেশনটির বাইরে ডেটা ব্রাউজ এবং সম্পাদনা করার ক্ষমতাটি খুব গুরুত্বপূর্ণ। ক্লাসগুলির নতুন সংস্করণগুলি পরিচালনা করা কি সহজ হবে? (যেমন যোগ / সরানো ক্ষেত্রগুলি)
হোসমাম অলি

আমার সম্পাদনায় যেমন বলা হয়েছে, অ্যাপ্লিকেশনটির বাইরে ডিবি ব্রাউজিং এবং সম্পাদনা করার জন্য একটি সরঞ্জাম রয়েছে। এবং ফ্যাবিয়ান যেমন বলেছিলেন, ক্লাসগুলির নতুন সংস্করণগুলি স্বয়ংক্রিয়ভাবে হ্যান্ডল্ড হয়।
Wookai

আপডেটের জন্য ধন্যবাদ. ব্রাউজিংয়ের সরঞ্জামটি পাওয়া আমার পক্ষে খুব গুরুত্বপূর্ণ ছিল, তাই আপনাকে অনেক ধন্যবাদ।
হোসাম অলি

12

জাভা ডিবি (Apache, ডার্বি সূর্যের বন্টন) এখন জাহাজ মধ্যে JDK 6!

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


তুমি সম্ভবত সঠিক! আমাদের জাভা 1.5 এর অধীনেও চালানো দরকার, সুতরাং এটি আমাদের পক্ষে বিকল্প নয়।
জেসন কোহেন

... আমি বোঝাতে চাইছিলাম আপনি এটি সবচেয়ে সহজ উপায় সম্পর্কে সঠিক ছিলেন, অলস হওয়ার বিষয়ে ঠিক নয়। :
জেসন কোহেন

জাভা ডিবি জাহাজগুলি কেবল জেডিকে-র সান / ওরাকল প্রয়োগের মাধ্যমে। জাভার মানক অংশ নয়।
তুলসী বাউরিক

7

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

তবে আমরা এটি সাধারণ ব্যবহারের জন্য সমর্থন করি না । কারণগুলি বেশ কয়েকটি:

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

কমপক্ষে (2) এবং (3) এর জন্য এর চারপাশে বিভিন্ন উপায় রয়েছে তবে এটি কঠিন; এটি মাইএসকিউএল ইনস্টল করা অনেক সহজ।


7

neo4j হ'ল:

একটি এম্বেডড, ডিস্ক-ভিত্তিক, সম্পূর্ণ ট্রানজেকশনাল জাভা অধ্যবসায় ইঞ্জিন যা টেবিলের চেয়ে গ্রাফগুলিতে ডেটা কাঠামোগত সঞ্চয় করে

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



5

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


5

এইচএসকিউএলডিবি বড় অ্যাপ্লিকেশনগুলির জন্য সমস্যা তৈরি করতে পারে, এটি যথেষ্ট স্থায়ী নয়।

আমি সবচেয়ে ভাল শুনেছি (তবে প্রথম হাতের অভিজ্ঞতা নয়) বার্কলেডিবি। তবে আপনি এটি অপসারণ না করে লাইসেন্সিংয়ের কারণে আপনার একটি হাত এবং একটি পায়ে ব্যয় করতে হবে ... এটি দেখুন http://www.oracle.com/technology/software/products/berkeley-db/htdocs/licensing.html বিস্তারিত জানার জন্য.

পুনশ্চ. আপনারা জানেন না যে ক্ষেত্রে বার্কলেডিবি কোনও সম্পর্কযুক্ত ডাটাবেস নয়।


ওহ, আমি জানতাম না বার্কলে কোনও সম্পর্কযুক্ত ডাটাবেস নয়! অনেক ধন্যবাদ!
হোসাম অলি

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

4

আমি । নেট এবং জাভা উভয়ের জন্যই ডিবি 4 ও- এর একটি বড় অনুরাগী ।

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


4

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

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

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


3

আমি ডার্বি ব্যবহার করেছি এবং আমি এটির ডেটা টাইপ রূপান্তর ফাংশন বিশেষত তারিখ / সময় ফাংশনকে ঘৃণা করি। (সংখ্যার প্রকার) <--> ভারচর রূপান্তর এটি একটি ব্যথা।

যাতে আপনি যদি আপনার ডিবি স্টেটমেন্টে ডেটা টাইপ রূপান্তর ব্যবহারের পরিকল্পনা করেন তবে এম্বেডড ডিবি ব্যবহার বিবেচনা করুন, আমি এটি খুব দেরিতে শিখি।

সর্বশেষতম ডার্বি সংস্করণ ডেটা ধরণের রূপান্তর


3

আমি ব্যক্তিগতভাবে এইচএসকিউএলডিবির পক্ষে থাকি, তবে বেশিরভাগ কারণ এটি আমার প্রথম চেষ্টা করা হয়েছিল।

এইচ 2 দ্রুত বলে মনে হয় এবং এটি একটি ভাল জিইউআই ফ্রন্টএন্ড সরবরাহ করে (যা জেনেরিক এবং কোনও জেডিবিসি ড্রাইভারের সাথে কাজ করে)।

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


3

আমার ধারণা আমি এই পোস্টে কিছুটা দেরি (অনেক দেরি ;-)), তবে আমি জাভা এবং .NET- এর জন্য অবজেক্ট-ওরিয়েন্টেড এম্বেডেড ডাটাবেস, পার্স্ট যুক্ত করতে চাই। তোমার বিবেচনার জন্য. পার্স্ট জাভা-র জন্য একটি ওপেন সোর্স / দ্বৈত লাইসেন্স এম্বেডড ডাটাবেস। বিতরণটি গুগলের অ্যান্ড্রয়েড প্ল্যাটফর্মের সাথে সামঞ্জস্যপূর্ণ এবং জাভা এমইয়ের জন্য পার্স্ট লাইটও অন্তর্ভুক্ত রয়েছে। এমনকি আমরা একটি অ্যান্ড্রয়েড বেঞ্চমার্কও তৈরি করেছি এবং এই বিষয়ে একটি শ্বেতপত্র তৈরি করেছি ... আপনি এখানে একবার নজর দিতে পারেন: http://www.mcobject.com/index.cfm?fuseaction=download&pageid=581§ionid=133

সব ভাল, ক্রিস


3

আমি যদি সঠিক হন তবে এইচ 2 হ'ল এইচএসকিউএলডিবি লিখেছেন guys আপনি যদি তাদের সাইটে মাপদণ্ডের উপর বিশ্বাস রাখেন তবে এটি অনেক বেশি ভাল। এছাড়াও, কিছু ধারণা আছে যে সূর্য সম্প্রদায় ডার্বিতে খুব দ্রুত ঝাঁপিয়ে পড়েছিল।


4
ডার্বিডিবি নিয়ে অকাল ডার্বি ধারণা সম্পর্কে কী উদ্বিগ্ন? পরিপক্কতা?
সিমিনাইজার

2

আমি বুঝতে পেরেছি আপনি এসকিউএল ব্রাউজিংয়ের কথা উল্লেখ করেছেন, তবে আপনার প্রশ্নের অন্য সব কিছু আমাকে আপনাকে ডিবি 4 ওও বিবেচনা করার পরামর্শ দিতে চাইছে , এটি একটি দুর্দান্ত, সাধারণ বস্তু ডিবি


ধন্যবাদ DB4O যেমন একটি ছোট প্রকল্পের জন্য দেখতে দুর্দান্ত, তবে আমি বিশ্বাস করি অ্যাপ্লিকেশনটির বাইরে ডেটা ব্রাউজ এবং সম্পাদনা করার ক্ষমতাটি খুব গুরুত্বপূর্ণ। ক্লাসগুলির নতুন সংস্করণগুলি পরিচালনা করা কি সহজ হবে? (যেমন যোগ / সরানো ক্ষেত্রগুলি)
হোসমাম অলি

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