حتما شما هم در دنیای برنامهنویسی و پایگاههای دادهها، نام nosql را شنیدهاید. در واقع پایگاه دادههای NoSQL غیر جدولی هستند و ذخیرهی اطلاعات در آنها متفاوت از جداول رابطهای است. این پایگاه دادهها بر اساس مدل داده، طبقهبندی میشوند و عملکرد اصلی آنها، ارائه مکانیزمی برای ذخیره و بازیابی اطلاعات است.
در حقیقت سیستم ذخیرهسازی دادهها در این نوع پایگاهدادهها به جای جدول، از سندها برای ذخیرهسازی اطلاعات استفاده میکند که ساختار مشخصی ندارد. nosql در ساختار داخلی خود از Schema پویا و قابل تغییر” یا “Dynamic Schema” استفاده مینماید که باعث میشود امکان تغییر در ساختار ذخیرهسازی دادهها فراهم و انعطافپذیری بسیاری به دیتابیس در کار با دادههای گوناگون و حجیم ایجاد گردد. از ویژگیهای کلیدی NoSQL میتوان به موارد زیر اشاره کرد:
از انواع پایگاهدادههای مرتبط با فناوری بنیادین nosql میتوان به موارد زیر اشاره کرد که Microsoft SQL Server به این فهرست تعلق ندارد:
برای این که SQL به صورت بخشی از کسب و کار فوق لحاظ گردیده و ضمنا از مزایای noSQL استفاده شود و زیرساخت رابطهای و Relational لایهی Data برنامهنویسی فرمال از میان نرود کافی است از معماری پایگاه دادهی توزیع شده جهت ذخیرهسازی و بازیابی اطلاعات استفاده کرد که الزاما متجانس نیست. پایگاه دادههای توزیع شده اساساً سیستمهای توزیع شدهای به حساب میآیند که در آنها دستگاههای محاسباتی یا عنصرهای پردازشی (Processing Elements | PE) از طریق یک شبکه (مثل اینترنت) با هم ارتباط برقرار میکنند و با هم هماهنگ و همگام میشوند تا قابلیتهای عملکردی بسیاری از اجزا را به عنوان عملکردی واحد و یکتا به کاربر ارائه دهند. به خاطر پایگاه داده توزیع شده است که کاربران فیسبوک میتوانند هر وقت دوست داشته باشند پست ارسال کنند یا پستهای دیگران را بپسندند و به اشتراک بگذارند. دیتابیس فیسبوک و اکثر سرویسهای این چنینی نیز در تعداد زیادی از نقاط جغرافیایی مختلف پراکنده شدهاند تا به کاربران تجربه دسترسی یگانه و مرکزی ارائه دهند.
با فعالسازی گرفتن خروجی json از SQL Server امکان الحاق محصول پایگاهی ماکروسافت به مجموعهی بینهایت وسیع noSQL فراهم میشود. SQL Server 2016 قابلیت جدید برای دریافت داده های یک جدول در قالب JSON را دارد. با توجه به این موضوع که امروزه بسیار از وب سرویس ها با داده های JSON کار می کنند، وجود چنین قابلیتی می تواند بسیاری از Action Method هایی که درون Controller ها تعریف شده و کلاینت ها توسط AJAX به آنها درخواست می دهند را ساده کند. در واقع، Action Method ها می توانند در قالب Wrapper هایی ساده برای کوئری های SQL ایفای نقش کنند.
پشتیبانی از JSON در SQL Server 2016 از کلیدواژه ها و توابعی تشکیل شده است که می توانید از آنها در کوئری ها استفاده کنید. علی رغم روشی که در کار با XML در SQL Server وجود دارد، برای کار با JSON، نوع داده ای خاصی (مثلاً JSON) وجود ندارد. برای استفاده از JSON، کافی است که داده های خود را به در ستون های با نوع داده ای VarChar(Max) ذخیره کنید. نکته ی جالب همین است که در صورت عدم وجود نوع داده ای JSON، قابلیت کوئری گرفتن از داده های JSON وجود دارد.
کد زیر Action Method ی را نشان میدهد که با استفاده از دستورات سادهی ADO.NET که در قالب TSQL یک Command را به سمت سرور فرستاده و دادهها را در قالب JSON دریافت مینمایند. کلمه ی کلیدی FOR JSON AUTO در پایان دستورات باعث می شود که دادهها به صورت JSON برگردانده شوند.
Public Function GetJson() As String
Dim cn As SqlConnection
Dim cmd As SqlCommand
Dim rdr As SqlDataReader
Dim res As String = String.Empty
cn = New SqlConnection("…connection string…")
cmd = cn.CreateCommand()
cmd.CommandText = "Select * " &
" From Customers " &
"FOR JSON AUTO;"
cn.Open()
rdr = cmd.ExecuteReader()
rdr.Read()
res = rdr(0)
cn.Close()
Return res
End Function
صفحهی شخصی<br/>توئیتر