এজডিবি, একটি গ্রাফ রিলেশনাল ডেটা ডিবিএমএস

সম্প্রতি ডিবিএমএস "এজডিবি 2.0" প্রকাশের ঘোষণা করা হয়েছিল, যা রিলেশনাল গ্রাফ রিলেশনাল ডাটা মডেল এবং EdgeQL ক্যোয়ারী ল্যাঙ্গুয়েজ প্রয়োগ করে, জটিল শ্রেণীবদ্ধ ডেটার সাথে কাজ করার জন্য অপ্টিমাইজ করা হয়।

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

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

এজডিবি সম্পর্কে

পোস্টগ্রেএসকিউএল-এর জন্য একটি প্লাগইন হিসাবে প্রকল্পটি তৈরি করা হচ্ছে। ক্লায়েন্ট লাইব্রেরিগুলি পাইথন, গো, রাস্ট এবং টাইপস্ক্রিপ্ট/জাভাস্ক্রিপ্ট ভাষার জন্য প্রস্তুত করা হয়েছে।

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

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

বিল্ট-ইন টুল মাইগ্রেট করার জন্য প্রদান করা হয় স্টোরেজ স্কিমা: একটি পৃথক esdl ফাইলে নির্দিষ্ট করা স্কিমা পরিবর্তন করার পরে, "edgedb মাইগ্রেশন তৈরি করুন" কমান্ডটি চালান এবং DBMS স্কিমার পার্থক্যগুলি বিশ্লেষণ করবে এবং ইন্টারেক্টিভভাবে একটি স্ক্রিপ্ট তৈরি করবে। নতুন স্কিমাতে স্থানান্তরিত করতে। স্কিমা পরিবর্তনের ইতিহাস স্বয়ংক্রিয়ভাবে ট্র্যাক করা হয়।

প্রশ্ন করার জন্য, উভয় গ্রাফকিউএল ক্যোয়ারী ভাষা এবং এটির নিজস্ব ভাষা হিসাবে EdgeDB, যা শ্রেণীবদ্ধ ডেটার জন্য SQL-এর একটি অভিযোজন। তালিকার পরিবর্তে, ক্যোয়ারী ফলাফলগুলির একটি কাঠামোগত বিন্যাস থাকে এবং সাবকোয়েরি এবং যোগদানের পরিবর্তে, একটি EdgeQL ক্যোয়ারী অন্য একটি প্রশ্নের মধ্যে একটি অভিব্যক্তি হিসাবে নির্দিষ্ট করা যেতে পারে। লেনদেন এবং চক্র সমর্থিত.

EdgeDB 2.0 এর প্রধান নতুন বৈশিষ্ট্য

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

অভিব্যক্তি ডেটা বিভাজন এবং একত্রিতকরণের অনুমতি দেওয়ার জন্য "GROUP" প্রয়োগ করা হয়েছিল এবং নির্বিচারে EdgeQL এক্সপ্রেশন ব্যবহার করে ডেটা গ্রুপিং, একটি SELECT অপারেশনে গ্রুপিংয়ের মতো।

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

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

অন্যান্য পরিবর্তনগুলির মধ্যে যেগুলি দাঁড়িয়ে আছে:

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

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

আপনি এটি সম্পর্কে আরও জানতে পারেন নিম্নলিখিত লিঙ্ক.


আপনার মন্তব্য দিন

আপনার ইমেল ঠিকানা প্রকাশিত হবে না। প্রয়োজনীয় ক্ষেত্রগুলি দিয়ে চিহ্নিত করা *

*

*

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