Warning: Undefined array key 0 in /var/www/tgoop/function.php on line 65

Warning: Trying to access array offset on value of type null in /var/www/tgoop/function.php on line 65
299 - Telegram Web
Telegram Web
2.jpg
119.9 KB
یکی از پروژه‌های بنیاد آپاچی که امروزه به تدریج در اخبار و مقالات حوزه داده در حال دیده‌شدن است، Apache XTable است. این پروژه تنها یک هدف دارد و آن هم امکان تبدیل سه فرمت رایج ساخت Lakehouse یعنی
- Deltalake
- Apache Iceberge
- Apache Hudi
است که در شکل الصاق‌شده هم به تصویر کشیده شده است . در این شکل تیم B از طریق XTable, داده‌های تیم A که به فرمت Hudi ذخیره شده است را به Iceberge تبدیل کرده و در کنار سایر داده‌های خود، آنها را با Dremio پردازش میکند.
پ.ن. امروزه به نظر می‌رسد که Apache Iceberge در حال جذب کاربران بیشتری است و اگر قصد طراحی یک Lakehouse را دارید، از ابتدا این فرمت را انتخاب کنید.
Lakehouse
چیست؟
ترکیب دریاچه داده (که داده‌ها را به صورت خام و معمولا به صورت Parquet و مانند آن نگهداری می‌کند) و انباره داده است که اجازه میدهد بتوانیم داده‌های خام را با ذخیره‌کردن متادیتا، به نوعی دیتابیس تبدیل کنیم که مستقیما قابل کوئری گرفتن و استفاده در ابزارهای تحلیلی و گزارش سازی باشد
مقاله اصلی : https://www.onehouse.ai/blog/dremio-lakehouse-analytics-with-hudi-and-iceberg-using-xtable
Forwarded from عکس نگار
آیا ترتیب ستون‌ها در کارآیی دیتابیس، موثر است ؟
اگر شما هم فکر می‌کنید که ترتیب ستون‌ها تاثیری در اجرای کوئری ها ندارد، مقاله زیر که به بررسی این موضوع در پستگرس پرداخت است را از دست ندهید .
https://demirhuseyinn-94.medium.com/the-surprising-power-of-humble-column-ordering-in-postgresql-ce7c7d587a27
خلاصه مقاله این است که فیلد‌های با طول متغیر و فیلدهای Nullable بهتر است به انتهای لیست منتقل شوند و فیلدهای مشابه کنار هم قرار گیرند.
CREATE TABLE user_order_default (
is_shipped BOOLEAN NOT NULL DEFAULT false,
user_id BIGINT NOT NULL,
order_total NUMERIC NOT NULL,
order_dt TIMESTAMPTZ NOT NULL,
order_type SMALLINT NOT NULL,
ship_dt TIMESTAMPTZ,
item_ct INT NOT NULL,
ship_cost NUMERIC,
receive_dt TIMESTAMPTZ,
tracking_cd TEXT,
id BIGSERIAL PRIMARY KEY NOT NULL
);

CREATE TABLE user_order_tweaked (
id BIGSERIAL PRIMARY KEY NOT NULL,
user_id BIGINT NOT NULL,
order_dt TIMESTAMPTZ NOT NULL,
ship_dt TIMESTAMPTZ,
receive_dt TIMESTAMPTZ,
item_ct INT NOT NULL,
order_type SMALLINT NOT NULL,
is_shipped BOOLEAN NOT NULL DEFAULT false,
order_total NUMERIC NOT NULL,
ship_cost NUMERIC,
tracking_cd TEXT
);

‍‍‍SELECT pg_relation_size('user_order_default') AS size_bytes,
pg_size_pretty(pg_relation_size('user_order_default')) AS size_pretty;

SELECT pg_relation_size('user_order_tweaked') AS size_bytes,
pg_size_pretty(pg_relation_size('user_order_tweaked')) AS size_pretty;



size_bytes | size_pretty
------------+-------------
141246464 | 135 MB
(1 row)

size_bytes | size_pretty
------------+-------------
117030912 | 112 MB

تفاوت اندازه دو تا جدول فوق که تنها ترتیب ستون‌های آنها متفاوت است را در پستگرس مشاهده میکنید (بخشی از مقاله فوق) که کاملا نشان میدهد فضای ذخیره سازی متاثر از ترتیب ستون‌هاست و سرعت پاسخگویی کوئری‌ها هم قطعا تحث تاثیر قرار خواهد گرفت.

#postgresql #column_ordering #postgresql_performance
Forwarded from عکس نگار
پستگرس که «در لطافت طبعش خلاف نیست»، به قول سعدی علیه الرحمه «در باغ لاله روید و در شوره زار خس». مفسرین بر این باورند که منظور شیخ این بوده است که این دیتابیس، گاهی اوقات بسیار عالی و خوب عمل می‌کند و برای بسیاری از کاربردهای امروزی که نیاز به کوئری‌های پیچیده روی حجم عظیم دیتای ورودی داریم، ما را با چالش‌های جدی مواجه می‌کند.
در وبینار زیر، به این پرسش اساسی پاسخ می‌دهیم که اگر با پستگرس در مواجهه با داده‌های زیاد به چالش برخوردیم،‌ چه کنیم و اصلا آیا پستگرس برای خیلی از نیازمندیهای امروز می‌تواند گزینه مناسبی باشد یا نه ؟ مروری بر راه‌حل‌های کلاسیک این مساله و راه‌حل‌هایی که در چند سال اخیر پیش روی ما قرار گرفته است می‌پردازیم.
دیتابیس‌هایی مبتنی بر پستگرس مانند ParadeDB، دیتابیس‌هایی با پروتکل پستگرس مانند CockroachDB و RisingWave‌ و افزونه‌هایی مانند Hydra را بررسی می کنیم.
اگر در حال استفاده از پستگرس هستید و نگرانی‌هایی راجع به آن در مواجهه با نیازمندیهای جدید دارید،‌ شاید این وبینار که به صورت عملی برگزار خواهد شد، برای شما مفید باشد.
https://anisa.co.ir/fa/news/2-uncategorised/298-workshop-23.html
#پستگرس #Postgres #PostgreSQL
Kubernetes for teenagers.pdf
5.7 MB
کوبرنتیز برای نوجوانان
Forwarded from عکس نگار
کوبرنتیز برای نوجوانان 👆👆
اگر تاکنون فرصت نکرده‌اید با کوبرنتیز کار کنید، این کتاب مختصر و مفید که به کمک شکل و کد و بدون توضیحات اضافه، شما را مستقیم وارد دنیای جذاب مدیریت
پاد‌ها و کانتینرها با کوبرنتیز میکند، می‌تواند نقطه شروع خوبی برای شما باشد.
#کوبرنتیز #kubernetes
در دنیای امروز که با حجم عظیم داده‌ها و افزایش روزافزون سرعت تولید آن‌ها روبرو هستیم، نیازهای جستجو و تحلیل به‌موقع داده‌ها، ما را با چالش‌هایی مواجه می‌سازد که رفع آن‌ها مستلزم دانش عمیق در زمینه زیرساخت‌های پایگاه‌های داده است. تنها با بهره‌گیری از این دانش است که می‌توانیم نقاط ضعف را شناسایی کرده و راهکارهای مناسب را برای پیشبرد اهداف کسب و کار خود اتخاذ نماییم. بدون درک کافی از پشت صحنه مدیریت و پردازش داده‌های حجیم، غلبه بر موانع و دستیابی به عملکرد مطلوب، امری دشوار خواهد بود. کتاب Database Performance at Scale‌ میتواند این دید عمیق و مهندسی را به شما بدهد.
https://www.bigdata.ir/1403/02/%d9%85%d8%b9%d8%b1%d9%81-%da%a9%d8%aa%d8%a7%d8%a8-database-performance-at-scale/
مهاجرت‌ها در دنیای داده، همیشه پیام‌هایی با خود به همراه دارند. اینکه چه مشکلات و مسایلی در دیتابیس‌ یا معماری اولیه وجود داشته است که باعث شده است یک شرکت با وجود تمامی دردسرهایی که مهاجرت از یک زیرساخت داده به زیرساخت جدید دارد، آنرا انجام دهد.

در اوایل سال ۲۰۲۳، دیسکورد دیتابیس اصلی خود را از کاساندرا به ScyllaDB‌ منتقل کرد و مدیریت میلیاردهای داده خود را به این دیتابیس که کاملا سازگار با کاساندرا اما با کارآیی بسیار بالاتر است، سپرد.

توصیه می‌کنیم اگر در حال استفاده از کاساندرا هستید و یا برای سامانه‌های اطلاعاتی خود به دنبال یک راه‌کار سریع و موثر هستید، این پست وبلاگ دیسکورد که این مهاجرت را به صورت فنی و البته به زبان ساده توضیح داده است، را از دست ندهید :

https://discord.com/blog/how-discord-stores-trillions-of-messages
پ.ن: دیسکورد در سال ۲۰۱۷ از مانگو‌دی‌بی به کاساندرا مهاجرت کرد.

پ.ن۲: برای مشاهده سایر شرکت‌هایی که به این دیتابیس مهاجرت کر‌ده‌اند و یا امکانات جدیدی که به این دیتابیس خوش‌آتیه افزوده شده است می‌توانید به فهرست سخنرانیهای

ScyllaDB Summit 2024 (https://www.scylladb.com/scylladb-summit-2024/presentations/)

نگاهی بیندازید.

#کاساندرا #مهندسی_داده #ScyllaDB
اگر با پستگرس کار می‌کنید و

- قصد راه‌اندازی CDC را بر روی آن دارید، مثلا قصد دارید به ازای هر کاربر جدید یا هر سفارش جدید، یک رخداد جدید به صورت خودکار ایجاد شده و به کافکا ارسال گردد تا در یک پایپ‌لاین پردازش داده، اقدام مناسب برای آن رخداد (مثلا ایجاد یک کدتخفیف سفارشی و ارسال به مشتری)‌ انجام شود.

- یا می‌خواهید یک بکاپ از برخی جداول اصلی خود روی یک یا چند نود پستگرس دیگر ایجاد کنید

- و یا قصد دارید پردازش‌های تحلیلی خود را به جای پستگرس بر روی کلیک‌هوس انجام بدهید و بار پردازش‌های سنگین را از دوش پستگرس بردارید

برای تمامی این موارد، می توانید از PeerDB‌ استفاده کنید. به صورت خیلی شیک و مجلسی و با یک Web UI‌ ساده، جداول مورد نظر را انتخاب می کنید، مقصد انتقال (پستگرس یا کلیک‌هوس یا کافکا و ... ) را مشخص کرده و بقیه کار را به PeerDB‌ بسپرید. این ابزار که بر محور پستگرس ایجاد شده است، می‌تواند دستیار خوب شما در انتقال داده‌ها از پستگرس به هر مقصد دیگری باشد (البته لیست مقاصد انتقال با جذب سرمایه اخیر این ابزار در حال گسترش است). مزایایی مثل سرعت چندبرابر نسبت به ابزارهای فعلی را می‌توانید در مستندات این ابزار مفید پیدا کنید.

PeerDB: Our infrastructure is designed for real-time streaming from Postgres. If your application is latency-sensitive you can configure refresh intervals as low as a few seconds

PeerDB : https://docs.peerdb.io/quickstart/quickstart


#پستگرس #Postgres #PeerDB #PostgreSQL
Forwarded from عکس نگار
یکی از کتاب‌های خوبی که اخیرا توسط دانیال خسروی و جواد جعفری به فارسی ترجمه شده است، کتاب مصاحبه طراحی سیستم‌های نرم‌افزاری است که به بررسی جنبه‌های مختلف طراحی سیستم‌‌های نوین نرم‌افزاری پرداخته است.
هر چند این کتاب برای مهندسین نرم‌افزار و طراحان سیستم‌های نرم افزاری نوشته است اما با توجه به اینکه مباحث مختلفی از توزیع‌پذیری و مقیاس‌پذیری در آن مطرح شده است،‌خواندن آنرا به تمامی علاقه‌مندان حوزه مهندسی داده، توصیه می‌کنیم.
در این کتاب، در هر یک از فصل‌های کتاب، یک سیستم به طور کامل طراحی شده است که در زیر می‌توانید عنوان‌های آنها را مشاهده کنید.
Chapter 1: Scale From Zero To Millions Of Users
Chapter 2: Back-Of-The-Envelope Estimation
Chapter 3: A Framework For System Design Interviews
Chapter 4: Design A Rate Limiter
Chapter 5: Design Consistent Hashing
Chapter 6: Design A Key-Value Store
Chapter 7: Design A Unique Id Generator In Distributed Systems
Chapter 8: Design A Url Shortener
Chapter 9: Design A Web Crawler
Chapter 10: Design A Notification System
Chapter 11: Design A News Feed System
Chapter 12: Design A Chat System
Chapter 13: Design A Search Autocomplete System
Chapter 14: Design Youtube
Chapter 15: Design Google Drive
Chapter 16: The Learning Continues
برای دانلود نسخه الکترونیکی این کتاب، که با اجازه از مترجمین کتاب در اینجا قرار گرفته است، می‌توانید از لینک زیر استفاده کنید :
https://uploadb.com/ug7rgpcgrutx
#طراحی_سیستم_های_مقیاس_پذیر #مهندسی_داده ‌#معرفی_کتاب
Forwarded from عکس نگار
فرض کنید شما یک اپلیکیشن موبایل یا یک وب‌سایت تجاری را توسعه داده‌اید و از پایگاه‌های داده‌ای مانند MySQL یا PostgreSQL برای ذخیره اطلاعات اصلی خود استفاده کرده‌اید. اکنون نیاز به یک پنل مدیریت برای کنترل و مدیریت داده‌های ذخیره شده دارید، اما متأسفانه منابع (نیروی انسانی/ زمان/ پول/ ...) کافی برای توسعه یک داشبورد مناسب در اختیار ندارید. چه کنیم در این شرایط بغرنج؟
خوشبختانه، در دنیای امروز، ابزارهایی تحت عنوان "پلتفرم‌های بدون کد" (No-Code Platforms) توسعه یافته‌اند که می‌توانند به شما در این زمینه کمک کنند. این ابزارها به شما امکان می‌دهند تا بدون نیاز به کدنویسی و با اتصال مستقیم به پایگاه داده، در عرض چند ساعت، اپلیکیشن خود را طراحی و پیاده‌سازی کنید.
https://github.com/topics/no-code-platform
در زیر به معرفی خیلی کوتاه چند عدد از این ابزارهای متن‌باز می‌پردازیم :
- NoCoBase : یک سیستم مقیاس‌پذیر و ماژولار برای طراحی برنامه‌های کاربردی که مجموعه‌ای غنی از پلاگین‌ها و افزونه‌ها، آنرا برای بسیاری از کاربردها و نیازمندیهای سازمانی و تجاری، مناسب می‌کند.
https://github.com/nocobase/nocobase
- Budibase‌ : یک سامانه ساده برای توسعه برنامه‌های کاربردی تک‌صفحه‌ای که امکان اتصال به انواع دیتابیس‌ها (PostgreSQL, MySQL, MSSQL, MongoDB, Rest API, Docker, K8s, and more) را دارد.
github.com/Budibase/budibase
- ILLA Builder :این پلتفرم به شما این امکان را می‌دهد که اپلیکیشن‌های تجاری بسازید و ابزارهای داخلی مانند داشبورد، اپلیکیشن‌های CRUD، پنل مدیریت، CRM، CMS و موارد مشابه را به سرعت ایجاد کنید. این پلتفرم از PostgreSQL، MySQL، Supabase، GraphQL، MongoDB، MSSQL، REST API، Hugging Face، Redis و غیره پشتیبانی می‌کند. می‌توانید گردش کارها را با زمان‌بندی یا وب‌هوک به صورت خودکار انجام دهید. این ابزار را می‌توانید نسخه متن‌باز Retool در نظر بگیرید.
https://github.com/illacloud/illa-builder
- NoCoDB‌ : این ابزار که خود را معادل متن‌باز AirTable می‌داند با اتصال به جداول مختلف پایگاه‌های داده‌شما، مدیریت اطلاعات را مانند کار با ابزارهای صفحه گسترده‌ مانند اکسل، ساده و راحت می‌کند بدون اینکه شما را درگیر برنامه‌نویسی کند.
https://github.com/nocodb/nocodb

استفاده از این ابزارها می‌تواند بازدهی و سرعت توسعه را به میزان قابل توجهی افزایش دهد، به ویژه برای تیم‌های کوچک یا پروژه‌های با محدودیت زمانی و منابع. با این حال، لازم است که با ویژگی‌ها و محدودیت‌های هر ابزار آشنا شوید تا بهترین گزینه را برای نیازهای خاص خود انتخاب کنید.
Forwarded from عکس نگار
یکی از کارهای رایج مهندسین داده، ETL‌ است یعنی داده را از یک منبع ورودی خوانده، آن را پردازش کرده و نهایتا در مقصد ذخیره کنیم. برای این منظور، ابزارهای تجاری و متن‌باز بسیار زیادی وجود دارد که از زمان‌های قدیم که Logstash یک تنه، بار انتقال داده‌ها بین انواع منبع‌ها و مقصدها را به دوش می‌کشید تا الان که شاید بیش از ده‌ها ابزار رایج و تخصصی در این خصوص وجود داشته باشد، این فرآیند به بلوغ بسیار خوبی رسیده است.
اما کتابخانه‌های نرم‌افزاری و بخصوص ابزارهای مهندسی داده باید
- ساده : کار با آنها ساده باشد.
- سبک : کارآیی بالایی داشته، منابع بسیار کمی از سیستم را درگیر کنند.
- سهل‌الوصول: به راحتی قابل نصب و پیکربندی باشد.
باشند (می‌توانیم به آنها ۳سین بگوییم!!).
Vector.dev‌ یکی از این ابزارهای مطابق با قانون ۳سین است اما بیشتر برای کاربردهای انتقال و جمع‌آوری لاگ‌ و متریک‌ها مناسب است و برای ETL‌ های رایج، به کار نمی‌‌رود.
https://github.com/vectordotdev/vector
Benthos‌ دقیقا معادل و مشابه Vector.dev و مطابق با قانون ۳سین در حوزه ETL است.
- با زبان Go‌ نوشته شده است و بسیار سبک و کارآ است.
- نصب و راه‌اندازی آن همانطور که در تصویر مشخص است، بسیار راحت و آسان است.
- کار با آن ساده است (هر چند برای بخش پردازش داده‌ها، زمان کمی را برای آشنایی با زبان مخصوص آن باید کنار بگذارید)
- به راحتی امکان خواندن از صف‌هایی مانند کافکا و سوکت‌ها را فراهم می‌کند.
- مجموعه بسیار غنی از منبع‌ها، مقصدها و پردازشگرهای از قبل نوشته شده دارد.
اگر قصد طراحی و پیاده‌سازی خطوط انتقال داده را دارید و پردازش‌هایی که بر روی داده‌های دریافتی انجام می‌دهید، ساده و سرراست (مثل فیلتر کردن برخی ورودی‌ها، استخراج و تغییر شکل چند آیتم و ...) است، حتما Benthos را به عنوان یکی از اصلی‌ترین گزینه‌های خود در نظر بگیرید.
آدرس گیت‌هاب پروژه: https://github.com/benthosdev/benthos
آدرس رسمی سایت: https://www.benthos.dev
گروه تخصصی پرسش‌وپاسخ‌های مهندسی داده : https://www.tgoop.com/bigdata_ir_discussions
ما در ترب از PostgreSQL (برای راحتی در نوشتن از این جا به بعد «پستگرس» نوشته خواهد شد) به عنوان پایگاه‌داده‌ی اصلی استفاده می‌کنیم. با توجه به اتمام دوره‌ی پشتیبانی از نسخه‌ی ۱۱ در آبان ماه ۱۴۰۲، تصمیم به به‌روزرسانی این پایگاه‌داده به نسخه‌ی ۱۶ گرفتیم. این به‌روزرسانی نه تنها برای اطمینان از دریافت آخرین به‌روزرسانی‌های امنیتی و رفع باگ‌ها ضروری بود، بلکه به ما اجازه می‌داد تا از ویژگی‌ها و بهبودهای کارایی که در نسخه‌های جدیدتر اضافه شده، بهره‌مند شویم. فرآیند ارتقا نیازمند برنامه‌ریزی دقیق و انجام تست‌های گسترده بود تا اطمینان حاصل کنیم که تغییرات هیچ تأثیر منفی روی سرویس‌های حیاتی ما نخواهند داشت. در این پست قصد داریم در مورد فرآیندی که برای به‌روزرسانی طی کردیم و تجربه‌ها و مشکلاتی که پیش آمد بنویسیم.
https://techblog.torob.com/postgresql-upgrade-from-11-to-16-torob-experience-v62efb53gn6h
Forwarded from Reza Karimi
با سلام و احترام

جهت تولید یک محصول هوش مصنوعی به یک نفر "Data Engineer" با مشخصات زیر نیازمندیم.

مدرک تحصیلی: حداقل کارشناسی ارشد (فارغ التحصیلان دانشگاه های سراسری در اولویت هستند)

تخصص و تجارب کاری مورد نیاز:
- تجربه کار با APIهای توییتر و ابزارهای مشابه.
- آشنایی با زبان‌های برنامه‌نویسی نظیر Python برای جمع‌آوری و پردازش داده.
- تجربه کار با سیستم‌های مدیریت دیتابیس نظیر PostgreSQL، MongoDB، و یا سایر دیتابیس‌های مقیاس‌پذیر.
- تجربه کار با سیستم‌های استریم داده نظیر Kafka و Kafka Connect.
- توانایی ساخت و مدیریت شبکه‌های اجتماعی و تعاملات کاربران.
- تجربه کار با سیستم‌های مقیاس‌پذیر و مدیریت حجم بالای داده.
- آشنایی با ابزارهای بصری‌سازی داده و ارائه گزارش‌های تحلیلی.

نوع همکاری:
- حضوری (پاره وقت)
-  پروژه ای
(اولویت با جذب نیروی پاره وقت می باشد)

لطفا در صورت علاقه رزومه خود را به آیدی زیر در تلگرام ارسال نمایید.
@Semantasoft
در دنیای پر سرعت و داده‌محور امروز، مدیریت کارآمد منابع سیستمی در پایگاه‌های داده نقشی حیاتی در عملکرد و پاسخگویی برنامه‌های کاربردی ایفا می‌کند. PostgreSQL، به عنوان یکی از قدرتمندترین و محبوب‌ترین سیستم‌های مدیریت پایگاه داده رابطه‌ای متن‌باز، نیازمند توجه ویژه به بهینه‌سازی منابع، به خصوص مدیریت حافظه است.
https://yun.ir/74ed4a

سایت Tembo که بر روی استک‌های تخصصی مبتنی بر پستگرس، کار می‌کند، مقاله‌ای را راجع به مدیریت حافظه در پستگرس منتشر کرده است که خلاصه آنرا در این جا با هم مرور می کنیم
یکی از امکانات خوبی که به پستگرس ۱۷ اضافه شده است، امکان گرفتن بکاپ های افزایشی یا incremental بکاپ است.
در این نسخه، شما با همان دستور pg_basebackup رایج پستگرس، یک بکاپ کامل از دیتابیس میگیرید ، سپس در مقاطع زمانی منظم مجددا همین دستور pg_basebackup را با پارامتر incremental و تعیین مکان پوشه بکاپ فول قبلی، اجرا میکنید تا یک بکاپ سریع و افزایشی ایجاد کنید که تنها تغییرات اخیر دیتابیس، در آن ذخیره خواهند شد و بنابراین بسیار سریع بوده، بار زیادی به دیتابیس تحمیل نمی‌کند.
سپس از دستور جدید pg_combinebackup استفاده میکنید که این دو را به یک بکاپ فول جدید تبدیل کنید تا در بکاپ افزایشی بعدی، این بکاپ فول جدید مبنای محاسبه تغییرات قرار گیرد.به همین سادگی ....
یک مثال خلاصه اما کامل راجع به این موضوع در آدرس زیر می‌توانید مشاهده کنید :
Read “Mastering Incremental Backups in PostgreSQL 17: A Step-by-Step“ by Umair Hassan on Medium: https://medium.com/@umairhassan27/mastering-incremental-backups-in-postgresql-17-a-step-by-step-89096167b31b
#پستگرس #postgres17
Please open Telegram to view this post
VIEW IN TELEGRAM
اندر احوالات ما مهندسین داده ...

گفت احوالت چطور است؟
گفتمش عالی است
مثل حال گل
حال گل در چنگ چنگیز مغول
- قیصر امین‌پور-
Please open Telegram to view this post
VIEW IN TELEGRAM
2025/06/29 04:10:15
Back to Top
HTML Embed Code: