সি # ন্যূনতম এসকিউএল ডাটাবেস


12

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


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

@ ব্র্যাড এটি কেবল একটি ব্যক্তিগত প্রকল্প এবং আমি বর্তমানে আমার বাড়িতে কোনও ডাটাবেস সার্ভার চালাচ্ছি না। আপনার অ্যাক্সেসের পরামর্শটি সম্ভবত আমি যা খুঁজছি।
ডেভিড

4
আমি অ্যাক্সেসের অনুরাগী নই , তবে আমি কখনও কখনও এটির সঠিক সমাধান দিতে পারি। আপনি কি অবজেক্ট সিরিয়ালাইজেশন বিবেচনা করেছেন ? কেবল একটি বস্তু তৈরি করুন এবং এটি একটি ফাইলে লিখুন। (অবজেক্টটি একটি হতে পারে List<foo>)
ড্যান পিচেলম্যান

আপনি কি এগুলি অবিরত রাখতে চান বা এগুলি কেবল স্মৃতিতে থাকা দরকার?
রিচার্ড

1
@ ডেভিড: 4000 এন্ট্রি - এত কম? তাদের সব স্মরণে রাখা না কেন? আপনার যদি কোনও প্রশাসনিক সরঞ্জাম ব্যতীত কিছু প্রশ্ন তৈরি করতে কেবল ইন-মেমরি ডেটাবেস প্রয়োজন হয়, আপনার প্রয়োজনীয়তার জন্য কিছু ডেটাতেবল (কোনও ফাইলকে অবিচলিত) সহ একটি ডেটাসেট যথেষ্ট হতে পারে।
ডক ব্রাউন

উত্তর:


15

কয়েকটি বিকল্প নেই, কোনও নির্দিষ্ট ক্রমে:

  1. (প্রদত্ত?) ভিজ্যুয়াল স্টুডিওর সমস্ত সংস্করণ এসকিউএল সার্ভার এক্সপ্রেস ইনস্টল করা রয়েছে । আপনি এটি ব্যবহার করতে পারেন।
  2. (উঘ) এক্সএমএল ফাইলগুলি
  3. এসকিউএল সার্ভার সিই (মূলত, ফাইলের মাধ্যমে স্থানীয় এসকিউএল)
  4. SQLite

আরও আইডিয়া এখানে: /programming/


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

আপনি সম্ভবত আপনার এক্সিকিউটেবলের মধ্যে dlls এম্বেড করতে পারেন।
Sklivvz

আমি অনুমান করি যে সবচেয়ে গুরুত্বপূর্ণ অংশটি কোনও তৃতীয় পক্ষের নয় * এমএসএসকিউএল / মাইএসকিউএল হিসাবে পরিষেবাগুলি # 3 বা # 4 ফিট করে
ডেভিড

আমার মনে নেই এসকিউএল সিই-র আলাদা রানটাইম আছে কি না। এসকিউএলাইট না, তবে একটি নেট প্রকল্পের সাথে সেট আপ করা সামান্য কৌশল হতে পারে।
গ্যালাকটিক কাউয়

3
আমি যোগ করব যে লোকালডিবি একটি বিকল্প। এই উত্তরটি দেখুন: stackoverflow.com/questions/9655362/…
অ্যান্ডি

4

Sklivvz প্রস্তাবিত বিকল্পগুলি ছাড়াও , এসকিউএল রাজ্যের বাইরে উদ্যোগ নিতে ভয় পাবেন না এবং স্টার্লিং বা ডিবি 4 ও এর মতো এমবেডেড অবজেক্ট-ভিত্তিক ডাটাবেস ইঞ্জিন ব্যবহার করুন

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


3

এসকিউএলাইট আপনার সেরা বিকল্প হবে।
তাদের সাইটে যেমন লেখা আছে:

এসকিউএলাইট একটি সফ্টওয়্যার লাইব্রেরি যা একটি স্ব-অন্তর্ভুক্ত, সার্ভারলেস, শূন্য-কনফিগারেশন, লেনদেনের এসকিউএল ডাটাবেস ইঞ্জিন প্রয়োগ করে।

আপনি যা খুঁজছেন তা সত্যিই মনে হচ্ছে!

এমনকি যদি আপনি নিজে ডাউনলোড এবং ইনস্টল করতে খুব অলস হন তবে একটি চকোলেটি প্যাকেজও রয়েছে !


2

ADO.NET এক্সএমএলকে ক্রমিকায়িত করতে পারে এবং একটি আরডিবিএমএসের প্রায় সমস্ত কার্যকারিতা রয়েছে। (আচ্ছা, সস্তা সস্তা, যাইহোক।)

আমি জানি এটি "ওল্ড" এবং এখন তাকিয়ে আছে, তবে ADO.NET আপনি যা বর্ণনা করছেন ঠিক তার জন্য কার্যকরভাবে কাজ করে। এটি অ-প্রতিশ্রুতিবদ্ধ পরিবর্তনগুলি ট্র্যাক করার জন্য এমনকি বেশ সুন্দর কাজ করে does

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


আপনি কি "ভারী মেমরির পদচিহ্ন" সম্পর্কে বিস্তারিত বলতে পারেন?
ডেভিড

@ ডেভিড - এর অর্থ হ'ল ডেটাসেটের সম্পূর্ণতা মেমরির মধ্যে রাখা হবে, এবং কেবলমাত্র কোনও ক্যোয়ারী থেকে ফিরে আসা রেকর্ডগুলি নয়। আপনার যদি 4 মিলিয়ন রেকর্ডের একটি ডেটাবেস থাকে তবে এগুলি ADO.NET ডেটাসেটে রাখা সমস্ত সম্পদের উপর একটি গুরুতর চিত্র হবে, যেখানে কোনও "রিয়েল" আরডিবিএমএস আপনার একটি সাবসেট অনুসন্ধান না করা অবধি এটিকে একটি ডিস্কে ধরে রাখবে। 4000 রেকর্ডগুলি মেমরির ব্যবহারে একটি ছোট হাঁচি, তাই আমি এটি নিয়ে চিন্তা করব না।
ওয়েসলি লং

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