কম্পিউটার টিউটোরিয়াল

রেডিস স্ট্যাক পরিচিতি: একীভূত, হাই-পারফরম্যান্স রিয়েল-টাইম ডেটা প্ল্যাটফর্ম

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

প্রোলোগ

রেডিসে, আমরা একটি রিয়েল-টাইম ডেটা লেয়ার তৈরি করছি যেন রেসপন্সিভ, লো-লেটেন্সি অ্যাপ্লিকেশন এবং সার্ভিসের সার্বজনীন ডিমান্ড মেট করা যায়।

অ্যাপ্লিকেশন বানাতে যেগুলো রিয়েল-টাইম অভিজ্ঞতা প্রদান করে, আপনাকে এমন একটি ডাটাবেস দরকার যা যেকোনো রিকোয়েস্ট প্রসেস করতে পারে, চায়ে সিম্পল অবজেক্ট রিট্রিভাল, একটি সার্চ, বা একটি জটিল অ্যাগ্রিগেশন, সম্ভাব্য দ্রুততম রেসপন্স টাইমের সাথে, আশা করা হয় ১ মিলিসেকেন্ডের নিচে। منطق সহজ: একটি টিপিক্যাল অ্যাপ্লিকেশনে, প্রতিটি ইউজার ইন্টারঅ্যাকশন ডাটাবেসে একাধিক কল জেনারেট করে, যেটা উল্লেখযোগ্য ওভারহেড তৈরি করতে পারে; যদি আপনি এন্ড-ইউজার এবং অ্যাপের মধ্যে নেটওয়ার্ক রাউন্ড ট্রিপ লেটেন্সি যোগ করেন, ডাটাবেসে বিত্তে যেকোনো এক্সট্রা মিলিসেকেন্ড এন্ড-ইউজার রিয়েল-টাইম অভিজ্ঞতা ডেলিভার করা কঠিন করে দেয়।

এটা ডেটা মডেলের উপর নির্ভর করে না, চায়ে কী/ভ্যালু, ডকুমেন্ট, স্ট্রিম, গ্রাফ, টাইম সিরিজ, বা প্রোবাবিলিস্টিক ডেটা স্ট্রাকচার।

আমরা এতক্ষণ কী করেছি?

DB-Engines-এ গত ২৪ মাসের ট্রেন্ড স্পষ্ট করে, সবচেয়ে দ্রুত বাড় रहे ডেটা মডেলগুলো হচ্ছে কী-ভ্যালু, সার্চ, ডকুমেন্ট, গ্রাফ, এবং টাইম সিরিজ। এই ট্রেন্ডও দেখাচ্ছে কম এবং কম ডেভেলপার রিলেশনাল ডাটাবেস দিয়ে তাদের অ্যাপ্লিকেশন মডেল করতে বেছে নিচ্ছেন।

যভাবে, গত চার বছরে আমরা কিছু ডেডিকেটেড ডেটা ইঞ্জিন বানিয়েছি যা রেডিসের কোর কী/ভ্যালু ডেটা স্ট্রাকচার ফাংশনালিটিকে আধুনিক ডেটা মডেল এবং ডেটা প্রসেসিং ক্যাপাবিলিটির সাথে এক্সটেন্ড করে, যেমন সার্চ, ডকুমেন্ট, গ্রাফ, টাইম সিরিজ, এবং প্রোবাবিলিস্টিক ডেটা স্ট্রাকচার।

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

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

এইজন্য আমরা রেডিস স্ট্যাক তৈরি করেছি।

রেডিস স্ট্যাক

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

রেডিস স্ট্যাক তিনটি কম্পোনেন্টের একটি স্যুট:

  1. রেডিস স্ট্যাক সার্ভার ওপেন সোর্স রেডিসকে রেডিসার্চ, রেডিসজেason, রেডিসগ্রাফ, রেডিস্টাইমসিরিজ এবং রেডিসব্লুমের সাথে কম্বাইন করে
  2. রেডিসইনসাইট (RedisInsight) রেডিস ডেটা ভিজুয়ালাইজ এবং অপ্টিমাইজ করার একটি পাওয়ারফুল টুল, রিয়েল-টাইম অ্যাপ্লিকেশন ডেভেলপমেন্টকে কখনোও চেয়ে সহজ এবং মজাদার করে দেয়
  3. রেডিস স্ট্যাক ক্লায়েন্ট SDK মধ্যে লিডিং অফিশিয়াল রেডিস ক্লায়েন্ট জাভা, জাভাস্ক্রিপ্ট, এবং পাইথনে। এই ক্লায়েন্টগুলো আমাদের নতুন স্যুট অফ অবজেক্ট ম্যাপিং লাইব্রেরিও অন্তর্ভুক্ত করে যা ডেভেলপার-ফ্রেন্ডলি বিমূর্তিকরণ অফার করে যেগুলো কয়েক লাইন কোডেই আপনাকে প্রোডাক্টিভ করে দেয়। .NET, Node.js, Java, এবং Python-এর জন্য Redis OM নামে পরিচিত, এই লাইব্রেরিগুলো মেজর অ্যাপ্লিকেশন ফ্রেমওয়ার্ক যেমন Spring, ASP.NET Core, FastAPI, এবং Express-এর সাথে ইন্টিগ্রেশন আরও সহজ করে দেয়।

রেডিস স্ট্যাক দিয়ে শুরু করা

রেডিস স্ট্যাক এখন রেডিস ৬.২-এ সাধারণভাবে উপলব্ধ, এবং রেডিস ৭.০-এও একটি রিলিজ ক্যান্ডিডেট আছে।

আমরা রেডিস স্ট্যাক দ্রুত শুরু করার অনেক উপায় প্রদান করছি:

  • redis.io থেকে সরাসরি রেডিস স্ট্যাক ডাউনলোড করুন
  • আপনার পছন্দের প্যাকেজ ম্যানেজার দিয়ে ইনস্টল করুন বা সিম্পলি রেডিস স্ট্যাক ডকার ইমেজ লঞ্চ করুন
  • ক্লাউডে ডিপ্লয় করুন রেডিস এন্টারপ্রাইজ ক্লাউডে একটি ফ্রি ডাটাবেস তৈরি করে বা আমাদের ফিক্সড প্ল্যান ব্যবহার করে। আমরা রেডিস এন্টারপ্রাইজ সফটওয়্যারেও রেডিস স্ট্যাকের ক্যাপাবিলিটি প্রদান করছি যারা সেলফ-ম্যানেজ বা অন-প্রেমিসে ডিপ্লয় করতে চান।

একবার আপনার রেডিস স্ট্যাক সার্ভার আপ 앤 রানিং হলে, আপনি তुरন্ত রেডিসইনসাইট লিভারেজ করতে পারেন আপনার রেডিস ডেটা ভিজুয়ালাইজ, অ্যানালাইজ, এবং অপ্টিমাইজ করতে। রেডিসইনসাইটে একটি সিরিজ গাইড আছে যা আপনাকে কিছু রেডিস স্ট্যাক ইউজ কেসের মাধ্যমে ওয়াক থ্রু করায়।

ক্লায়েন্ট সাইডে, আমরা রেডিস স্ট্যাক সাপোর্ট করছি বেশ কিছু লিডিং রেডিস ক্লায়েন্টে — জেডিস (Java), redis-py (Python), এবং node-redis (JavaScript) — এবং আমাদের নতুন অবজেক্ট ম্যাপিং লাইব্রেরি (redis-om-spring, redis-om-python, redis-om-node, redis-om-dotnet) দিয়ে।
আপনি আমাদের সাপোর্ট করা প্রতিটি ভাষার জন্য একটি উদাহরণ রিপোজিটরি ক্লোন করতে পারেন আপনার تازه তৈরি ডাটাবেস দিয়ে ডেভেলপমেন্ট শুরু করতে।

রেডিস এবং রেডিস স্ট্যাক

আমরা সেই রিয়েল-টাইম অ্যাপ্লিকেশন자들의 বিশ্বব্যাপী universo-র কথা চিন্তা করেই এগিয়ে যাচ্ছি যেগুলো আমরা বিশ্বাস করি রেডিস স্ট্যাক সম্ভব করবে। কিন্তু আমরা খুব স্পষ্ট হতে চাই যে রেডিস স্ট্যাক রেডিসের প্রতিস্থাপন নয়।

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

যখন আপনি রেডিস স্ট্যাক চালাতে প্রস্তুত, আপনি সহজে আপনার ডেটা মাইগ্রেট করতে পারেন রেডিস রেপ্লিকেশন মেকানিজম ব্যবহার করে বা আপনার RDB বা AOF ফাইল লোড করে।

লাইসেন্সিং

রেডিস স্ট্যাকের সকল কোডবেস কম্পোনেন্ট সবার জন্য ওপেন এবং ফ্রি,

কিন্তু আমরা রেডিস স্ট্যাক লাইসেন্সিং মডেল সম্পর্কে খুব স্পষ্ট হতে চাই:

  • রেডিস স্ট্যাক সার্ভার Redis Source Available License (RSAL) আন্ডার প্রদান করা হয়েছে (সেই লাইসেন্স যা আমরা আমাদের রেডিস মডিউলগুলোর সাথে ব্যবহার করেছি)
  • রেডিসইনসাইট আমরা এর বিদ্যমান Server Side Public License (SSPL) আন্ডার প্রদান করছি
  • লিডিং রেডিস ক্লায়েন্ট এবং আমাদের অবজেক্ট ম্যাপিং লাইব্রেরি ওপেন সোর্স MIT লাইসেন্স আন্ডার রিলিজ করা হয়েছে

সংক্ষেপে

আমরা কমিটেড রেডিসকে একটি ওপেন-सোর্স প্রজেক্ট হিসেবে ডেভেলপ করতে থাকব, পৃথিবীর সবচেয়ে বড় ডেভেলপার কমিউনিটির একটি সাপোর্ট করব, এবং প্রজেক্টের বাড়ते এক্টিভ কন্ট্রিবিউটরদের সাথে কো-অপারেট করব।

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

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

আমরা কিছু দ্রুত উত্তর একসাথে রেখেছি অল্পের FAQ সেকশনে।
শেষে, আমরা রেডিস স্ট্যাকের ওপর আপনার ফিডব্যাক পেতে চাই। রেডিস মেইলিং লিস্টে একটি নোট পাঠান বা রেডিস ডিসкор্ড সার্ভার জয়েন করুন যাতে আমাদের জানাতে পারেন আপনি কী মনে করেন।

FAQ

রেডিস স্ট্যাকের কম্পোনেন্টগুলো কী কী?

রেডিস স্ট্যাক একটি সিঙ্গেল প্যাকেজ যা অন্তর্ভুক্ত করে ওপেন সোর্স রেডিস লিডিং রেডিস মডিউলসহ (রেডিস স্ট্যাক সার্ভার), এবং রেডিসইনসাইট।

রেডিস স্ট্যাক সার্ভার এর ইনিশিয়াল রিলিজে, আমরা পাঁচটি মডিউল অন্তর্ভুক্ত করছি: RedisJSON, RedisSearch, RedisGraph, RedisTimeSeries, এবং RedisBloom।

রেডিস স্ট্যাক সাপোর্ট করা হয় অফিশিয়াল রেডিস ক্লায়েন্ট এবং অবজেক্ট ম্যাপিং লাইব্রেরি দিয়ে এবং ডেভেলপারদের সহজে উন্নত রেডিস স্ট্যাক ক্যাপাবিলিটি ব্যবহার করতে দেয় বেশ কিছু অ্যাপ্লিকেশন ফ্রেমওয়ার্কের সাথে, Spring, ASP.Net Core, Express, এবং FastAPI সহ।

রেডিস স্ট্যাক ডেভেলপারদের জন্য কী ক্যাপাবিলিটি প্রদান করে?

রেডিস স্ট্যাক ডেভেলপারদের সাহায্য করে:

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

আপনি কি রেডিস স্ট্যাকে আরও ক্যাপাবিলিটি যোগ করবেন?

আমরা নতুন ক্যাপাবিলিটি বা এমনকি মডিউল রেডিস স্ট্যাকে যোগ করার ওপর বিবেচনা করব যদি:

  1. আমাদের কমিউনিটি থেকে ডিমান্ড দেখি
  2. নতুন ক্যাপাবিলিটি রেডিস ভিশনের সাথে কমপ্লায়েন্ট হয়
  3. রেডিস Inc. এর ইঞ্জিনিয়ারিং টিম অফিশিয়ালি যোগটাকে সাপোর্ট করতে পারে

কেন RedisGears প্রথম রেডিস স্ট্যাক রিলিজে অংশ নয়?

RedisGears ডাটাবেস ট্রিগার, স্ট্রিম প্রসেসিং, ডিস্ট্রিবিউটেড ফাংশন, এবং ফুল প্রোগ্রামেবিলিটি রেডিসে যোগ করে।

আমরা RedisGears রেডিস স্ট্যাকে যোগ করব একবার জাভাস্ক্রিপ্ট সাপোর্ট GA হলে, এছাড়া এই বছর।

আপনি কি সেলফ-ম্যানেজড রেডিস স্ট্যাক ফ্রিতে ব্যবহার করতে পারেন?

হ্যাঁ, আপনি পারেন!

রেডিস অবজেক্ট-ম্যাপিং লাইব্রেরিগুলো কী?

রেডিস অবজেক্ট-ম্যাপিং লাইব্রেরিগুলো রেডিস কমান্ড API-এর ওপর একটি বিমূর্তিকরণের লেভেল প্রদান করে, ঠিক seperti একটি ORM একটি SQL ডাটাবেসের জন্য করে। চলুন কোর রেডিস ক্লায়েন্ট লাইব্রেরিগুলোকে রেডিস অবজেক্ট ম্যাপিং লাইব্রেরিগুলো থেকে আলাদা করি।

কোর রেডিস ক্লায়েন্ট লাইব্রেরির দায়িত্বগুলো:

  • রেডিস প্রোটোকল বাস্তবায়ন (RESP, ইত্যাদি)।
  • কানেকশন ম্যানেজ (TCP, ইত্যাদি), রিকানেক্ট, সার্ভার ডিসকভারি, ইত্যাদি।
  • এক্সিকিউশন লজিক ম্যানেজ (থ্রেডস, অ্যাসিন্ক IO, ইত্যাদি)।
  • অবিচার রেডিস কমান্ড এক্সিকিউট করার জন্য একটি API এক্সপোজ করে।
  • রেডিস কমান্ড ল্যাঙ্গুয়েজ-ইডিয়োম্যাটিক ফ্যাশনে এক্সপোজ করে।
  • কানেকশন স্ট্রিং দিয়ে যেকোনো রেডিস ডিপ্লয়মেন্টের সাথে কানেক্ট করে।

অবজেক্ট-ম্যাপিং লাইব্রেরি অতিরিক্ত লিভারেজ প্রদান করে:

  • ডেভেলপারদের কমন রেডিস ইউজ কেস কমপ্লিট লাইন অফ কোডে বাস্তবায়ন করতে দেয়। এখন এতে অন্তর্ভুক্ত ডোমেইন মডেলিং এবং ফ্লুয়েন্ট কোয়ারী API। ভবিষ্যতে, আমরা অন্যান্য কমন রেডিস ইউজ কেসের জন্য সাপোর্ট যোগ করব যেমন ক্যাশিং, সেশন স্টোরেজ, রেট লিমিটিং, লিডারবোর্ড, এবং ডি-ডুপ্লিকেটর।
  • রেডিস স্ট্যাক দ্বারা প্রদত্ত ক্যাপাবিলিটির জন্য একটি হাই-লেভেল API এক্সপোজ করে।
  • রেডিসের সুবিধা প্রদান করে আন্ডারলাইনিং রেডিস কমান্ড এক্সপোজ ছাড়া।
  • মেজর অ্যাপ্লিকেশন ফ্রেমওয়ার্কের সাথে ইন্টিগ্রেট করে (যেমন, Spring, ASP.NET Core, FastAPI, Express)।

এই অবজেক্ট-ম্যাপিং লাইব্রেরিগুলো সবসময় এক বা একাধিক কোর রেডিস লাইব্রেরির ওপর ডিপেন্ডেন্ট।

.NET-এর জন্য রেডিস স্ট্যাক ক্লায়েন্ট উপলব্ধ কি?

বর্তমানে, .NET ডেভেলপারদের জন্য রিকমেন্ডেড ক্লায়েন্ট StackExchange, যা রেডিস, Inc. দ্বারা অফিশিয়ালি সাপোর্টেড নয়। আপনি ক্লায়েন্টকে NRediSearch দিয়ে রেডিসার্চ, NRedisGraph দিয়ে রেডিসগ্রাফ, এবং NRedisTimeSeries দিয়ে রেডিস্টাইমসিরিজের জন্য এক্সটেন্ড করতে পারেন। আপনি redis-om-dotnet লাইব্রেরিও ব্যবহার করতে পারেন যা StackExchange-এর ওপর বিল্ট।

আপনি কি রেডিস এন্টারপ্রাইজ ক্লাউডে রেডিসইনসাইট দিয়ে কাজ করতে পারেন?

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

আপনি কি আপনার রেডিস স্ট্যাক ডাটাবেস সহজে রেডিস এন্টারপ্রাইজ ক্লাউডে মাইগ্রেট করতে পারেন?

হ্যাঁ, আপনি আমাদের Replica-Of সমাধান লিভারেজ করতে পারেন আপনার ডাটাবেস আমাদের ফুলি ম্যানেজড ক্লাউড সার্ভিসে মাইগ্রেট করতে কোনো ডাউনটাইম ছাড়া।

  1. রেডিস লঞ্চপ্যাড: সবচেয়ে প্রিয় ডেটাবেসের শক্তি আনলক করা

  2. নবিনীকৃত Redis.io পরিচিতি: আধুনিক ডিজাইন, আপডেটেড ডক্স, উন্নত ইউজার অভিজ্ঞতা

  3. RedisDays স্যান ফ্রানসিস্কো ২০২২: ডেভেলপারদের জন্য ইনসাইট ও ইনোভেশন

  4. ফাস্টলি কম্পিউট@এজ সাথে রেডিস ইন্টিগ্রেশন করে দক্ষ পেজ ভিউ ট্র্যাকিং