اس کیو ال سرور

در این مقاله به معرفی اس کیو ال سرور (SQL Server) می پردازیم، SQL Server چیست و چه کاربردی دارد. به علاوه استفاده کردن از دیتابیس و یا عدم استفاده از آن را توضیح می دهیم و برخی از بخش های کلیدی که با اس کیو ال سرور کار می کنند را معرفی خواهیم کرد. هم چنین ویرایش های ارائه شده و متوقف شده اس کیو ال سرور توسط مایکروسافت را بررسی می کنیم.

امروزه نحوه نگهداری و استفاده از داده ها سرنوشت کسب و کار ها را تعیین می کند. کسب و کار های مختلف در حوزه های مختلف، در پی تکنولوژی های برتر برای استفاده از داده ها در جهت رشد و ارتقای تجارت خود هستند. مایکروسافت اس کیو ال سرور (Microsoft SQL Server) یکی از فناوری های نوآورانه است که نحوه تعامل کسب و کار ها با داده ها را متحول کرده است. به وسیله آن در هر بازه زمانی، تمام اطلاعات مربوط به تامین کنندگان، کارکنان، مشتریان و … آماده است. این اطلاعات قابل دسترس برای صاحبین کسب و کار، و ایمن از دسترسی غیر مجاز خواهد بود. البته مایکروسافت اس کیو ال نرم افزاری تخصصی است که بهتر است برای راه اندازی و اطمینان از صحت عملکرد آن، از نیروی متخصص بهره بگیرید.

اس کیو ال سرور چیست و چگونه به کسب و کارها کمک می کند؟

SQL Server یک سیستم مدیریت پایگاه داده رابطه ای از مایکروسافت است که هدف اصلی آن ذخیره و مدیریت اطلاعات و داده هاست. این سیستم از عملیات مختلف تجاری، عملیات تحلیل داده و پردازش معاملات پشتیبانی می کند. هر دیتابیس محلی برای ذخیره اطلاعات است اما SQL Server امکان مدیریت آن ها را نیز فراهم می کند. SQL مخفف Structured Query Language است.

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

اس کیو ال سرور محصولی از کمپانی مایکروسافت است که برای ذخیره سازی و مدیریت اطلاعات در نظر گرفته شده است. به شکل دقیق تر، اس کیو ال سرور یک “سیستم مدیریت پایگاه داده‌های رابطه ای” (RDSM) است. می توان این نام را به دو بخش مجزا نقسیم نمود. اول اینکه اطلاعات در پایگاه داده‌های رابطه ای ذخیره می شود و دوم اینکه اس کیو ال سرور یک سیستم مدیریت کامل است و تنها یک دیتابیس نیست. SQL خود به معنای Structured Query Language (زبان ساختارمند کوئری ها) است. اس کیو ال، زبانی برای مدیریت و اداره کردن سرور دیتابیس است.

پایگاه داده‌ رابطه ای (Relational Database)

همان طور که اشاره کردیم، اس کیو ال سرور به دو بخش پایگاه داده‌ رابطه ای و سیستم مدیریت تقسیم می شود و اکنون قصد داریم تا مورد اول را بیشتر توضیح دهیم. تعریف بسیار فنی برای اینکه پایگاه داده‌ رابطه ای چیست وجود دارد. برای جزئیات این تعریف می توان عبارت Edgar Codd را در اینترنت جست و جو کنید (که در ابتدا برای مدل رابطه ای در نظر گرفته شده بود) و یا عبارت relational database tuples را ببینید. می توان گفت که همه دیتابیس یا پایگاه‌های داده، رابطه ای نیست اما بسیاری از محصولات موجود در بازار (از جمله SQL سرور، Oracle، MySQL و MS Access) از نوع دیتابیس رابطه ای هستند. این بدین معنی است که در این نوع دیتابیس ها، اطلاعات در ساختارهایی که Table یا جدول نامیده می شود، ذخیره شده که در ستون ها و ردیف ها طبقه بندی می شود. برخلاف یک صفحه گسترده (spreadsheet)، اطلاعاتی که در یک جدول ذخیره شده اند، طبق یک قاعده خاص نیست. برای توضیح این بخش آخر، ستون هایی در صفحه گسترده را در نظر بگیرید؛ اگر بخواهیم اطلاعات را در ستون اول صفحه گسترده و بر اساس حروف الفبا مرتب کنیم، به سادگی بر روی ستون اول کلیک کرده و سپس بر روی گزینه Sort کلیک می کنیم. ردیف های اطلاعات نظم خود را تغییر می دهند و حالا آنها طبق دلخواه خود ما منظم می شوند. مثال این ویژگی را در دو تصویر زیر مشاهده می کنید:

قبل و بعد مرتب سازی در صفحه گسترده

قبل و بعد مرتب سازی در صفحه گسترده

توجه کنید که اطلاعات جابه جا شده است و عبارت Dave از ردیف سوم به ردیف اول رفته است. اما در یک جدول دیتابیس، چنین اتفاقی رخ نخواهد داد. اطلاعات جابه جا نخواهند شد. اگر یک لیست مرتب شده مانند این در دیتابیس بخواهیم، از دیتابیس درخواست می کنیم که یک کپی از اطلاعات مرتب شده به ما نمایش دهد. این درخواست، کوئری (Query) نام دارد. بنابراین وقتی یک Query را اجرا می کنیم، یک کپی از اطلاعات شخصی سازی شده مشاهده می کنیم، اما اطلاعات اصلی جا به جا نخواهند شد.

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

دیتابیس یک کانتینر منطقی است و برای طبقه بندی اطلاعات مشابه مورد استفاده قرار می گیرد تا سازمان دهی بهتر صورت پذیرد. به علاوه دیتابیس می تواند به عنوان یک مرز امنیتی مورد استفاده قرار گیرد. البته دیتابیس می تواند اپلیکیشن ها را هم از هم جدا کند. به عنوان مثال، تمام اطلاعات مربوط به سیستم مالی در یک دیتابیس جمع آوری شوند و در عین حال، اطلاعات مربوط به بازار در یک دیتابیس دیگر قرار بگیرند. باز هم می گوییم که این از قوانین اس کیو ال سرور نیست اما می توانید تمام مسائل حقوقی خود را در یک دیتابیس جمع آوری کنید. از منظر سازمان دهی، این کار بسیار پیچیده است اما اس کیو ال سرور اجازه انجام آن را می دهد. از سوی دیگر این امکان وجود دارد تا هر گروه از اطلاعات را در یک دیتابیس مجزا قرار داده و صدها و حتی هزاران دیتابیس را در یک اس کیو ال سرور داشته باشید. این سناریو از نظر مدیریتی می تواند یک اشتباه باشد اما به هر حال اس کیو ال سرور اجازه انجام آن را می دهد. یکی از راهکارهای متداول، تعریف نمودن محتوای هر دیتابیس است. اگر اطلاعات به هم مرتبط هستند و یا می توانند امنیت را به گروهی بیاورند، این ایده خوبی است که دیتابیس مربوط به خود را داشته باشند. هر اس کیو ال سرور می تواند بیش از 32000 ذیتابیس مجزا داشته باشد.

وقتی که یک دیتابیس ساخته می شود، دو فایل در هارد درایو شما ایجاد می شود. یکی اطلاعات و موضوعات را نگهداری می کند و در دیگری، تغییرات ایجاد شده در دیتابیس ذخیره خواهد شد. این فایل ها فرمت خاص متعلق به اس کیو ال سرور را دارند و امکان باز کردن آنها در ورد، اکسل، نوت پد و هر اپلیکیشن دیگری وجود ندارد. اندازه هر فایل دیتابیس می تواند از 500,000 ترابایت فراتر برود.

نمونه صفحه گسترده یا Spreadsheet

نمونه صفحه گسترده یا Spreadsheet

مایکروسافت ویرایش های مختلفی از اس کیو ال سرور، با مجموعه ویژگی ها و کاربران هدف متفاوت، ارائه داده است. این ویرایش ها عبارت اند از:

ویرایش های رایج

ویرایش اینترپرایز

ویرایش Enterprise Server SQL، شامل موتور دیتابیس هسته ) core database engine) و سرویس های add-on می باشد و از دسته وسیعی از ابزارها جهت مدیریت و خلق کلاسترهای اس کیو ال سرور استفاده می کند. این ویرایش قادر است دیتابیسی به بزرگی 524 پتا بایت را مدیریت کرده و حافظه ای 12 ترابایتی را آدرس دهی کند، همچنین میتواند از 640 پردازنده منطقی پشتیبانی کند (هسته های CPU).

استاندارد

ویرایش Standard Server SQL، شامل موتور دیتابیس هسته (core database engine) و سرویس های stand-alone می باشد. تفاوت این ویرایش با ویرایش اینترپرایز در این است که ویرایش استاندارد تعداد نود های کمتری را در هر کلاستر پشتیبانی می کند و برخی از توابع با موجودیت بالا ( high-availability functions) نظیر hot-add memory (که به حافظه اجازه افزوده شدن،در زمانی که سرور همچنان مشغول اجراست، را می دهد)، و ایندکس های موازی (parallel indexes) را شامل نمی شود.

وب

ویرایش Web Server SQL، انتخابی با مجموع هزینه های مالکیت پایین برای وب هاستینگ می باشد.

Business Intelligence

این ویرایش در اس کیو ال سرور 2012 معرفی شد و تمرکز آن بر روی Self Service و هوش تجاری جمعی ( Corporate Business Intelligence) است. این ویرایش، شامل توانایی ها و قابلیت های ویرایش استاندارد و ابزارهای هوش تجاری می باشد. این ابزارها عبارت اند از: پاورپوینت، پاور ویو، مدل سمنتیک BI (BI Semantic Model)، سرویس های مستر دیتا ، سرویس های کیفیت داده (Services Data Quality) و xVelocity در روش تحلیل In-memory.

Workgroup

ویرایش Workgroup SQL Server شامل قابلیت های دیتابیس هسته ( core database functionality) است ولی سرویس های دیگر را شامل نمی شود. توجه کنید که این ویرایش در اس کیو ال سرور 2012 متوقف شده است.

Express

ویرایش Express Server SQL، ویرایشی رایگان و کاهش یافته از اس کیو ال سرور بوده که شامل موتور دیتا بیس هسته (core database engine) است. این ویرایش محدودیتی از نظر تعداد دیتا بیس ها و کاربران قابل پشتیبانی ندارد ولی تنها میتواند یک پردازنده، یک حافظه 1 گیگابایتی و 10 گیگابایت فایل دیتا بیس
(4 گیگابایت فایل دیتا بیس مقدم بر اس کیو ال سرور Express 2008 R2) داشته باشد. این ویرایش به عنوان جایگزین MSDE محسوب میشود. دو ویرایش دیگر از ویرایش اکسپرس اولیه وجود دارد که دارای مجموعه ویژگی هایی هستند که در ویرایش اولیه وجود ندارد. اولین ویرایش، ویرایش SQL Server Express with Tools می باشد که شامل SQL Server Management Studio Basic است. ویرایش دیگر SQL Server Express with Advanced Services می باشد که قابلیت جستجوی تمام-متن (full-text search) و سرویس های گزارش دهنده را به نسخه اولیه می افزاید.

ویرایش های ویژه

آژور دیتابیس

Azure SQL Database، ویرایش مبتنی بر ابر مایکروسافت اس کیو ال سرور است که به عنوان یک پلتفرم وسرویس در مایکروسافت آژور ارائه شده است.

آژور

Azure SQL Data Warehouse، ویرایش مبتنی بر ابر مایکروسافت اس کیو ال سرور، در ساختار پردازش موازی بزرگ (MPP: massive parallel processing) است و برای بارهای کاری تحلیلی (analytics workloads) استفاده می شود. این ویرایش به عنوان یک پلتفورم و سرویس در مایکروسافت آژور ارائه شده است.

Compact (SQL CE)

ویرایش Compact، یک موتور دیتابیس تعبیه شده دورنی است. بر خلاف سایر ویرایش های اس کیو ال سرور، موتور SQL CE مبتنی بر SQL Mobile (طراحی شده به منظور استفاده به همراه دستگاه های کوچک) بوده و سیستم هایی باینری متفاوتی دارد. به دلیل اندازه کوچک آن (فایل DLL 1 مگابایتی) مجموعه ویژگی های آن، نسبت به سایر ویرایش ها، به میزان قابل توجهی کاهش یافته است. به عنوان مثال این ویرایش زیرمجموعه ای از انواع داده استاندارد را پشتیبانی می کند ولی فرآیندهای ذخیره شده یا Views یا multiple statement batches را پشتیبانی نمی کند. حداکثر اندازه دیتابیس پشتیبانی شده توسط این ویرایش، 4 گیگابایت است. ویرایش کامپکت ، نمی تواند به عنوان سرویس ویندوز اجرا شود و باید توسط اپلیکیشن هایی که از آن استفاده می کنند میزبانی شود . نسخه 3.5 از ADO.NET Synchronization services پشتیبانی می کند. ویرایش SQL CE، اتصال ODBC را پشتیبانی نمی کند.

Developer

ویرایش Developer Server SQL، ویژگی های مشابهی با ویرایش اینترپرایز دارد ولی، به دلیل محدودیت لایسنس، تنها می تواند به عنوان یک سیستم توسعه و تست استفاده شود نه به عنوان سرور تولید. از ابتدای سال 2016 ، مایکروسافت این ویرایش را به شکل رایگان در اختیار عموم قرار داد.

Embedded (SSEE)

ویرایش SQL Server 2005 Embedded ، نمونه ای از موتور دیتابیس SQL Server Express با پیکربندی مخصوص است که تنها توسط سرویس های خاصی از ویندوز قابل دسترسی است.

Evaluation

ویرایش SQL Server Evaluation، که به عنوان ویرایش Trial نیز شناخته می شود، همه ویژگی های ویرایش اینترپرایز را دارد ولی دوره کاری آن تنها 180 روز است و بعد از پایان این دوره، ابزارها همچنان اجرا می شوند ولی سرویس های سرور متوقف می شوند.

Fast Track

SQL Server Fast Track، بطور خاص برای ذخیره سازی عمده داده در مقیاس سازمانی و فرآیند هوش تجاری بوده و بر روی سخت افزار ساختار-مرجع (reference-architecture) ، که برای Fast Track بهینه سازی شده است، اجرا می شود

LocalDB

LocalDB، نسخه کوچک شده و on-demand ، از اس کیو ال سرور است که در SQL Server Express 2012 معرفی و برای توسعه دهنده های اپلیکیشن طراحی شد. LocalDB همچنین می تواند به عنوان دیتابیس تعبیه شده درونی، مورد استفاده قرار گیرد.

Analytics Platform System (APS)

APS، همان Parallel Data Warehouse (PDW) پیشین است که یک اسباب پردازش انبوه موازی یا MPP اس کیو ال سرور است که برای انبار کردن حجم بالای داده، مانند صدها ترابایت، بهینه سازی شده است.

Data warehouse Appliance Edition

یک نسخه از قبل نصب شده و پیکربندی شده، به عنوان بخشی از یک شراکت با Dell و HP، بر پایه ساختار FastTrack است. این ویرایش سرویس های SQL Server Integration،سرویس های تحلیل یا سرویس های گزارش گیری را شامل نمی شود.

ویرایش های متوقف شده

MSDE

مخفف Microsoft SQL Server Data Engine/ Desktop Engine/ Desktop Edition است. اس کیو ال سرور های 7 و 2000. به دلیل این که هدف از طراحی آن کاربرد به عنوان بخش اپلیکیشن بوده ، شامل ابزارهای مدیریت رابط کاربری گرافیکی نیست. همچنین بعدها مایکروسافت یک ابزار ادمین وب را ایجاد نمود. که در برخی از نسخه های مایکروسافت اکسس، ابزارهای توسعه مایکروسافت و سایر ویرایش های SQL سرور وجود دارد.

ویرایش شخصی

ویرایش SQL Server 2000. این ویرایش مانند MSDE محدویت هایی در بار کاری یا اتصال دارد، ولی محدودیتی در اندازه دیتابیس ندارد و شامل ابزارهای مدیریت استاندارد است. به این دلیل که هدف از طراحی آن کاربرد به عنوان یک mobile/disconnected proxy بوده، لایسنس آن برای استفاده به همراه ویرایش اس کیو ال سرور 2000 قرار داده شده است.

دیتاسنتر

SQL Server 2008 R2 Datacenter یک ویرایش با ویژگی های کامل (full-featured) از اس کیو ال سرور است و برای دیتاسنترهایی که نیاز به پشتیبانی اپلیکیشن و مقیاس پذیری در سطوح بالا دارند طراحی شده است. این ویرایش از 256 پروسسور منطقی و حافظه نامحدود مجازی پشتیبانی می کند و به همراه ویرایش StreamInsight Permium می آید. استفاده از ویرایش دیتاسنتر، در اس کیو ال سرور 2012 متوقف شد. همه ویژگی های مربوط به این ویرایش، در ویرایش اس کیو ال سرور 2012 اینترپرایز موجود است.

چرا از دیتابیس استفاده کنیم؟

اکنون که می دانیم اس کیو ال سرور یک اپلیکیشن برای طبقه بندی اطلاعات در یک “جدول” است، اجازه دهید علل برتری دیتابیس بر صفحه گسترده و یا اپلیکیشن های مشابه را بررسی کنیم.

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

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

در اینصورت نه تنها ابعاد اطلاعات فروش ما در دیتابیس کوچک تر خواهد بود، سایز واقعی اطلاعات آدرس هم کوچک تر خواهد بود. در یک صفحه گسترده و یا یک فایل متنی، هر خط فروش شامل اطلاعات آدرس هم خواهد بود. در دیتابیس آدرس تنها یک بار ثبت می شوند. مهم نیست که مشتری 100 خرید داشته و یا 100000 خرید. تمام اطلاعات فروش به همان آدرس مرتبط خواهند شد.

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

چرا از دیتابیس استفاده نکنیم؟

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

سیستم مدیریت

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

نتیجه گیری

اس کیو ال سرور (SQL Server) یک سیستم مدیریت و پایگاه داده‌های رابطه ای (RDSM) است. اطلاعات در جدول های شامل ستون و ردیف ذخیره می شوند و این جدول ها می توانند به یکدیگر لینک شوند. و همچنین اطلاعات و موضوعاتی که به یک گروه اختصاص داشته و امنیت خاصی می طلبند، می توانند به صورت مجموعه ای در دیتابیس ذخیره شوند.

1 پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید؟
در گفتگو ها شرکت کنید.

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *