আমরা আজকে Prisma কি, কেন, কোন প্রবলেমটা সলভ করতে Prisma আসছে, as a জাভাস্ক্রিপ্ট অর টাইপস্ক্রিপ্ট ডেভেলপার কেন Prisma শেখা দরকার। এই নিয়ে মারামারি করবো ।😬
Prisma কি?
Prisma হল একটি ORM (object relational mapping ) যা একটি জাভাস্ক্রিপ্ট লাইব্রেরি বা ডেটাবেস টুলকিট বলতে পারেন যেটা দিয়ে খুব সহজেই ডাটাবেইজ মেনেজমেন্ট করা যায়।
এই ORM টাকে বলা হয় Next generation ORM. কেন prisma কে এটা বলা হয় ? 🤔কারন এটি খুবেই এডভান্স এবং ডেভেলপার ফ্রেন্ডলি,টাইপ-সেফ কোড ব্যবহার করে সহজে ডেটাবেসে কুয়েরী করতে দেয়। সবচেয়ে মজার বিষয় হলো Prisma দিয়ে আপনি যেই কুয়েরী লিখবেন বা স্কিমা, মডেল বানাবেন, সেই কোড গুলি দিয়ে যে কোন ডাটাবেইজ প্লাটফর্মের সাথে কাজ করবেন, সেটা হতে পারে SQL Lite, MY SQL, PostgreSQL, MongoDB. তাছাড়া জাভাস্ক্রিপ্টের ইকোসিস্টেমের মধ্যে যেকোনো কম্বিনেশনে Prisma ব্যাবহার করা যায়। Prisma এর ভাষ্যমতে Prisma ORM লঞ্চ করার পর, ১৫০,০০০ এর অধিক ডেভেলপার Prisma অ্যাডপ্ট করেছেন ,নতুন বা এক্সিস্টিং প্রোজেক্ট এর জন্য। ডেভেলপারও Prisma কে আপন করে নিছে ভালোবাসা দিয়ে, কারন Prisma Ease to use, its provide automatic type generation, declarative database migrations and direct integration in the VS Code IDE.
বিশ্বাস করেন রাসেল ভাই একবার Prisma এর প্রেমে পড়লে আপনি নিজেই বলবেন এই মাখন জিনিস এতদিন কই ছিল।বুঝতেই পারছেন কেন Prisma শেখাটা জরুরি?
কেন Prisma?
রিলেশনাল ডাটাবেসের সাথে কাজ করার সময় অ্যাপ্লিকেশন ডেভেলপমেন্টে একটি বড় সমস্যা হল ডিবাগিং। SQL কোয়েরি বা কমপ্লেক্স ORM অবজেক্ট প্রায়ই ডেভেলপমেন্ট টাইম কয়েক ঘন্টা সময় লাগে ডিবাগিং করতে। এখানেই Prisma কোপ মারছে , ডেভেলপারদের জন্য ডাটাবেস কোয়েরি করে দেওয়ার জন্য clean and type-safe API প্রোভাইড করে ডাটাবেসে কোয়েরি করে সাধারণ জাভাস্ক্রিপ্ট অবজেক্ট return দেয়। প্রিজমার মূল লক্ষ্য হল অ্যাপ্লিকেশনে ডেভেলপারদের ডাটাবেসের সাথে কাজ করার সময় আরও productive দেওয়া। প্রিজমা কীভাবে এটি achieves করে তার কয়েকটি উদাহরণ দেওয়া হল
• Thinking in objects instead of mapping relational data.
• Queries not classes to avoid complex model objects.
• Single source of truth for database and application models.
• Healthy constraints that prevent common pitfalls and anti-patterns.
• An abstraction that makes the right thing easy ("pit of success").
• Type-safe database queries that can be validated at compile time.
•Less boilerplate so developers can focus on the important parts of their app.
• Auto-completion in code editors instead of needing to look up documentation
আপনার কি Prisma ব্যবহার করা উচিত?
মনে করেন আপনি একটি সার্ভার-সাইড অ্যাপ্লিকেশন তৈরি করছেন এটি Prisma এর প্রধান ব্যবহার কেস হতে পারে। Server-side application গুলি সাধারণত REST, GraphQL বা gRPC এর মতো technologies এর মাধ্যমে ডেটা অপারেশন করে, এগুলি সাধারণত মাইক্রোসার্ভিস বা মনোলিথিক অ্যাপ হিসাবে তৈরি করা হয়, সমস্ত এই অ্যাপ্লিকেশনে Prisma একটি অত্যন্ত উপযোগী সমাধান। if you care about productivity and developer experience. আপনি যদি SQL এ নতুন অথবা সিনিওর হন , তা কোন ব্যাপার না, প্রিজমা আপনাকে সবচেয়ে productivity বেশি দিবে।
কখন আপনার Prisma ব্যবহার করা উচিত না? Prisma সম্ভাবত আপনার জন্য ভালো না হতে পারে যদি আপনি সমস্ত ডেটাবেস কুয়েরী এর উপর পূর্ণ নিয়ন্ত্রণ চান। অথবা আপনি আপনার ডাটাবেস কুয়েরী জন্য row SQL ব্যবহার করতে চান। আপনি যদি প্রিজমার documentation এ যান তাইলে আরো বিস্তারিত জানতে পারবেন।
Prisma in your stack !!!
প্রিজমা হল একটি ORM যা একটি সম্পূর্ণ type-safe API এবং simplified ডাটাবেস অ্যাক্সেস প্রোভাইড করে। আপনি GraphQL বা REST API তৈরি করতে প্রিজমা টুলগুলি ব্যবহার করতে পারেন, বা একটি ফুলস্ট্যাক অ্যাপ্লিকেশনের অংশ হিসাবে ব্যবহার করতে পারেন। আপনি কতটা প্রিজমাকে উটিলাইজ করবেন তা আপনার উপর নির্ভর করে। আজকের মত এখানেই, কথা হবে অন্য কোন একটা টপিক নিয়ে টা টা।Additional reading and resources
https://www.prisma.io/docs/concepts https://www.prisma.io/dataguide/database-tools/top-nodejs-orms-query-builders-and-database-libraries
কিছু ওপেন সোর্স অ্যাপ্লিকেশন উদাহরণ রয়েছে যা Prisma ব্যবহার বানানো ।