কম্পিউটার

প্রবর্তন করা হচ্ছে RediSearch 2.0

RediSearch, Redis-এর জন্য পূর্ণ-পাঠ্য অনুসন্ধান ক্ষমতা সহ একটি রিয়েল-টাইম সেকেন্ডারি সূচক, সবচেয়ে পরিণত এবং বৈশিষ্ট্য-সমৃদ্ধ Redis মডিউলগুলির মধ্যে একটি। এটি প্রতিদিন আরও জনপ্রিয় হয়ে উঠছে—গত কয়েক মাসে রেডিসার্চ ডকারের টান 500% বেড়েছে! সেই ক্রমবর্ধমান জনপ্রিয়তা গ্রাহকদের রিয়েল-টাইম ইনভেন্টরি ম্যানেজমেন্ট থেকে ক্ষণস্থায়ী অনুসন্ধান পর্যন্ত বিভিন্ন ধরণের আকর্ষণীয় ব্যবহারের ক্ষেত্রে নিয়ে আসতে পরিচালিত করেছে৷

সেই গতিকে প্রসারিত করতে, আমরা এখন RediSearch 2.0-এর সর্বজনীন পূর্বরূপ প্রবর্তন করছি, যাবিকাশকারীর অভিজ্ঞতা উন্নত করার জন্য ডিজাইন করা হয়েছে এবং রিডিসার্চের সবচেয়ে মাপযোগ্য সংস্করণ হন . RediSearch 2.0 Redis এর সক্রিয়-অ্যাকটিভ জিও-ডিস্ট্রিবিউশন প্রযুক্তি সমর্থন করে, ডাউনটাইম ছাড়াই স্কেলযোগ্য, এবং ফ্ল্যাশ সমর্থনে (বর্তমানে ব্যক্তিগত পূর্বরূপ) Redis অন্তর্ভুক্ত। কর্মক্ষমতাকে নেতিবাচকভাবে প্রভাবিত না করে সেই লক্ষ্যগুলি পূরণ করতে, আমরা RediSearch 2.0-এর জন্য একটি একেবারে নতুন আর্কিটেকচার তৈরি করেছি—এবং এটি কাজ করেছে:RediSearch 2.0 2.4x দ্রুত RediSearch 1.6 এর চেয়ে।

RediSearch 2.0 এর নতুন আর্কিটেকচারের ভিতরে 

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

RediSearch 2.0-এর জন্য আমরা সূচকগুলিকে ডেটার সাথে সিঙ্কে রাখার উপায়টি পুনঃস্থাপিত করেছি। ইনডেক্সের মাধ্যমে ডেটা লেখার পরিবর্তে (FT.ADD কমান্ড ব্যবহার করে), RediSearch এখন হ্যাশে লেখা ডেটা অনুসরণ করে এবং সিঙ্ক্রোনাসভাবে এটিকে সূচী করে। এই রি-আর্কিটেকচারটি API-তে বেশ কিছু পরিবর্তনের সাথে আসে, যা আমরা পূর্ববর্তী পোস্টে আলোচনা করেছি যখন RediSearch 2.0 এর প্রথম মাইলস্টোন হিট করে।

প্রবর্তন করা হচ্ছে RediSearch 2.0

এই নতুন স্থাপত্য দুটি প্রধান সুবিধা নিয়ে আসে। প্রথমত, আপনার বিদ্যমান ডেটার উপরে একটি গৌণ সূচক তৈরি করা এখন আগের চেয়ে সহজ। আপনি শুধু আপনার বিদ্যমান Redis ডাটাবেসে RediSearch যোগ করতে পারেন, একটি সূচী তৈরি করতে পারেন এবং এটিকে জিজ্ঞাসা করা শুরু করতে পারেন , আপনার ডেটা স্থানান্তর না করে বা ইনডেক্সে ডেটা যোগ করার জন্য নতুন কমান্ড ব্যবহার না করে। এটি নতুন RediSearch ব্যবহারকারীদের জন্য শেখার বক্ররেখাকে ব্যাপকভাবে কমিয়ে দেয় এবং আপনাকে আপনার বিদ্যমান Redis ডাটাবেসগুলিতে সূচী তৈরি করতে দেয়—এমনকি সেগুলি পুনরায় চালু না করেও৷

তথ্য সূচী করার জন্য একটি নতুন উপায় প্রয়োগ করার পাশাপাশি, আমরা কী-স্পেস থেকে সূচীটি নিয়েছি। এটি রেডিস এন্টারপ্রাইজের সক্রিয়-সক্রিয় প্রযুক্তি সক্ষম করে, যা বিরোধ-মুক্ত প্রতিলিপিকৃত ডেটা প্রকারের (CRDTs) উপর ভিত্তি করে। দুটি বিপরীতমুখী সূচককে দ্বন্দ্ব-মুক্ত একত্রিত করা কঠিন, কিন্তু Redis ইতিমধ্যেই হ্যাশের একটি প্রমাণিত CRDTs বাস্তবায়ন করেছে। সুতরাং এই নতুন আর্কিটেকচারের দ্বিতীয় বড় সুবিধা হল RediSearch 2.0 কে আরও বেশি মাপযোগ্য করে তুলছে . যেহেতু RediSearch এখন Hashes অনুসরণ করে এবং সূচকটি কীস্পেস থেকে সরে গেছে, আপনি এখন একটি সক্রিয়-সক্রিয় জিও-ডিস্ট্রিবিউটেড ডাটাবেসে RediSearch চালাতে পারেন।

প্রবর্তন করা হচ্ছে RediSearch 2.0

একটি দস্তাবেজ একটি দৃঢ়ভাবে ঘটনাক্রমে সামঞ্জস্যপূর্ণ পদ্ধতিতে প্রতিলিপি সেটের সমস্ত ডাটাবেসে প্রতিলিপি করা হবে। প্রতিটি প্রতিলিপিতে, RediSearch সহজভাবে হ্যাশের সমস্ত আপডেট অনুসরণ করবে, যার অর্থ হল সমস্ত সূচকগুলিও দৃঢ়ভাবে সামঞ্জস্যপূর্ণ।

ওপেন সোর্স রেডিসের জন্য ওএসএস ক্লাস্টার সমর্থন

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

আমাকে নম্বর দেখাও!

RediSearch 2.0-এর ইনজেশন পারফরম্যান্স মূল্যায়ন করতে, আমরা সর্বজনীনভাবে উপলব্ধ NYC ট্যাক্সি ডেটাসেটের সাথে আমাদের ফুল-টেক্সট সার্চ বেঞ্চমার্ক (FTSB) স্যুট প্রসারিত করেছি। এই ডেটাসেটটি তার সমৃদ্ধ ডেটা প্রকারের (টেক্সট, ট্যাগ, ভৌগলিক এবং সংখ্যাসূচক) এবং প্রচুর নথির কারণে শিল্প জুড়ে ব্যবহৃত হয়।

এই বেঞ্চমার্কটি নিউ ইয়র্ক সিটিতে হলুদ ক্যাবগুলিতে যাত্রার ট্রিপ-রেকর্ড ডেটা ব্যবহার করে লেখার কার্যকারিতার উপর ফোকাস করে। বিশেষত এই বেঞ্চমার্কের জন্য আমরা জানুয়ারী 2015 ডেটাসেট ব্যবহার করেছি, যা প্রতি নথিতে 500 বাইটের গড় আকার সহ 12 মিলিয়নেরও বেশি নথি লোড করে৷ সম্পূর্ণ বেঞ্চমার্ক স্পেসিফিকেশনের জন্য অনুগ্রহ করে GitHub-এ FTSB দেখুন।

আমাদের বেঞ্চমার্ক-পরীক্ষা পরিকাঠামোর মাধ্যমে প্রবিধান করা সমস্ত বেঞ্চমার্ক বৈচিত্রগুলি Amazon ওয়েব পরিষেবার দৃষ্টান্তগুলিতে চালিত হয়েছিল। রেডিসার্চ এন্টারপ্রাইজ সংস্করণ 1.6 এবং 2.0 সহ 15 টি শার্ড সহ একটি 3-নোড ক্লাস্টারে পরীক্ষাগুলি সম্পাদিত হয়েছিল। বেঞ্চমার্কিং ক্লায়েন্ট এবং RediSearch সক্ষম সহ ডাটাবেস সমন্বিত 3টি নোড উভয়ই পৃথক c5.9xবড় দৃষ্টান্তে চলছিল।

প্রদত্ত যে RediSearch 2.0 Redis-এ হ্যাশে পরিবর্তনগুলি অনুসরণ করার এবং স্বয়ংক্রিয়ভাবে সেগুলিকে সূচীকরণ করার ক্ষমতা নিয়ে আসে, আমরা FT.ADD এবং HSET কমান্ডগুলির জন্য ভেরিয়েন্ট যুক্ত করেছি৷ আপগ্রেডগুলিকে সহজতর করার জন্য, আমরা এখন অবচয়িত FT.ADD কমান্ডটিকে RediSearch 2.0-এ HSET কমান্ডগুলিতে পুনঃম্যাপ করেছি৷ নীচের দুটি চার্ট সাব-মিলিসেকেন্ড বিলম্ব বজায় রেখে RediSearch 1.6 এবং RediSearch 2.0 উভয়ের জন্য সামগ্রিক ইনজেশন হার এবং লেটেন্সি প্রদর্শন করে।

প্রবর্তন করা হচ্ছে RediSearch 2.0 প্রবর্তন করা হচ্ছে RediSearch 2.0

RediSearch সবসময়ই দ্রুত ছিল, কিন্তু এই স্থাপত্য পরিবর্তনের সাথে আমরা প্রতি সেকেন্ডে 96K দস্তাবেজগুলিকে সূচীকরণ থেকে 132K দস্তাবেজ/সেকেন্ডে 0.4ms এর সামগ্রিক p50 ইনজেশন লেটেন্সিতে চলে এসেছি, লেখার স্কেলিংকে ব্যাপকভাবে উন্নত করে।

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

থ্রুপুট এবং লেটেন্সি উন্নতির সমন্বয় করে, RediSearch 2.0 2.4X পর্যন্ত গতি প্রদান করে RediSearch 1.6.

এর তুলনায়

RediSearch 2.0-এর পরবর্তীতে কী হবে

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

আমরা বিকাশকারীর অভিজ্ঞতাকে আরও উন্নত করতে আরও বৈশিষ্ট্য যুক্ত করার পরিকল্পনা করছি। পরবর্তীতে, একটি নতুন কমান্ড সন্ধান করুন যা আপনাকে আপনার অনুসন্ধান ক্যোয়ারীগুলিকে আরও ভালভাবে বোঝার জন্য অনুমতি দেয় যেখানে ক্যোয়ারী সম্পাদনের সময় পারফরম্যান্সের বাধা কোথায় ঘটে।

শুরু করতে প্রস্তুত? Tug Grall এর ব্লগ দেখুন … RediSearch 2.0 দিয়ে শুরু করা হচ্ছে! তারপর GitHub-এর এই টিউটোরিয়ালের ধাপগুলি অনুসরণ করুন অথবা Redis Enterprise Cloud Essentials-এ একটি বিনামূল্যের ডাটাবেস তৈরি করুন। (উল্লেখ্য যে RediSearch 2.0 এর সর্বজনীন পূর্বরূপ দুটি Redis Enterprise Cloud Essentials অঞ্চলে উপলব্ধ:মুম্বাই এবং ওরেগন।)


  1. Redis.io রিফ্রেশ করা এবং প্রসারিত করা

  2. ব্রেডক্রাম্বস প্রবর্তন করা হচ্ছে

  3. মঙ্গোডিবি কম্পাস উপস্থাপন করা হচ্ছে

  4. ফাস্টলি কম্পিউটে রেডিস ব্যবহার করুন