প্রকল্প সম্পর্কে
lowdb হলো জাভাস্ক্রিপ্ট ও টাইপস্ক্রিপ্টের জন্য একটি ছোট, ন্যূনতম লোকাল JSON ডাটাবেস। এর মূল ধারণা হলো, আপনি যদি জাভাস্ক্রিপ্ট জানেন, তাহলে এটি ব্যবহার করতে জানেন: ডেটা db.data-তে একটি প্লেইন অবজেক্টে থাকে এবং আপনি কাস্টম কোয়েরি ভাষার পরিবর্তে নেটিভ অ্যারে ও অবজেক্ট অপারেশনের মাধ্যমে এটি কোয়েরি বা পরিবর্তন করেন।
সাধারণ ব্যবহারে একটি JSON ফাইল পড়া বা তৈরি করা হয় এবং তারপর ডেটা দুই ধাপে (db.data পরিবর্তন করে, তারপর await db.write()) অথবা db.update(fn) কলের মাধ্যমে এক ধাপে আপডেট করা হয়। ফলে তৈরি হওয়া db.json সাধারণ JSON হয়। টাইপস্ক্রিপ্ট ব্যবহারকারীরা একটি Data টাইপ ঘোষণা করতে পারেন যাতে db.data টাইপ-চেক হয় এবং স্ট্রিং অ্যারেতে সংখ্যা যোগ করার মতো ভুল ধরা পড়ে।
প্যাকেজটি সম্পূর্ণ ESM এবং npm install lowdb দিয়ে ইনস্টল করা হয়। সাধারণ ক্ষেত্রে এটি চারটি প্রিসেট প্রদান করে: JSONFilePreset, JSONFileSyncPreset, LocalStoragePreset এবং SessionStoragePreset। আরও নিয়ন্ত্রণের জন্য এটি Low ও LowSync ক্লাস এবং অ্যাডাপ্টার প্রদান করে। বিল্ট-ইন অ্যাডাপ্টারগুলির মধ্যে রয়েছে JSON ফাইলের জন্য JSONFile ও JSONFileSync, পরীক্ষার সময় দ্রুত ইন-মেমরি ব্যবহারের জন্য Memory ও MemorySync এবং ব্রাউজারের জন্য LocalStorage ও SessionStorage। ইউটিলিটি অ্যাডাপ্টার TextFile, TextFileSync, DataFile এবং DataFileSync কাস্টম অ্যাডাপ্টার তৈরি করতে সাহায্য করে, যেমন YAML সমর্থন বা parse ও stringify ফাংশন সরবরাহ করে এনক্রিপশন বা কম্প্রেশন যোগ করা।
অ্যাডাপ্টারগুলি সহজ ক্লাস যা read ও write মেথড প্রকাশ করে, তাই ব্যবহারকারীরা রিমোট স্টোরেজ বা অন্যান্য ফরম্যাট লক্ষ্য করতে পারেন। README-তে Lodash-এর সাথে Low-কে চেইনড কোয়েরির জন্য বাড়ানোর উদাহরণও দেখানো হয়েছে। নথিভুক্ত সীমাবদ্ধতা: lowdb Node-এর ক্লাস্টার মডিউল সমর্থন করে না এবং বড় অবজেক্ট (প্রায় 10-100MB) লেখা ধীর হতে পারে কারণ প্রতিটি db.write সম্পূর্ণ db.data-কে JSON.stringify দিয়ে সিরিয়ালাইজ করে। ব্যাচ অপারেশন এবং প্রয়োজন হলেই লেখা এটি প্রশমিত করতে পারে এবং বড় স্কেলের জন্য README PostgreSQL বা MongoDB সুপারিশ করে।
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.