Academy and Foundation unixmens | Your skills, Your future
2.28K subscribers
6.65K photos
1.36K videos
1.23K files
5.97K links
@unixmens_support
@yashar_esm
unixmens@gmail.com
یک کانال علمی تکنولوژی
فلسفه متن باز-گنو/لینوکس-امنیت - اقتصاد
دیجیتال
Technology-driven -بیزینس های مبتنی بر تکنولوژی
Enterprise open source
ارایه دهنده راهکارهای ارتقای سازمانی - فردی - تیمی
Download Telegram
oracle db.pdf
9.9 MB
کتابی که در مورد اوراکل نوشته بودم سالها پیش ، تقدیم عزیزان

#oracle #db #database #dba #yashar_esmaildokht
#book

https://t.me/unixmens
👍4
Academy and Foundation unixmens | Your skills, Your future
rac-twp-overview-5303704.pdf
Oracle Database with the Oracle Real Application Clusters (RAC) option allows multiple instances running on different servers to access the same physical database stored on shared storage. The database spans multiple hardware systems and yet appears as a single unified database to the application. This enables the utilization of commodity hardware to reduce total cost of ownership and to provide a scalable computing environment that supports various application workloads. If additional computing capacity is needed, customers can add additional
nodes instead of replacing their existing servers. The only requirement is that servers in the cluster must run the same operating system and the same version of Oracle. They do not have to be the same model or capacity. This saves on capital expenditures allowing customers to buy servers with latest hardware configurations and use it alongside existing servers. This architecture also provides high availability as RAC instances running on different nodes provides protection from a server failure. It is important to note that (almost) all applications such as Oracle Applications, PeopleSoft, Siebel, SAP run without any changes on Oracle RAC.
#database #oracle #rac #linux #ha

@unixmens
CREATE INDEX index_name ON table_name(column_name)
LOCAL (PARTITION partition_name1, PARTITION partition_name2, ...);
مثال:

CREATE INDEX emp_partition_idx ON employees(employee_id)
LOCAL (PARTITION part1, PARTITION part2);


نکات مهم:
- استفاده از ایندکس‌ها نیازمند درک کامل از نیازمندی‌های کوئری‌ها و ساختار داده‌ها است.
- ایندکس‌ها باعث بهبود سرعت خواندن داده‌ها می‌شوند اما ممکن است سرعت عملیات درج، به‌روزرسانی و حذف را کاهش دهند.
- برای مدیریت ایندکس‌ها، می‌توانید از دستورات DROP INDEX برای حذف ایندکس‌ها استفاده کنید:

DROP INDEX index_name;
```

با توجه به نیازهای خاص برنامه و داده‌های شما، می‌توانید از انواع مختلف ایندکس‌ها برای بهینه‌سازی عملکرد دیتابیس استفاده کنید.

در آینده در مورد آنها بیشتر خواهم نوشت .

#index #oracle #db #database

https://t.me/unixmens
اسکیما (Schema) چیست؟
اسکیما در دیتابیس به ساختار یا طرح کلی یک پایگاه داده اشاره دارد. این ساختار شامل تعاریف جداول، ستون‌ها، انواع داده‌ها، روابط بین جداول و محدودیت‌ها (constraints) است. به عبارت دیگر، اسکیما نقشه‌ای است که مشخص می‌کند چگونه داده‌ها در یک پایگاه داده سازمان‌دهی و مدیریت می‌شوند.

اهمیت اسکیما در دیتابیس
1. سازمان‌دهی داده‌ها: اسکیما به دسته‌بندی و سازمان‌دهی داده‌ها در جداول مختلف کمک می‌کند. این باعث می‌شود که داده‌ها به شکلی ساختارمند ذخیره شوند.

2. یکپارچگی داده‌ها: از طریق محدودیت‌ها و قوانین تعریف شده در اسکیما، می‌توان از صحت و یکپارچگی داده‌ها اطمینان حاصل کرد. برای مثال، می‌توان محدودیت‌هایی مانند کلید اصلی (Primary Key) یا کلید خارجی (Foreign Key) را تعریف کرد که از ورود داده‌های تکراری یا نادرست جلوگیری می‌کند.

3. افزایش کارایی: اسکیما به دیتابیس کمک می‌کند تا عملیات‌های جستجو، درج، به‌روزرسانی و حذف داده‌ها را با کارایی بالاتری انجام دهد. این به دلیل وجود ساختار مشخصی است که جستجوی داده‌ها را تسهیل می‌کند.

4. مدیریت تغییرات: در یک پایگاه داده بزرگ، مدیریت تغییرات و به‌روزرسانی ساختار دیتابیس بسیار مهم است. اسکیما به عنوان یک نقشه راهنما، به مدیران دیتابیس کمک می‌کند تا تغییرات مورد نیاز را با دقت اعمال کنند.

تفاوت اسکیما با داده‌ها
اسکیماطرح و ساختار کلی دیتابیس است، در حالی که داده‌ها، اطلاعات واقعی هستند که در جداول دیتابیس ذخیره می‌شوند.

- اسکیماشامل تعاریف جداول، ستون‌ها، نوع داده‌ها و روابط است. به عبارت دیگر، اسکیما چارچوبی است که داده‌ها را در خود جای می‌دهد.

- داده‌هامقادیر واقعی هستند که بر اساس اسکیما در دیتابیس ذخیره و مدیریت می‌شوند. این داده‌ها ممکن است شامل اطلاعات کاربران، تراکنش‌ها، محصولات و غیره باشد.

به طور خلاصه، اسکیما شبیه به نقشه‌ای است که تعیین می‌کند چطور و کجا داده‌ها باید ذخیره شوند، در حالی که داده‌ها محتویات واقعی هستند که در این نقشه قرار می‌گیرند.

در MariaDB (و MySQL)، برای گرفتن بک‌آپ فقط از اسکیما (ساختار جداول و سایر اشیاء دیتابیس بدون داده‌ها)، می‌توانید از ابزار mysqldump استفاده کنید. برای این کار، باید از گزینه --no-data استفاده کنید که فقط ساختار جداول و دیگر اشیاء پایگاه داده را بکاپ می‌گیرد، بدون اینکه داده‌ها را شامل شود.
دستور :


mysqldump -u [username] -p --no-data [database_name] > backup_schema.sql

#database #db #dba

https://t.me/unixmens
1
در ماه آینده تصمیم دارم در مورد microsoft sql server در لینوکس وبیناری برگزار کنم . و پیاده سازی و بنچمارک روی اون را انجام بدم . و یک سناریو Always On Failover Clustering و Always On Availability Groups جهت replication و HA در sql server ماکروسافت در لینوکس انجام بدم . و روی ویژگی ها و مزایا اون برای سازمان ها صحبت کنم .

البته قبل از اون وبینار 'زندگی : پس از VMware داریم که قراره برگزار کنیم .

فقط این روز ها بسیار busy هستم احتمالا زمان بندی ها کمی شیفت پیدا کنه بین ماه ها .


#webinar #yashar_esmaildokht #db #dba #linux #microsoft #sql #sqlserver #ha #alwayson #replication #replica #ft #database #technology



https://t.me/unixmens
👏3🔥1
ا -Partition Tolerance و Availability: MaxScale معمولاًتحمل پارتیشن‌بندی ودسترسی‌پذیری بالایی را فراهم می‌کند، اما همچنان در مواقع خاص، ممکن است داده‌ها بین گره‌ها ناسازگار باشند (به ویژه در سیستم‌های توزیع‌شده).

2.Spider Storage Engine (MySQL/MariaDB)

ا Spider Storage Engine یک موتور ذخیره‌سازی توزیع‌شده است که برایMySQL وMariaDB استفاده می‌شود و به سیستم‌ها این امکان را می‌دهد که داده‌ها را در چندین سرور یا گره توزیع کنند. این موتور برای دستیابی به مقیاس‌پذیری افقی وتوزیع بار طراحی شده است.

#ویژگی‌ها:

ا -Sharding (پارتیشن‌بندی داده‌ها): داده‌ها در چندین سرور توزیع می‌شوند که باعث افزایش دسترسی‌پذیری (Availability) ومقیاس‌پذیری (Scalability) می‌شود. Sharding همچنین به کاهش فشار بر سرورهای منفرد کمک می‌کند.

ا -Distributed Transactions (تراکنش‌های توزیع‌شده): یکی از مزایای کلیدی Spider این است که از تراکنش‌های توزیع‌شده پشتیبانی می‌کند. این به سیستم کمک می‌کند تایکپارچگی (Consistency) داده‌ها را در چندین گره بهبود بخشد، اما تراکنش‌های توزیع‌شده به دلیل پیچیدگی می‌توانند کند باشند و در صورت قطعی شبکه،دسترسی‌پذیری (Availability) را کاهش دهند.

ا -Replication (تکرار داده‌ها): Spider می‌تواند داده‌ها را بین چندین سرور همگام‌سازی کند که باعث افزایشAvailability می‌شود. این فرایند معمولاً به صورت ناهمزمان انجام می‌شود، به این معنی که ممکن است در یک زمان خاص داده‌ها بین سرورها به‌روز نباشند، که این مسئله بهeventual consistency منجر می‌شود.

#چالش‌ها در رابطه با CAP:

ا -Consistency: در سیستم‌های توزیع‌شده با تراکنش‌های توزیع‌شده، ممکن است عملیات‌های نوشتن کندتر از حد معمول انجام شوند، به ویژه اگر ارتباط بین گره‌ها دچار مشکل شود. به همین دلیل، ممکن است موقتی ناهماهنگی در داده‌ها رخ دهد.

ا -Partition Tolerance: Spider می‌تواند به شکلی مؤثر با خرابی‌های شبکه کنار بیاید و با تکیه بر تحمل پارتیشن‌بندی، همچنان سرویس‌دهی را ادامه دهد. با این حال، در شرایط بحرانی، انتخاب بین دسترسی‌پذیری یا یکپارچگی مطرح می‌شود.

ا-Availability: Spider معمولاً در محیط‌های توزیع‌شده دسترسی بالایی دارد، اما اگر تراکنش‌های توزیع‌شده زیادی وجود داشته باشد یا پارتیشن‌بندی زیادی رخ دهد، ممکن است سیستم نتواند به طور همزمان هر دو ویژگی Consistency و Availability را ارائه دهد.

چالش‌ها و فرصت‌ها:

سیستم‌های توزیع‌شده مانند MaxScale و Spider Storage Engine در تلاش هستند تا تعادلی بین سه ویژگی اصلی CAP theorem برقرار کنند، اما هنوز چالش‌های خاصی وجود دارد که باید در طراحی سیستم‌ها مورد توجه قرار گیرد:

ا1.Latency (تأخیر): در این سیستم‌ها، به دلیل توزیع داده‌ها و تراکنش‌های توزیع‌شده، تأخیر افزایش می‌یابد. این موضوع در مواقعی که نیاز به هماهنگی بین گره‌ها باشد، بیشتر مشهود است.

ا2.Complexity (پیچیدگی): مدیریت سیستم‌های توزیع‌شده، مخصوصاً با وجود شاردینگ و تراکنش‌های توزیع‌شده، پیچیده‌تر می‌شود. این سیستم‌ها نیاز به تنظیمات دقیق دارند تا بهترین کارایی را ارائه دهند.

ا 3.Trade-offs (مصالحه‌ها): همان‌طور که CAP theorem نشان می‌دهد، هیچ سیستمی نمی‌تواند به طور کامل هر سه ویژگی Consistency، Availability و Partition Tolerance را داشته باشد. سیستم‌های مانند MaxScale و Spider از مدل‌هایی استفاده می‌کنند که یکپارچگی نهایی (eventual consistency) را ترجیح می‌دهند، تا دسترسی و تحمل پارتیشن را بهبود بخشند.

نتیجه‌گیری:
سیستم‌هایی مانندMaxScale وSpider Storage Engine با ابزارها و تکنیک‌های پیچیده، تا حدودی محدودیت‌های CAP را به چالش می‌کشند و راهکارهایی برای مدیریت بهتر تعادل بینConsistency،Availability وPartition Tolerance ارائه می‌دهند. اما همچنان، در شرایط بحرانی، باید بین این ویژگی‌ها مصالحه کرد و بسته به نیازهای خاص برنامه و معماری سیستم، یک یا دو مورد از آن‌ها را اولویت داد.




ما آماده پیاده سازی این راهکار ها برای سازمان های شما هستیم . کافی است با ما تماس حاصل فرمایید .
جهت وقت مشاوره با پشتیبانی مکاتبه نمایید .

#db #dba #linux #cap #consistency #Availability #Partition #database


https://t.me/unixmens
👍1
مدل‌های یادگیری عمیق اغلب داده‌ها را به بردارهایی با تعداد ابعاد بالا تبدیل می‌کنند. پایگاه‌های داده برداری به صورت کارآمد این بردارها را مدیریت می‌کنند.
تسریع در عملیات inference: هنگام استفاده از مدل‌های هوش مصنوعی، به جای پردازش مجدد داده‌ها برای هر درخواست، می‌توان بردارهای آماده را ذخیره و جستجو کرد که سرعت عملیات inference (استنتاج) را افزایش می‌دهد.

این امکان به توسعه‌دهندگان کمک می‌کند تا بتوانند به سادگی سیستم‌های توصیه‌گر، تحلیل‌های معنایی و سایر کاربردهای هوش مصنوعی را روی داده‌های بزرگ مقیاس پیاده‌سازی کنند.


بهینه‌سازی ذخیره‌سازی و پردازش

پایگاه‌های داده برداری معمولاً از تکنیک‌های خاصی برای بهینه‌سازی فضای ذخیره‌سازی و زمان پردازش استفاده می‌کنند:

ا HNSW (Hierarchical Navigable Small World graphs): این الگوریتم یکی از الگوریتم‌های محبوب برای جستجوی سریع مشابهت برداری در فضاهای چند بعدی است. MariaDB Vector ممکن است از این یا سایر تکنیک‌های مشابه برای تسریع جستجوها استفاده کند.
کاهش ابعاد: برای کار با بردارهایی که دارای ابعاد بسیار زیادی هستند، تکنیک‌هایی مانند Principal Component Analysis (PCA) یا t-SNE برای کاهش ابعاد بردارها و افزایش کارایی مورد استفاده قرار می‌گیرند.

امنیت و مدیریت داده‌ها

یکی از مزایای MariaDB Vector این است که با امکانات مدیریت داده‌های ساختاریافته در MariaDB یکپارچه شده است. این به معنای آن است که شما می‌توانید از امکانات امنیتی، مدیریت دسترسی، نسخه‌برداری و ریکاوری در MariaDB استفاده کنید و در عین حال داده‌های برداری را نیز مدیریت کنید.

این امکان برای کسب‌وکارهایی که نیاز به محافظت از داده‌های حساس دارند یا نیازمند رعایت استانداردهای امنیتی هستند، بسیار ارزشمند است.

موارد استفاده از پایگاه‌های داده برداری و محصولاتی مانند MariaDB Vector در صنعت بسیار گسترده است:

موتورهای جستجوی تخصصی: برای جستجوی سریع داده‌های غیرساختاریافته مانند اسناد متنی طولانی، تصاویر، و ویدئوها.
توسعه برنامه‌های مبتنی بر هوش مصنوعی: مانند شناسایی چهره، تحلیل احساسات، پردازش زبان طبیعی، و سیستم‌های توصیه‌گر.
تجزیه و تحلیل داده‌های IoT: دستگاه‌های IoT معمولاً داده‌های غیرساختاریافته تولید می‌کنند که نیاز به تحلیل سریع و موثر دارند. پایگاه‌های داده برداری می‌توانند این تحلیل را تسهیل کنند.

در مجموع، MariaDB Vector راه‌حلی برای نیازهای مدرن به جستجوی داده‌های غیرساختاریافته و پشتیبانی از برنامه‌های هوش مصنوعی است.

در حقیقت MariaDB Vector در پاسخ به نیاز به یکپارچگی و کارایی بالاتر در مدیریت داده‌های غیرساختاریافته و پشتیبانی از هوش مصنوعی بوجود آمد. در گذشته، پایگاه‌های داده سنتی مانند MySQL یا MariaDB عمدتاً برای داده‌های ساختاریافته طراحی شده بودند، و امکان مدیریت و جستجوی داده‌های برداری به صورت بومی نداشتند. اما با رشد نیاز به پردازش داده‌های پیچیده در حوزه‌هایی مانند یادگیری ماشین، هوش مصنوعی، و تحلیل داده‌های بزرگ، نیاز به محصولاتی مانند MariaDB Vector حس شد که توانایی ذخیره، جستجو و پردازش داده‌های برداری را به همراه داشته باشند.

#database #db #vector #bigdata #mariadb #ai #linux

https://t.me/unixmens
👍2
مدل‌های یادگیری عمیق اغلب داده‌ها را به بردارهایی با تعداد ابعاد بالا تبدیل می‌کنند. پایگاه‌های داده برداری به صورت کارآمد این بردارها را مدیریت می‌کنند.
تسریع در عملیات inference: هنگام استفاده از مدل‌های هوش مصنوعی، به جای پردازش مجدد داده‌ها برای هر درخواست، می‌توان بردارهای آماده را ذخیره و جستجو کرد که سرعت عملیات inference (استنتاج) را افزایش می‌دهد.

این امکان به توسعه‌دهندگان کمک می‌کند تا بتوانند به سادگی سیستم‌های توصیه‌گر، تحلیل‌های معنایی و سایر کاربردهای هوش مصنوعی را روی داده‌های بزرگ مقیاس پیاده‌سازی کنند.


بهینه‌سازی ذخیره‌سازی و پردازش

پایگاه‌های داده برداری معمولاً از تکنیک‌های خاصی برای بهینه‌سازی فضای ذخیره‌سازی و زمان پردازش استفاده می‌کنند:

ا HNSW (Hierarchical Navigable Small World graphs): این الگوریتم یکی از الگوریتم‌های محبوب برای جستجوی سریع مشابهت برداری در فضاهای چند بعدی است. MariaDB Vector ممکن است از این یا سایر تکنیک‌های مشابه برای تسریع جستجوها استفاده کند.
کاهش ابعاد: برای کار با بردارهایی که دارای ابعاد بسیار زیادی هستند، تکنیک‌هایی مانند Principal Component Analysis (PCA) یا t-SNE برای کاهش ابعاد بردارها و افزایش کارایی مورد استفاده قرار می‌گیرند.

امنیت و مدیریت داده‌ها

یکی از مزایای MariaDB Vector این است که با امکانات مدیریت داده‌های ساختاریافته در MariaDB یکپارچه شده است. این به معنای آن است که شما می‌توانید از امکانات امنیتی، مدیریت دسترسی، نسخه‌برداری و ریکاوری در MariaDB استفاده کنید و در عین حال داده‌های برداری را نیز مدیریت کنید.

این امکان برای کسب‌وکارهایی که نیاز به محافظت از داده‌های حساس دارند یا نیازمند رعایت استانداردهای امنیتی هستند، بسیار ارزشمند است.

موارد استفاده از پایگاه‌های داده برداری و محصولاتی مانند MariaDB Vector در صنعت بسیار گسترده است:

موتورهای جستجوی تخصصی: برای جستجوی سریع داده‌های غیرساختاریافته مانند اسناد متنی طولانی، تصاویر، و ویدئوها.
توسعه برنامه‌های مبتنی بر هوش مصنوعی: مانند شناسایی چهره، تحلیل احساسات، پردازش زبان طبیعی، و سیستم‌های توصیه‌گر.
تجزیه و تحلیل داده‌های IoT: دستگاه‌های IoT معمولاً داده‌های غیرساختاریافته تولید می‌کنند که نیاز به تحلیل سریع و موثر دارند. پایگاه‌های داده برداری می‌توانند این تحلیل را تسهیل کنند.

در مجموع، MariaDB Vector راه‌حلی برای نیازهای مدرن به جستجوی داده‌های غیرساختاریافته و پشتیبانی از برنامه‌های هوش مصنوعی است.

در حقیقت MariaDB Vector در پاسخ به نیاز به یکپارچگی و کارایی بالاتر در مدیریت داده‌های غیرساختاریافته و پشتیبانی از هوش مصنوعی بوجود آمد. در گذشته، پایگاه‌های داده سنتی مانند MySQL یا MariaDB عمدتاً برای داده‌های ساختاریافته طراحی شده بودند، و امکان مدیریت و جستجوی داده‌های برداری به صورت بومی نداشتند. اما با رشد نیاز به پردازش داده‌های پیچیده در حوزه‌هایی مانند یادگیری ماشین، هوش مصنوعی، و تحلیل داده‌های بزرگ، نیاز به محصولاتی مانند MariaDB Vector حس شد که توانایی ذخیره، جستجو و پردازش داده‌های برداری را به همراه داشته باشند.

#database #db #vector #bigdata #mariadb #ai #linux

https://t.me/unixmens
staging.pdf
255.4 KB
مقاله ای که در مورد staging نوشتم . تقدیم دوستان

نویسنده : یاشار اسمعیل دخت

#database #stage #staging #oracle #dba #mariadb #mysql #article

#yashar_esmaildokht


https://t.me/unixmens
👍4
CREATE INDEX index_name ON table_name(column_name)
LOCAL (PARTITION partition_name1, PARTITION partition_name2, ...);
مثال:

CREATE INDEX emp_partition_idx ON employees(employee_id)
LOCAL (PARTITION part1, PARTITION part2);


نکات مهم:
- استفاده از ایندکس‌ها نیازمند درک کامل از نیازمندی‌های کوئری‌ها و ساختار داده‌ها است.
- ایندکس‌ها باعث بهبود سرعت خواندن داده‌ها می‌شوند اما ممکن است سرعت عملیات درج، به‌روزرسانی و حذف را کاهش دهند.
- برای مدیریت ایندکس‌ها، می‌توانید از دستورات DROP INDEX برای حذف ایندکس‌ها استفاده کنید:

DROP INDEX index_name;
```

با توجه به نیازهای خاص برنامه و داده‌های شما، می‌توانید از انواع مختلف ایندکس‌ها برای بهینه‌سازی عملکرد دیتابیس استفاده کنید.

در آینده در مورد آنها بیشتر خواهم نوشت .

#index #oracle #db #database

https://t.me/unixmens
Database DevOps and Platform Engineering are two distinct but interconnected fields within the broader realm of software development and IT operations. Here’s an overview of each:

Database DevOps

Definition:
Database DevOps is the practice of applying DevOps principles to database management and operations. It emphasizes collaboration between development and operations teams to improve the deployment, management, and monitoring of databases.

Key Concepts:

1. Continuous Integration/Continuous Deployment (CI/CD): Implementing automated pipelines for database changes, allowing for rapid and reliable updates to database schemas and data.

2. Version Control: Using version control systems (like Git) for database scripts, migrations, and configuration files to track changes and facilitate collaboration.

3. Automated Testing: Creating automated tests for database changes to ensure that new code does not introduce errors or regressions.

4. Infrastructure as Code (IaC): Managing database infrastructure through code, enabling reproducibility and consistency across environments.

5. Monitoring and Performance Tuning: Continuously monitoring database performance and making adjustments as necessary to optimize efficiency.

Benefits:

• Faster delivery of database changes.

• Improved collaboration between developers and DBAs (Database Administrators).

• Reduced risk of errors in production environments.

• Enhanced scalability and performance of database systems.

Platform Engineering

Definition:
Platform Engineering focuses on designing and building the underlying systems and infrastructure that support software development and deployment. It aims to create a self-service platform for developers, enabling them to deploy applications efficiently without needing deep knowledge of the underlying infrastructure.

Key Concepts:

1. Cloud Infrastructure Management: Utilizing cloud services (e.g., AWS, Azure, Google Cloud) to provision and manage computing resources.

2. Containerization and Orchestration: Using technologies like Docker and Kubernetes to package applications and manage their deployment at scale.

3. Service Mesh: Implementing frameworks that manage service-to-service communications in microservices architectures.

4. Developer Experience (DevEx): Focusing on creating tools, processes, and environments that enhance the productivity of development teams.

5. Observability: Implementing logging, monitoring, and tracing to gain insights into application performance and troubleshoot issues effectively.

Benefits:

• Streamlined development processes.

• Improved resource utilization and cost management.

• Enhanced security through standardized practices.

• Faster onboarding of new developers by providing self-service tools.

Intersection of Database DevOps and Platform Engineering

Both Database DevOps and Platform Engineering aim to improve the efficiency, reliability, and scalability of software delivery. They often work closely together, as databases are a critical component of most applications. By integrating database management practices into platform engineering efforts, organizations can create a robust environment that supports seamless application development, deployment, and maintenance.

Conclusion

In summary, Database DevOps focuses specifically on the practices surrounding database management within the context of DevOps, while Platform Engineering encompasses a broader scope of building and maintaining the infrastructure that supports software development and operations. Both fields are essential in modern software development practices, particularly in organizations adopting cloud-native architectures and microservices.


#devops #database #platform

https://t.me/unixmens
This media is not supported in your browser
VIEW IN TELEGRAM
Selecting the right database is crucial for building robust workflows tailored to your needs. Databases are the backbone of efficient data storage, retrieval, and management.

Different database types serve unique purposes:

Spatial Databases: Ideal for geospatial data.

Time-Series Databases: Perfect for monitoring and analytics.

Vector, Graph, Document, and Relational Databases: Each offers specialized capabilities for diverse workflows.

For scalability and speed in high-demand environments, consider:

NoSQL Databases

Columnar Databases

In-Memory Databases

Additionally, Object-Oriented Databases provide flexibility for managing complex data structures.

Choose wisely to ensure seamless integration and enhance the precision of your workflows.


#database #devops #dba


https://t.me/unixmens
Academy and Foundation unixmens | Your skills, Your future
AVDF20_technical_paper+Nov+2024+V2.pdf
Oracle Audit Vault and Database Firewall (AVDF) is a comprehensive security solution designed to protect sensitive data in Oracle databases and other database environments. It combines auditing, monitoring, and protection capabilities to help organizations secure their databases against unauthorized access and potential threats.

Key Features of Oracle Audit Vault and Database Firewall:

1. Database Auditing:

Comprehensive Auditing: AVDF collects and consolidates audit data from various databases, including Oracle and non-Oracle databases, providing a centralized view of database activity.

Policy-Based Auditing: Organizations can define specific auditing policies to monitor critical actions, such as changes to sensitive data or unauthorized access attempts.

2. Real-Time Monitoring:

Database Firewall: The solution includes a firewall that monitors and filters database traffic in real-time, blocking unauthorized access attempts and SQL injection attacks.

Alerts and Notifications: Security teams can receive alerts for suspicious activities, allowing for prompt investigation and response.

3. Threat Detection:

Anomaly Detection: AVDF uses machine learning algorithms to detect unusual patterns of database activity that may indicate potential security threats.

Predefined Rules: The system comes with a set of predefined security rules that help identify common attack vectors.

4. Compliance Reporting:

Regulatory Compliance: AVDF assists organizations in meeting compliance requirements for regulations such as GDPR, HIPAA, PCI-DSS, and others by providing detailed audit logs and reports.

Custom Reporting: Users can generate custom reports based on specific criteria to support compliance audits.

5. Data Protection:

Sensitive Data Discovery: AVDF helps identify and classify sensitive data within databases, enabling organizations to apply appropriate security measures.

Data Masking: The solution can mask sensitive data in non-production environments to protect it from unauthorized access during testing or development.

6. Centralized Management:

Single Interface: AVDF provides a single management console for monitoring and managing security across multiple databases, simplifying administration tasks.

Integration with Existing Security Tools: The solution can integrate with other security products and SIEM (Security Information and Event Management) systems for enhanced visibility.

Use Cases:

Regulatory Compliance: Organizations in regulated industries can use AVDF to ensure they meet compliance requirements related to data security and auditing.

Data Security Posture Improvement: By implementing AVDF, organizations can strengthen their overall data security posture and reduce the risk of data breaches.

Incident Response: Security teams can leverage the real-time monitoring capabilities to quickly respond to potential threats and mitigate risks.

In summary, Oracle Audit Vault and Database Firewall provides organizations with a robust framework for securing their database environments through comprehensive auditing, real-time monitoring, threat detection, and compliance reporting. It is particularly valuable for businesses that handle sensitive data and need to adhere to strict regulatory requirements.



#oracle #database #devops #dba #linux #mysql #sqlserver #system

https://t.me/unixmens
Academy and Foundation unixmens | Your skills, Your future
mariadb api.pdf
مقاله mariadb / oracle mysql api

نویسنده : مهندس یاشار اسمعیل دخت


نسخه : 0.1


MariaDB Connect Engine is a feature of MariaDB that allows users to connect to external data sources and treat them as if they were regular tables in a MariaDB database. This capability is particularly useful for integrating data from various sources without the need to import it into the database. Here are some key points about the MariaDB Connect Engine:

Data Sources: The Connect Engine can connect to a variety of data sources, including other databases (like MySQL, PostgreSQL, and Oracle), NoSQL databases, flat files (CSV, JSON, etc.), and even web services.

Virtual Tables: When you connect to an external data source, the Connect Engine creates virtual tables that represent the data in those sources. You can then perform SQL queries on these virtual tables just like you would with regular tables in MariaDB.

Data Federation: This feature allows for data federation, meaning you can query and join data from multiple sources in a single SQL statement. This is particularly useful for reporting and analytics where data is spread across different systems.

Configuration: To use the Connect Engine, you need to configure it properly by defining the connection parameters and the structure of the external data. This is typically done using SQL commands to create a table that specifies the connection details.

Performance: While the Connect Engine provides flexibility, performance can vary depending on the external data source and the complexity of the queries. It's important to consider the performance implications when designing your data architecture.

Use Cases: Common use cases for the Connect Engine include data integration, reporting, and analytics, where organizations need to access and analyze data from multiple disparate sources without duplicating data.

Installation: The Connect Engine is not enabled by default in all MariaDB installations, so you may need to install it separately or enable it in your MariaDB configuration.

Overall, the MariaDB Connect Engine is a powerful tool for organizations looking to integrate and analyze data from various sources seamlessly.


#mariadb #engine #mysql #oracle #dba #devops #database #yashar_esmaildokht

https://t.me/unixmens
آگهی استخدام: کارشناس تحلیل داده و BI




نیازمندی‌ها:

• آشنایی با تحلیل داده و داده‌کاوی

• تسلط بر نوشتن کوئری (SQL)

• آشنایی با مفاهیم تحلیل داده و ایجاد انبار داده

موارد امتیازآور:

• آشنایی با ابزارهای Oracle

• تجربه کار با Oracle Analytics

• آشنایی با OBIEE و Oracle BI Administration

• آشنایی با پایگاه داده Oracle DB

• آشنایی با ابزار ODI

مدرک تحصیلی:
فارغ‌التحصیلان رشته‌های مهندسی کامپیوتر و صنایع

چرا به ما بپیوندید؟
ما به شما فرصتی برای کار در یک محیط پویا و چالش‌برانگیز ارائه می‌دهیم که در آن می‌توانید به توسعه مهارت‌ها و دانش خود بپردازید. همکاری با مشتریان بزرگ کشور و پروژه‌های استراتژیک، تجربه‌های ارزشمندی را برای شما به ارمغان خواهد آورد.


معرفی شرکت:
شرکت داده پردازی ایران با بیش از 60 سال سابقه در صنعت فناوری اطلاعات کشور، به عنوان یکی از پیشگامان این حوزه شناخته می‌شود. ما به دنبال جذب نیروهای حرفه‌ای و متخصص هستیم که با اخلاق حرفه‌ای، مسئولیت‌پذیری، نوآوری و خلاقیت خود، به تیم ما ملحق شوند. در این شرکت، ما به افراد کمک می‌کنیم تا مهارت‌ها و دانش خود را افزایش دهند و محیطی حرفه‌ای و امن را برای رشد و توسعه شغلی فراهم می‌کنیم.

حوزه فعالیت شرکت:

• مشاوره و ارائه راهکارهای نوین بانکی

• طراحی، پیاده‌سازی و پشتیبانی نرم‌افزارهای کاربردی شامل: Core Banking، Switch، Billing، ERP، Office Automation، Internet Bank، Mobile Bank و Channel Manager

• مشاوره و نظارت بر پروژه‌های صنایع استراتژیک کشور از جمله بانکداری نوین، خدمات بیمه، گمرک و تجارت الکترونیک و ...

• طراحی و راه‌اندازی سیستم‌های یکپارچه مشترکین

عزیزان می‌توانند رزومه خود را به این آیدی ارسال نمایند

#BI #DataScience #SQL #Database #Oracle #Linux #hiring #hire

@unixmens
معنایی که من باهاش در گیر هستم Database DevOps هست . در واقع این مفهوم یک رویکرد ترکیبی است که به توسعه و عملیات (DevOps) در زمینه پایگاه‌های داده می‌پردازد. این رویکرد هدفش بهبود همکاری بین تیم‌های توسعه‌دهنده نرم‌افزار و تیم‌های عملیاتی است تا بتوانند به سرعت و با کیفیت بیشتری پایگاه‌های داده را مدیریت، توسعه و استقرار کنند.
که بیشتر سازمان ها باهاش درگیر هستند . و بکر مونده .

در این زمینه تجربیات ارزشمندی بدست آورده ام که مرور در مورد آن خواهم نوشت .
کمی عمیق تر اگر نگاه کنیم به مفهوم cap و طراحی سیستم میرسیم .


مدل CAP (Consistency, Availability, Partition Tolerance) یک نظریه در سیستم‌های توزیع‌شده است که سه ویژگی کلیدی را تعریف می‌کند:

1. Consistency (یکنواختی): همه نودها در یک سیستم توزیع‌شده باید در هر زمان یک نسخه یکسان از داده‌ها را داشته باشند. به عبارت دیگر، پس از نوشتن یک داده، همه نودها باید آن داده را ببینند.

2. Availability (دسترس‌پذیری): هر درخواست به سیستم باید پاسخ دهد، حتی اگر برخی از نودها در دسترس نباشند. این بدان معناست که سیستم باید همیشه آماده ارائه خدمات باشد.

3. Partition Tolerance (تحمل تقسیم): سیستم باید بتواند به کار خود ادامه دهد حتی اگر شبکه به دو یا چند قسمت تقسیم شود. به عبارت دیگر، سیستم باید قادر باشد به کار خود ادامه دهد حتی اگر ارتباط بین نودها قطع شود.

طبق نظریه CAP، در یک سیستم توزیع‌شده نمی‌توان همزمان به هر سه ویژگی دست یافت. بنابراین، طراحان سیستم باید تصمیم بگیرند که کدام دو ویژگی را در اولویت قرار دهند و کدام یک را فدای دیگری کنند.
اما روش های را هم داریم که ترکیبی از این مفاهیم هست و پاسخی به این مسئله هست .


از یاد نبریم در طراحی سیستم (System Design) برای پایگاه‌های داده، چندین عامل مهم وجود دارد:

1. معماری: انتخاب معماری مناسب (مانند میکروسرویس‌ها یا معماری مونو لیتیک) بر اساس نیازهای پروژه.

2. مدل داده: طراحی مدل داده‌ای که شامل جداول، روابط، ایندکس‌ها و غیره باشد.

3. مقیاس‌پذیری: توانایی سیستم برای مقیاس‌پذیری افقی یا عمودی بر اساس بار کاری.

4. دسترس‌پذیری و بازیابی: برنامه‌ریزی برای دسترس‌پذیری بالا و روش‌های بازیابی اطلاعات در صورت بروز خرابی.

5. امنیت: پیاده‌سازی تدابیر امنیتی برای محافظت از داده‌ها.

نقش Database DevOps شامل موارد زیر است:

1. خودکارسازی: استفاده از ابزارهای خودکارسازی برای استقرار و مدیریت پایگاه‌های داده، که می‌تواند شامل نسخه‌گذاری، تست و استقرار باشد.

2. همکاری: بهبود همکاری بین تیم‌های توسعه‌دهنده و عملیاتی برای تسهیل فرآیندهای توسعه و استقرار.

3. مدیریت تغییرات: استفاده از روش‌های مدیریت تغییرات برای اطمینان از اینکه تغییرات در پایگاه داده به طور کنترل‌شده و مستند انجام می‌شود.

4. نظارت و تجزیه و تحلیل: نظارت بر عملکرد پایگاه‌های داده و تجزیه و تحلیل مشکلات به منظور بهبود مستمر.

5. آزمایش: ایجاد تست‌های خودکار برای اطمینان از اینکه تغییرات در پایگاه داده باعث بروز خطا نمیشود

در واقع Database DevOps به سازمان‌ها کمک میکند تا به سرعت و با کیفیت بالاتر به نیازهای بازار پاسخ دهند و همچنین هزینه‌های مرتبط با مدیریت پایگاه‌های داده را کاهش دهند.


#devops #database
https://t.me/unixmens
Myth: Switching from one proprietary #database to another is a sticky situation.

Fact: #MariaDB makes it easier than ever to save up to 90% of proprietary database costs with:  
🤝 Open source Oracle and SQL Server compatibility
📈 Advanced features typically found in expensive proprietary systems such as system versioned tables, and workload capture & replay
🔐 Built-in enterprise-grade security 
🏋️ Best-in-class service and support

Have your cake and eat it, too, with #MariaDB Enterprise Platform. 🍰
https://t.me/unixmens
مفهوم Time Series چیه؟

داده‌های سری زمانی، داده‌هایی هستن که به ترتیب زمان ثبت می‌شن؛ مثلاً داده‌های سنسورها، لاگ سیستم‌ها، یا حتی قیمت ارز توی بازار. نکته‌ی کلیدی اینه که زمان، محور اصلی تحلیله.
چالش‌های این نوع داده‌ها:

نرخ بالای ورود داده (High Ingestion Rate)

تحلیل لحظه‌ای (Real-time Analytics)

کاردینالیتی بالا؛ یعنی میلیون‌ها سنسور یا دستگاه یکتا

نیاز به توابع خاص مثل average، sampling، downsampling، backfill و غیره

تکنولوژی‌هایی که مطرحن:
۱. InfluxDB

یکی از معروف‌ترین‌ها، خیلی راحت راه می‌افته ولی تو کاردینالیتی بالا و ورودی خیلی زیاد کم میاره.
۲. TimescaleDB

بر پایه PostgreSQL، اگه تیم‌ آشنا با SQL باشه عالیه. اما مقیاس‌پذیری افقی محدوده.
۳. QuestDB

سریع و جمع‌وجوره، برای پروژه‌های سبک تا متوسط خیلی خوبه.
۴. ClickHouse

اگه تحلیل پیچیده و سریع real-time بخوایم، این عالیه. بیشتر به درد data analytics می‌خوره.
۵. HoraeDB

جدید و خیلی پیشرفته‌ست، برای داده‌های سری زمانی با کاردینالیتی بالا طراحی شده. با Rust نوشته شده، cloud-native و zero-disk هم هست، یعنی بخش ذخیره‌سازی و محاسبات جداست. هنوز نوپاست ولی آینده‌داره.
۶. ScyllaDB / Cassandra

برای write-heavy عالی‌ان. اگر مدل داده رو خوب طراحی کنیم، می‌تونه حجم بسیار بالای داده رو سریع ذخیره کنه.

مثال در DevOps Metrics :

۱. average (میانگین)
کاربرد:

محاسبه‌ی میانگین زمان پاسخ (Average Response Time)

محاسبه‌ی میانگین زمان استقرار (Average Deployment Time)

تحلیل Load average روی سرورها

مثال:

فرض کن Prometheus از endpoint اپلیکیشن، latency را برمی‌دارد:

avg_over_time(http_request_duration_seconds[5m])

میانگین زمان پاسخ‌گویی در ۵ دقیقه‌ی گذشته را محاسبه می‌کند.
📉 ۲. sampling (نمونه‌برداری)
کاربرد:

کاهش داده‌های ذخیره‌شده در زمان طولانی

بررسی نمای کلی بدون بار زیاد روی سیستم

ایجاد alertها بدون چک کردن ۱۰۰٪ داده‌ها

مثال:

در ابزارهای مانیتورینگ مثل Datadog یا NewRelic، به‌جای بررسی تمام ترافیک، تنها 10٪ نمونه‌برداری می‌شود:

Sampling rate = 0.1 (10% of total traffic)

⬇️ ۳. downsampling (کاهش نرخ داده‌های زمانی)
کاربرد:

نمایش داشبوردهای گرافانا با سرعت بالا

نگهداری long-term metrics (مثلاً ۱ سال اخیر، فقط داده ساعتی)

کاهش بار حافظه/دیسک برای داده‌های time-series

مثال با Prometheus:

avg_over_time(cpu_usage[1h])

داده‌های دقیقه‌ای CPU را به داده‌های ساعتی تبدیل می‌کند (میانگین هر ساعت).

در Grafana هم می‌تونیم تنظیم کنیم که هر بار فقط 1 نقطه در هر 5 دقیقه نمایش داده بشه، نه همه‌ی 1000 داده‌ی خام.

🧩 ۴. backfill (پر کردن داده‌ی گمشده با مقادیر آینده)
کاربرد:

وقتی سرویس مانیتورینگ قطع شده و بعداً reconnect می‌شود

بازیابی گراف‌ها برای تحلیل گذشته (retroactive metrics)

مثال:

فرض کن alertها با داده‌های ناقص کار نمی‌کنن. پس از reconnect شدن agent مانیتورینگ، سیستم مقدار بعدی رو backward propagate می‌کنه:

If data at 10:00 is missing,
use 10:01 value to fill 10:00 slot (backfill)

در ابزارهایی مثل VictoriaMetrics، InfluxDB و TimescaleDB، backfill یکی از ابزارهای مهم در pre-processing داده‌هاست.
ترکیب کاربردها در سناریوی واقعی

🔧 فرض: داری latency یک microservice رو در Grafana نشون می‌دی و باید alert بذاری که وقتی latency بیش از ۵۰۰ms شد، هشدار بده.

برای اینکه سیستم نترکه از انبوه داده، چه می‌کنی؟

با sampling فقط 10٪ داده رو بررسی می‌کنی

با downsampling گراف رو روی میانگین 1 دقیقه‌ای می‌ذاری

با average داده‌های noisy رو صاف می‌کنی

اگر داده‌ای نبود، backfill یا forward fill می‌کنی که alertها skip نشن


#database #time #series #bigdata #InfluxDB #ScyllaDB #Cassandra #ClickHouse #QuestDB #TimescaleDB #HoraeDB
https://t.me/unixmens
This image is a creative and symbolic representation of the importance of SQL (Structured Query Language) across various tech roles. It’s styled like the Knights of the Round Table, where each character represents a different profession in the tech industry. They all have their swords pointed towards the center, symbolizing SQL as a shared, unifying tool or "power" they all rely on.

Here’s a breakdown of what each character symbolizes:
🔁 Roles Around the Table:

Software Engineer

Data Analyst

BI Analyst (Business Intelligence Analyst)

Database Administrator

Cybersecurity Analyst

Full Stack Developer

AI/ML Engineer

ETL Developer

Cloud Engineer

Data Engineer

Data Scientist

💡 Meaning and Message:

Central Role of SQL: Despite the diversity in roles—from data-centric ones (like Data Analyst, Data Scientist) to infrastructure roles (like Cloud Engineer, Cybersecurity Analyst)—SQL is portrayed as a foundational skill that all of them must wield.

Unity Through Data: The image shows that in today’s data-driven world, SQL is not just for database admins—everyone in tech needs to know it, at least to a basic level.

Visual Metaphor: The round table evokes equality and cooperation, symbolizing how all these roles collaborate with a common language: SQL.

🧠 Deeper Insight:

Symbolic Leadership: The person labeled Software Engineer is placed centrally (like a king), which could imply the pivotal or initiating role of software engineering in tech development, though it’s arguable depending on context.

Shared Knowledge Culture: It’s a humorous but poignant reminder that, like a sword for a knight, SQL is a key tool in the arsenal of nearly every modern tech professional.

#sql #devops #linux #database #data #dba

https://t.me/unixmens