প্রকল্প সম্পর্কে
Materialize একটি রিয়েল-টাইম ডেটা ইন্টিগ্রেশন প্ল্যাটফর্ম, যা একটি প্রতিষ্ঠানের বিভিন্ন অংশের ট্রানজ্যাকশনাল ডেটার সামঞ্জস্যপূর্ণ ভিউ তৈরি করে এবং ক্রমাগত আপডেট করে। এর SQL ইন্টারফেসের উদ্দেশ্য হলো লাইভ ডেটা পরিবেশন ও অ্যাক্সেসকে ব্যাপকভাবে সহজলভ্য করা, এবং আপনার ইনফ্রাস্ট্রাকচার যেখানেই চলে সেখানেই এটি ডিপ্লয় করা যায়।
README-তে বর্ণিত সাধারণ অ্যাডপশন প্যাটার্নগুলো:
- Query Offload (CQRS): read replica-র চেয়ে বেশি দক্ষতার সাথে জটিল read query স্কেল করুন, cache invalidation-এর ঝামেলা ছাড়াই।
- Integration Hub (ODS): একাধিক সোর্স থেকে ডেটা এক্সট্র্যাক্ট, লোড এবং ইনক্রিমেন্টালি ট্রান্সফর্ম করুন, এমন লাইভ ভিউ তৈরি করুন যা সরাসরি কোয়েরি করা যায় বা ডাউনস্ট্রিমে পুশ করা যায়।
- Operational Data Mesh (ODM): সার্ভিস ও ডোমেইনজুড়ে রিয়েল-টাইম, দৃঢ়ভাবে সামঞ্জস্যপূর্ণ ডেটা প্রোডাক্ট তৈরি ও সরবরাহ করতে SQL ব্যবহার করুন।
সামঞ্জস্যতা ও এক্সিকিউশন মডেল: Materialize আনুমানিক বা eventually consistent ফলাফলের বদলে ন্যূনতম লেটেন্সিতে সঠিক, সামঞ্জস্যপূর্ণ উত্তর দিতে চায়, এমনকি একাধিক আপস্ট্রিম সিস্টেম থেকে ডেটা জয়েন করার সময়ও। কোয়েরিগুলোকে dataflow হিসেবে পুনর্গঠিত করা হয়, যা ডেটা পরিবর্তনে দক্ষভাবে প্রতিক্রিয়া জানায়। ম্যানেজড সার্ভিসটিকে cloud-native হিসেবে বর্ণনা করা হয়েছে, যেখানে multi-active replication-এর মাধ্যমে high availability, মেশিনজুড়ে horizontal scalability, এবং Amazon S3-এর মতো cloud object storage দ্বারা ব্যাক করা স্টোরেজ রয়েছে। Enterprise ও Community এডিশন self-managed করা যায়।
ডেটা ইনজেশন: PostgreSQL বা MySQL replication stream থেকে সরাসরি পড়া, Kafka এবং Redpanda-র মতো Kafka API-সামঞ্জস্যপূর্ণ সিস্টেম, এবং webhooks-এর মাধ্যমে SaaS অ্যাপ্লিকেশন।
ট্রান্সফরমেশন ও কোয়েরি: PostgreSQL প্রোটোকলের মাধ্যমে ভিউ সংজ্ঞায়িত ও পড়া হয়, তাই psql-সহ বিদ্যমান SQL ক্লায়েন্ট ব্যবহার করা যায়; প্রোডাকশন ব্যবহারে dbt Core সাধারণ বলে উল্লেখ করা হয়েছে। সমর্থিত SQL ফিচারগুলোর মধ্যে রয়েছে multi-column ও multi-way join, self-join, cross-join, inner ও outer join, স্বয়ংক্রিয় decorrelation-সহ subquery, insert, update ও delete-এর অধীনে incremental view maintenance, aggregation (min, max, count, sum, stddev এবং অন্যান্য), HAVING, ORDER BY, LIMIT, DISTINCT, PostgreSQL ডায়ালেক্টে JSON operator ও function, nested view, এবং overlapping subplan জুড়ে shared index। ট্রি ও গ্রাফ স্ট্রাকচার ইনক্রিমেন্টালি আপডেট করার জন্য recursion-ও সমর্থিত। README-তে একটি TPC-H query 15 উদাহরণ রয়েছে, যা CREATE SOURCE, CREATE VIEW, CREATE MATERIALIZED VIEW এবং CREATE INDEX দেখায়।
ডেটা এগ্রেস: যেকোনো PostgreSQL-সামঞ্জস্যপূর্ণ ড্রাইভারের মাধ্যমে pull-based অ্যাক্সেস, এবং SUBSCRIBE-এর মাধ্যমে বা Kafka টপিকে ফলাফল স্ট্রিম করার মাধ্যমে push-based অ্যাক্সেস, সঙ্গে object storage-এ আপডেট কপি করার অপশন।
লাইসেন্সিং ও ডেভেলপমেন্ট: স্ট্যান্ডঅ্যালোন ডেটাবেস ইঞ্জিনের সোর্স এই রিপোজিটরিতে BSL 1.1-এর অধীনে রয়েছে, যা চার বছর পর Apache 2.0-তে রূপান্তরিত হয়; স্ট্যান্ডঅ্যালোন ইঞ্জিনের single-node ব্যবহার চিরকাল বিনামূল্যে। ম্যানেজড ক্লাউড সার্ভিসে horizontal scalability, high availability এবং একটি web management console-এর মতো মালিকানাধীন ফিচার রয়েছে। Materialize মূলত Rust-এ লেখা, ডেভেলপার ডকুমেন্টেশন doc/developer-এ এবং Rust API ডকুমেন্টেশন আলাদাভাবে হোস্ট করা। অবদান স্বাগত, CONTRIBUTING.md-তে নির্দেশনা রয়েছে।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.