آشنایی با 5 مورد از جدیدترین ویژگی های mySQL

دوشنبه 4 فروردین 1399

آشنایی با جدیدترین ویژگی های mySQL می تواند برای شما بسیار مفید باشد، ما در این مطلب قصد داریم برخی از مهم ترین ویژگی های mySQL را به شما معرفی کنیم.

 آشنایی با 5 مورد از جدیدترین ویژگی های mySQL

اخیرا من مطالعاتی درباره جدیدترین ویژگی های MySQL نسخه 8.0 داشته ام که متوجه شدم در میان این ویژگی های mySQL نکات بسیار جالبی وجود دارد. من با یک شخص درباره ویژگی های MySQL صحبت می کردم و اطلاعات خود را در اختیار او قرار می دادم و متوجه شدم که کم کم این شخص ناراحت شد. دلیل این ناراحتی را از او پرسیدم و او در پاسخ به من گفت که اگر من این ویژگی های MySQL را زودتر می دانستم تقریبا 4 ماه در زمان خود صرفه جویی می کردم.

مقدمه ای درباره ویژگی های MySQL

با انتشار MySQL 8.0 که در ماه آوریل سال 2018 منتشر شد ویژگی های فوق العاده ای به آن اضافه شد که کاربران را جذب خود کرد. با این کار شما به جای این که به مدت 2 یا 3 سال منتظر ویژگی های جدید MySQL بمانید مهندسان MySQL تصمیم گرفتند که خیلی سریع تعداد زیادی از این ویژگی ها را در اختیار کاربران قرار دهند. یکی از مهمترین دلایلی که باعث شد تا این ویژگی های MySQL به وجود بیایند تقاضای بسیار زیادی بود که کاربران نسبت به محبوب ترین پایگاه داده در وب داشتند که این موضوع باعث شد تا مهندسان تصمیم بگیرند تا آن را تکمیل کنند. اما متاسفانه بسیاری از کاربران این پایگاه داده از ویژگی های جدید آن مطلع نیستند و همین موضوع نیز باعث شد تا من تصمیم بگیرم در این مطلب کمی بیشتر درباره این ویژگی ها صحبت کنم و اطلاعاتی را در اختیار شما قرار دهم.

 ویژگی های mySQL

پسوردهای دوگانه از جدیدترین ویژگی های MySQL

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

ALTER USER 'appuser1' @ 'host1.example.com'


IDENTIFIED BY 'password_b'


RETAIN CURRENT PASSWORD;

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

ALTER USER 'appuser1' @ 'host1.example.com'


DISCARD OLD PASSWORD;

علاوه بر این شما می توانید از MySQL Server برای تولید رمز عبورهای رندوم نیز استفاده کنید که می تواند برای حساب های کاربری تا در صورتی که کاربر بعد از چند بار تلاش ناموفق برای وارد شدن به حساب خود داشت حساب او را با استفاده از این رمز عبورها قفل کنید.

 ویژگی های mySQL

اعتبار سنجی اسناد JSON

برای اینکه بتوانید داده های ساختارمند را در دیتابیس خود ذخیره کنید مجبور هستید که ابتدا آنها را با یک فرمت خاص نگهداری کنید که این کار کاری سخت است. پایگاه داده های رابطه ای سنتی دارای راه هایی بودند که شما را مجبور می کردند تا داده هایی از نوع integer را در ستون های مربوط به خود آنها قرار دهید و همینطور دارای راه هایی بودند که اطمینان حاصل می کردند که شما داده ها را در یک بازه مشخص وارد پایگاه داده خود می کنید. با تکیه بر نوع داده ای JSON در MySQL تا همین اواخر راهی وجود نداشت که شما بتوانید دامنه مناسب و دلخواه خود را بر روی کلید-مقدارها قرار دهید. امروزه با استفاده از شمای جیسون که یکی از مهم ترین ویژگی های MySQL نسخه 8.0 به شمار می آید شما می توانید داده های خود را به صورت کاملا تمیز و ساختارمند در پایگاه داده خود ذخیره کنید.

CREATE TABLE testx (


col JSON,


CONSTRAINT myage_inRange


CHECK (JSON_SCHEMA_VALID(’{“TYPE”: “object”,


“properties”: {


“myage”: {


“TYPE” : “NUMBER”,


“minimum”: 28,


“maximum”: 99


}


},“required”: [“myage”]


}’, col) = 1)


);

در ادامه یک مثال را برای شما آورده ایم که نشان می دهد چگونه می توانید داده های نامنظم را در پایگاه داده خود ذخیره کنید:

mysql> INSERT INTO testx VALUES(’{“myage”:27}’);


ERROR 3819 (HY000): CHECK CONSTRAINT ‘myage_inRange’ IS violated.


mysql> INSERT INTO testx VALUES(’{“myage”:97}’);


Query OK, 1 ROW affected (0.02 sec)

بله امروزه بررسی های مربوط به محدودیت ها به صورت کامل در MySQL انجام می شوند که یکی از مهمترین ویژگی های mySQL به شمار می آیند که در گذشته به صورت کامل نادیده گرفته می شدند.

 ویژگی های mySQL

پشتیبانی بهتر از SQL یکی دیگر از ویژگی های MySQL

MySQL 8.0 عبارت عمومی جدول ها(CTES)، Windowing Function ها، جدول های مشتق شده جانبی و پشتیبانی بهتر از عملگرهای مربوط به جدول ها را در اختیار شما قرار می دهد که باعث می شوند تا پایگاه داده شما بسیار قدرتمندتر شود و شما بتوانید بهتر از آن استفاده کنید.

 ویژگی های mySQL

دیکشنری داده ها

بزرگترین تغییری که در MySQL رخ داده است مربوط به دیکشنری جدید داده ها می باشد. اگر شما هم قبلا و در نسخه قبلی از استفاده از under /var/lib/mysql گمراه شده اید و مشکلاتی را با فایل ها و داده های کوچک داشته اید پس باید بدانید که برای کار با ابرداده ها کار سختی را در پیش دارید. یکی از جدیدترین و بهترین ویژگی های MySQL این است که شما می توانید این ابرداده ها را یک دیکشنری داده درون پایگاه داده خود ذخیره کنید. بنابراین با این ویژگی شما می توانید میلیون ها جدول را در یک شِما داشته باشید و به راحتی از آنها استفاده کنید.

 ویژگی های mySQL

Shell جدید MySQL

MySQL shell جدید که با نام Mysqlsh نیز شناخته می شود یک CLI جدید و بسیار قدرتمند می باشد. این شل دارای سه حالت می باشد که این سه حالت شامل SQL، جاوا اسکریپت و پایتون می باشند. بنابراین اگر شما یک کتابخانه دارید که در دو زبان کار می کند می توانید به صورت مستقیم از طریق shell از آن استفاده کنید. علاوه بر این می توانید اسکریپت های خود را برای استفاده در آینده نیز ذخیره کنید.

یک bulk loader موازی نیز وجود دارد که می تواند داده های CSV، TSV و JSON را به سرعت ایمپورت کند که می تواند در ابزارهای داخلی بسیار مفید واقع شود. علاوه بر این یک بررسی کننده upgrade نیز وجود دارد که به شما کمک می کند تا  MySQL 5.7 خود را به نسخه 8.0 به روزرسانی کنید. به عنوان نکته پایانی باید بدانید که یکی از مهم ترین ویژگی های MySQL جدید این است که دارای یک دستورالعمل و راهنما نیز می باشد که می توانید از آن نیز استفاده کنید.

صحبت پایانی

ما در این مطلب سعی کردیم اطلاعات کاملی را درباره ویژگی های MySQL در اختیار شما قرار دهیم و شما را بیشتر با این ویژگی ها آشنا کنیم. امیدواریم مطالعه این مطلب برای شما مفید بوده باشد و اطلاعات مورد نیاز خود را از آن بدست آورده باشید.

برنامه نویسان

نویسنده 3190 مقاله در برنامه نویسان

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

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید