افزودن قابلیت ذخیرهسازی فرمت JSON به MySQL، استفاده از این دیتابیس به اصطلاح Relational (رابطهای) را آسانتر کرده و فاصلهٔ میان سیستم مدیریت دیتابیس محبوب MySQL با دیتابیسهای به اصطلاح NoSQL را کمتر کرده است.
پس از اختراع کامپیوتر و استفادهٔ روزمره از آن، کاربران به دنبال راهی برای انتقال دیتا بین دو کامپیوتر یا بیشتر نیاز داشتند. از آن پس، تعداد زیادی فناوریهای رمزنگاری و استانداردهایی برای مبادلهٔ اطلاعات به وجود آمد که از آن جمله میتوان به ASCII ،EBCIDIC ،SGML ،XML و غیره اشاره کرد که هر کدامشان زمانی در اوج بودهاند اما این در حالی است که در چند سال اخیر، JavaScript Object Notation یا به اختصار JSON، به منظور ذخیرهسازی دیتا از یکسو و همچنین نقل و انتقال دیتا از سوی دیگر در میان دولوپرها از محبوبیت قابلتوجهی برخوردار شده است.
تا پیش از عرضهٔ MySQL نسخهٔ 5.7، میتوانستید دیتایی با فرمت JSON را در فیلدهایی از جنس تِکست ذخیره کنید؛ اما جستجو در استرینگهای حجیم به کار طاقتفرسایی تبدیل میشد و نوشتن رجیکس برای یافتن مقادیر مورد نظر درون رشتهها، به کاری خستهکنندهای مبدل میشد (برای آشنایی بیشتر با مفهوم رجیکس، به دورهٔ آموزش رگیولار اکسپرشن مراجعه نمایید.)
JSON در MySQL
MySQL دیتاتایپی نِیتیو به نام JSON را در نسخهٔ MySQL 5.7 معرفی کرد؛ بنابراین همانند اعداد صحیح، کاراکترها، یا اعداد حقیقی، راهی برای ذخیرهٔ کامل دیتاهایی از جنس JSON داخل ستونی در جدول یک دیتابیس به وجود آمده و این دیتای جیسونی، میتواند حجمی به اندازهٔ یک گیگابایت داشته باشد!
برای این منظور، MySQL اطمینان حاصل کرده که اعتبار دیتای جیسونی قابلقبول است، سپس آن را به فرمت باینری ذخیره کرده که برای جستجو کردن نیز بهینهسازی شده است و به نظر میرسد که افزوده شدن این فیچر، بیش از پیش منجر به محبوبت این سیستم مدیریت دیتابیس گردد. همچنین این قابلیت تعدادی فانکشن از پیش نوشتهشده را به همراه دارد که تَسکهایی همچون استخراج Key-Value از داخل دیتای مد نظر، آپدیت دیتا و غیره را امکانپذیر ساختهاند (مثلاً فانکشن JSON_PRETTY_PRINT خروجی را به صورتی که خواناتر باشد تبدیل میکند.)
به طور کلی، ذخیرهٔ دیتا به شکلی بدون فرمت یکی از ویژگیهای بارز دیتابیسهای NoSQL بوده است؛ حال با ساپورت دیتاتایپ JSON در بسیاری از دیتابیسهای رابطهای مثل Oracle ،SQL server ،Postgresql و به خصوص MySQL، فاصلهٔ میان دیتابیسهای NoSQL و SQL را کمرنگ و کمرنگتر شده است (جهت آشنایی با مفهوم NoSQL میتوانید به مقالهٔ درآمدی بر انواع مختلف دیتابیسهای NoSQL مراجعه نمایید.)
آشنایی با مفهوم Document Store
MySQL Document Store مدت کوتاهی بعد از ساپورت جیسون در مایاسکیوال عرضه شد که این ویژگی برای دولوپرهایی که با SQL آشنایی ندارند ولی میخواهند از دیتابیس استفاده کنند، طراحی شده است. با استفاده از این ابزار، دولوپر اقدام به ایجاد مجموعه دادههای خود میکند و عملیات CRUD (ایجاد، خواندن، بهروزرسانی و حذف) را به صورتی انجام میدهد که در زبانهای برنامهنویسی مورد نظر، نیاز باشد و این در حالی است که دولوپر اصلاً نیازی به آشنایی با کامندهای SQL ندارد که بدین ترتیب، دولوپر میتواند اطلاعات را بدون نیاز به طراحی یا آپدیت جداول دیتابیس، معماری دادهها یا منتظر ماندن برای انجام کارها توسط ادمین دیتابیس ذخیره کرده و مورد استفاده قرار دهد.