প্রকল্প সম্পর্কে
Datahike একটি টেকসই Datalog ডাটাবেস, যা Datomic-সামঞ্জস্যপূর্ণ API এবং git-এর মতো সিম্যান্টিক্স প্রদান করে। স্ট্রাকচারাল শেয়ারিংসহ পারসিস্টেন্ট ডেটা স্ট্রাকচারের উপর নির্মিত হওয়ায় ডাটাবেস স্ন্যাপশটগুলো অপরিবর্তনীয় মান, যা লক বা কপি ছাড়াই ধরে রাখা, শেয়ার করা এবং কোয়েরি করা যায়।
README-তে বর্ণিত মূল ক্ষমতাগুলো:
- ডিস্ট্রিবিউটেড ইনডেক্স স্পেস: রিডাররা ডাটাবেস সংযোগ ছাড়াই রিড স্কেলিংয়ের জন্য পারসিস্টেন্ট ইনডেক্স সরাসরি অ্যাক্সেস করতে পারে।
- konserve-এর মাধ্যমে নমনীয় স্টোরেজ: File, LMDB, S3, JDBC, Redis এবং IndexedDB ব্যাকএন্ড।
- ক্রস-প্ল্যাটফর্ম সমর্থন: JVM, Node.js এবং ব্রাউজার, সাথে Clojure, ClojureScript, JavaScript এবং Java API।
- ব্রাউজার-টু-সার্ভার যোগাযোগের জন্য Kabel-এর মাধ্যমে WebSocket-এ রিয়েল-টাইম সিঙ্ক।
- টাইম-ট্রাভেল: সম্পূর্ণ ট্রানজ্যাকশন অডিট ট্রেইলসহ যেকোনো ঐতিহাসিক অবস্থা কোয়েরি করা।
- নিয়ন্ত্রক সম্মতির জন্য ডেটা পার্জিং (GDPR-প্রস্তুত)।
- বিলিয়ন ডেটামসহ প্রোডাকশন ব্যবহারের রিপোর্ট, যার মধ্যে সরকারি পরিষেবায় ডিপ্লয়মেন্ট অন্তর্ভুক্ত।
প্রকল্পটি সম্পর্ক-ভারী ডেটার জন্য SQL-এর পরিবর্তে Datalog-এর পক্ষে যুক্তি দেয়: সম্পর্কের উপর প্যাটার্ন ম্যাচিং, ট্রানজিটিভ ও রিকার্সিভ কোয়েরি এবং মাল্টি-ডাটাবেস জয়েন স্বাভাবিকভাবে প্রকাশ করা যায়। ইমিউটেবিলিটি ডাটাবেসকে ফ্যাক্টের অ্যাপেন্ড-অনলি লগ হিসেবে বিবেচনা করে, যা অডিট ট্রেইল, টাইম-ট্রাভেলের মাধ্যমে ডিবাগিং এবং ডেটা এক্সিশন সম্ভব করে।
ব্যবহার Clojure API (datahike.api) কেন্দ্রিক, যাতে রয়েছে create-database, connect, transact, q, history, release এবং delete-database। API-টি JVM-এ Datomic-এর একটি সাবসেটের ড্রপ-ইন প্রতিস্থাপন হওয়ার লক্ষ্য রাখে। কনফিগারেশন স্টোরেজ ব্যাকএন্ড এবং স্কিমা নমনীয়তা কভার করে।
বিটা ল্যাঙ্গুয়েজ বাইন্ডিংগুলোর মধ্যে রয়েছে JavaScript (npm প্যাকেজ), একটি GraalVM নেটিভ CLI টুল (dthk), একটি Babashka pod, ফ্লুয়েন্ট বিল্ডারসহ একটি Java API, C/C++ নেটিভ বাইন্ডিং (libdatahike) এবং Python বাইন্ডিং। ClojureScript সমর্থন Node.js (file ব্যাকএন্ড) এবং ব্রাউজার (TieredStore-সহ IndexedDB) কভার করে।
উদাহরণ প্রকল্পগুলোর মধ্যে রয়েছে Beleg, একটি ইনভয়েস ও CRM সিস্টেম যাতে ওয়েব UI এবং LaTeX PDF জেনারেশন রয়েছে। উল্লেখিত প্রোডাকশন ব্যবহারকারীদের মধ্যে রয়েছে সুইডিশ পাবলিক এমপ্লয়মেন্ট সার্ভিস (JobTech Taxonomy, ৪০,০০০+ কনসেপ্ট, Datomic থেকে মাইগ্রেট করা), Stub (দক্ষিণ আফ্রিকার ছোট ব্যবসার জন্য অ্যাকাউন্টিং) এবং হাইডেলবার্গ বিশ্ববিদ্যালয়ের অভ্যন্তরীণ ইমোশন ট্র্যাকিং গবেষণা।
সম্পর্কিত প্রকল্প: Proximum Datahike-এর পারসিস্টেন্ট মডেলে সিম্যান্টিক সার্চ ও RAG-এর জন্য একটি HNSW ভেক্টর ইনডেক্স প্রদান করে; pg-datahike একটি PostgreSQL-সামঞ্জস্যপূর্ণ অ্যাডাপ্টার এমবেড করে (ওয়্যার প্রোটোকল, SQL ট্রান্সলেটর, pg_* ক্যাটালগ) যাতে PostgreSQL ক্লায়েন্টরা PostgreSQL ইনস্টল ছাড়াই সংযোগ করতে পারে, সাথে বাইডিরেকশনাল ডেটাম-লেয়ার ইন্টিগ্রেশন এবং pg_dump রাউন্ড-ট্রিপিং (বিটা)।
Datahike replikativ ইকোসিস্টেমের অংশ এবং পুনঃব্যবহারযোগ্য লাইব্রেরি দিয়ে গঠিত: konserve (প্লাগেবল কী-ভ্যালু স্টোরেজ), kabel (WebSocket ট্রান্সপোর্ট), hasch (কনটেন্ট-অ্যাড্রেসেবল হ্যাশিং), incognito (এক্সটেনসিবল সিরিয়ালাইজেশন), superv.async (core.async সুপারভিশন), replikativ (CRDT সিঙ্ক্রোনাইজেশন) এবং distributed-scope (রিমোট ইনভোকেশন)।
রোডম্যাপ সিদ্ধান্তগুলো GitHub Discussions-এ আইডিয়া আপভোটের মাধ্যমে কমিউনিটি-চালিত। বাণিজ্যিক সহায়তা প্রদান করা হয়। Eclipse Public License-এর অধীনে লাইসেন্সকৃত।
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.