কম্পিউটার

Redis 7.0:প্রথম রিলিজ প্রার্থী এখানে!

নতুন সংস্করণটি Redis-এর কিছু বৈশিষ্ট্যের জন্য একটি বিবর্তনীয় পদক্ষেপ, নতুনগুলি যোগ করে এবং আরও ভাল সম্পদ ব্যবহারে আরও কাঁচা শক্তি সরবরাহ করে৷

আজ, আমরা গর্বের সাথে Redis v7 এর প্রথম রিলিজ প্রার্থী (RC1) এর উপলব্ধতা ঘোষণা করছি। সংস্করণ 7.0 প্রকল্পটির জন্য একটি উল্লেখযোগ্য মাইলফলক যা গত বছরের আরও ভাল অংশে উন্নয়নাধীন ছিল। এই প্রধান রিলিজ কার্যকারিতা এবং অভ্যন্তরীণ পরিপ্রেক্ষিতে আরও আমূল পরিবর্তন করার একটি সুযোগ। আমরা আমাদের স্বাভাবিক রিলিজ চক্র অনুসরণ করার আশা করি, তাই Redis 7.0-এর সাধারণ উপলব্ধতার আগে আরও দুইজন প্রার্থী, প্রায় তিন সপ্তাহের ব্যবধানে, পরিকল্পনা করা হয়েছে৷

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

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

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

Redis ব্যবহারকারীদের দ্বারা Lua স্ক্রিপ্ট গ্রহণ তখন থেকেই বেড়ে চলেছে। স্ক্রিপ্টগুলি মূল রেডিস অপারেশন এবং নিয়ন্ত্রণ কাঠামো থেকে সার্ভার-সাইড ওয়ার্কফ্লো রচনা করার একটি কার্যকর এবং সহজ উপায় প্রদান করে। তারা অ্যাপ্লিকেশনের নেটিভ কোড থেকে অন্তর্নিহিত ডেটা স্ট্রাকচারের বিমূর্ততা হিসাবে কাজ করতে পারে। একটি অ্যাপ্লিকেশনের লুয়া স্ক্রিপ্টের সেট তার যৌক্তিক ক্রিয়াকলাপগুলিকে প্রয়োগ করে (উদাহরণস্বরূপ, একটি "ব্যবহারকারী যোগ করুন" বা "প্লেস অর্ডার" স্ক্রিপ্ট)।

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

  1. স্বাধীনতা :স্ক্রিপ্ট অ্যাপ্লিকেশন একটি অংশ. তারা এর অভ্যন্তরীণ অংশকে প্রতিফলিত করে, তাই তারা বাস্তবায়নের সাথে দৃঢ়ভাবে মিলিত হয়। অ্যাপ্লিকেশনটিকে স্ক্রিপ্টের সোর্স কোড এম্বেড করতে হবে এবং রানটাইমে সেগুলি লোড করতে হবে। এই জটিলতা অ্যাপ্লিকেশনের জীবনচক্রের প্রতিটি পর্যায়ে জটিলতা বাড়ায়, বিকাশ থেকে, পরীক্ষার মাধ্যমে, স্থাপনা পর্যন্ত৷
  1. এক্সিকিউশন ইঞ্জিন :রেডিসে স্ক্রিপ্ট লেখার জন্য শুধুমাত্র একটি ভাষা আছে:লুয়া। অধিকন্তু, অগণিত প্রযুক্তিগত কারণে, Redis এই সমস্ত সময়ের জন্য একই Lua 5.1 ব্যবহার করছে। অনেকে একটি নতুন সংস্করণ পেতে চান. বেশিরভাগই চায় ভিন্ন ভাষা।
  1. দৃঢ়তা :Redis-এ লুয়া স্ক্রিপ্টিংয়ের নকশা এবং বাস্তবায়ন, অন্যান্য সফ্টওয়্যারের মতো, অনুমান করে এবং তাদের সীমাবদ্ধতা রয়েছে। কিছু ক্ষেত্রে, এটি প্রক্রিয়াটিকে প্রসারিত করা অত্যন্ত জটিল করে তোলে, যদি অসম্ভব না হয়। ভিত্তির অভাব আমাদের সম্ভাব্য মূল্যবান বৈশিষ্ট্যগুলি (যেমন ইভেন্ট প্রসেসিং এবং ক্লাস্টার স্ক্রিপ্ট, উদাহরণস্বরূপ) যোগ করতে বাধা দেয়।

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

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

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

আরেকটি দৃষ্টান্ত পরিবর্তন যা ফাংশনগুলি করে তা হল লাইব্রেরির ব্যবহার। লাইব্রেরিতে এক বা একাধিক নিবন্ধিত ফাংশন এবং যেকোনো অতিরিক্ত অভ্যন্তরীণ ফাংশন থাকতে পারে। নিবন্ধিত ফাংশন হল লাইব্রেরির এন্ট্রি পয়েন্ট এবং অ্যাপ্লিকেশনের চুক্তিভিত্তিক API। অন্যদিকে, কোড পুনঃব্যবহারযোগ্যতার জন্য অভ্যন্তরীণ ফাংশনগুলিকে নেটিভভাবে লাইব্রেরির ভিতরে কল করা যেতে পারে।

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


  1. Redis SETRANGE – কিভাবে redis এ স্ট্রিং মানের একটি অংশ আপডেট করবেন

  2. Windows 11-এ হারিয়ে যাওয়া ফাংশন ফিরিয়ে আনতে আপনাকে সাহায্য করার জন্য Start11s রিলিজ প্রার্থী 1 আপডেট এখানে রয়েছে

  3. Windows 11 2022 আপডেট এখানে!

  4. উইন্ডোজ 11 - উইন্ডোজের একটি নতুন যুগের প্রথম সংস্করণ অবশেষে এখানে