انجمن انفورماتیک ایران انجمن انفورماتیک ایران انجمن انفورماتیک ایران
گزارش کامپیوتر شماره 234, ویژه مرداد و شهریور ماه 96 منتشر شد. دوشنبه  ٢٩/٠٨/١٣٩٦ ساعت ١١:٠٤
 

 مشکل فیل‌ها: آیندۀ پایگاه‌ داده‌ها واقعا چگونه است؟

ترجمۀ: هدیه ساجدی
استادیار دانشکده ریاضیات، آمار و علوم کامپیوتر دانشگاه تهران
پست الکترونیکی: hhsajedi@ut.ac.ir

 


 

مایکل استون بریکر، محقق برجسته پایگاه داده‌ها در ام‌آی‌تی، در مورد دریافت جایزه آلن تورینگ و آینده پایگاه‌های داده صحبت می‌کند.
به‌عنوان مردی که دهه هفتم زندگی خود را سپری می‌کند و محقق پیشگام پایگاه داده، هنوز اغلب اوقات هفته در ام‌آی‌تی کار می‌کند و باقی هفته را در سه شرکت نوپایی که خود راه‌اندازی کرده می‌گذراند.
علاوه بر آن‌ها، او به‌تازگی برنده جایزه آلن تورینگ شده است (http://amturing.acm.org/ ) که جایزه سالانۀ تعالی در رایانش است. این جایزه به دلیل مشارکت بنیادی او در حوزه مفاهیم و عملکرد سیستم‌های پایگاه داده‌ای مدرن است.
این جایزه اکنون توسط شرکت گوگل و به ارزش یک میلیون دلار اعطا می‌شود. آلن کِی به دلیل فعالیت‌هایش در حوزه برنامه‌نویسی شیء‌گرا و توسعه زبان اسمال تاک و داگلاس انگلبرت مخترع موش رایانه و ابرمتن از برندگان پیشین این جایزه هستند. توسعه اولین پایگاه داده کاملاً رابطه‌ای، Ingres و Postgres از دستاوردهای استون بریکر است.
ZDNet با او مصاحبه کرده است تا نظر او را در مورد آینده پایگاه داده‌های رابطه‌ای جویا شود و از انگیزه‌های او بپرسد.
سوال: به خاطر برنده شدن جایزۀ آلن تورینگ به شما تبریک می‌گویم، آیا به نحوه خرج کردن این پول فکر کرده‌اید؟
استون بریکر: هیچ فکری نکرده‌ام. من هنوز دارم تلاش می‌کنم که این موضوع را هضم کنم و فعلاً با روزنامه‌نگاران و افرادی که می‌خواهند عکسی از من داشته باشند مشغولم. خوب این جایزه غیرمنتظره بود و من در حال حاضر واقعا ً سرم خیلی شلوغ است.
 به دلیل این‌که ساز بانجو می‌نوازم فکر می‌کنم مقداری برای آموزش بیشتر در این راه هزینه کنم و ممکن است مقداری از آن را برای پژوهش صرف کنم و در مورد باقی آن برنامه‌ای ندارم.
سوال: شما اغلب اوقات خود در هفته را در ام‌آی‌تی سپری می‌کنید. در باقی اوقات چه می‌کنید؟
جواب: من سه تا چهار روز در هفته در ام‌آی‌تی هستم و باقی هفته را به‌عنوان مدیر ارشد فناوری در سه شرکت نوپایی که راه‌انداخته‌ام می‌گذرانم.
سوال: در یک مصاحبه اخیراً بیان کردید که دوره برتری بلند مدت بازار پایگاه داده‌های شرکت‌هایی مانند اوراکل سپری شده است. آیا همچنان همین نظر را دارید؟
جواب: بازار پایگاه داده تا سال 2000 یا بعد از آن «یک اندازه برای همه» بود و اوراکل گزینه مناسبی بود. اکنون هر کس براساس نیاز خود به دنبال راه‌حل است.
من فکر می‌کنم همه چیز در دهه اول بعد از سال 2000 تغییر کرد.
من اکنون فکر می‌کنم که بازار پایگاه داده‌ها، یک سومش پردازش تراکنش است، یک سومش انبار داده‌ها و یک سومش بقیۀ چیزها. آن‌چه که در 15 سال اخیر به وقوع پیوسته، این است که بازار انبار‌های داده تقریباً به طول کامل از ذخیره‌سازی سطری به ذخیره‌سازی ستونی تبدیل شده است. اکنون ذخیره‌سازی ستونی سریع‌تر از ذخیره‌سازی سطری است. این مسئله فروشندگان سنتی را در جهت نادرستی قرار می‌دهد زیرا محصولات مبتنی بر ذخیره‌سازی سطری را برای فروش عرضه می‌کنند.
همچنین در دنیای پردازش تراکنش‌ها، حافظه اصلی آنقدر ارزان شده است که شما می‌توانید اغلب (و نه تمام) پایگاه‌داده‌های تراکنشی را در حافظه اصلی قرار دهید.
می‌دانم که فیسبوک در اندازه‌های بسیار بزرگ فعالیت می‌کند اما در بیشتر موارد، اندازه ترابایت برای یک پایگاه داده پردازش تراکنش بسیار زیاد است. اکنون می‌توان یک حافظه یک ترابایتی را با قیمت 25 هزار دلار خریداری کرد. به عقیده من بازار پردازش تراکنش‌ها از ذخیره‌سازی سطری بر روی دیسک در حال تغییر به پیاده‌سازی بسیار متفاوت تراکنش‌ها در داخل حافظه اصلی است.
HANA مثالی از آن است. Hekaton (پیاده‌سازی یک OLTP از مایکروسافت بر روی SQL Server و VoItDB شرکتی که من آن را راه‌اندازی کرده‌ام مثال‌های دیگری هستند. فکر می‌کنم بازار به سمت راه‌حل‌های مبتنی بر حافظه اصلی پیش می‌رود و دوباره فروشندگان سنتی در جهتی نادرست قرار دارند.
اکنون اگر به بازار یک سوم آخر نگاهی داشته باشید، به چهار گروه تقسیم شده است. یکی پایگاده داده‌های NoSQL که 100 یا در همین حدود فروشنده با مدل‌های داده‌ای متفاوت و قابلیت‌های متنوع و متفاوت برای آن وجود دارد.
Mongo   و Redix   پایگاه داده‌های محبوبی هستند و امثال آن‌ها هم بسیار است. هیچ یک از این پایگاه‌های داده مشابه پایگاه داده‌های رابطه‌ای نیستند.
گروه دوم افرادی هستند که می‌خواهند تحلیل‌های پیچیده را توسط یادگیری ماشین، خوشه‌بندی داده‌ها، تجزیه مقادیر تکین و غیره انجام دهند. این تحلیل‌ها همگی بر روی آرایه‌ها تعریف می‌شوند نه بر روی جداول.
اکنون تحلیل‌های پیچیده در حال محبوبیت یافتن هستند اما این تحلیل‌ها بر پایۀ آرایه‌ها انجام می‌گیرند. می‌توان این تحلیل‌ها را به وسیله شبیه‌سازی آرایه بر روی جداول یا با استفاده از یک موتور مبتنی بر آرایه انجام داد.
خواهیم دید در آینده چه اتفاقاتی رخ می‌دهد اما این بازاری است که هیچ مزیت رقابتی بر یک پایگاه دادۀ رابطه‌ای ندارد.
گروه سوم پردازش گراف است. اگر شما فیسبوک باشید، شبکۀ اجتماعی شما یک گراف بزرگ است. بنابراین اگر بخواهید فاصله متوسط من تا خود را اندازه بگیرید نیاز به محاسبات مبتنی بر گراف دارید. مجدداً سیستم‌های مبتنی بر جدول مزیتی در این مورد ندارند و خواهیم دید این بازار با بزرگتر شدن چه وضعیتی پیدا خواهد کرد.
و پس از این‌ها بازار Hadoop مطرح می‌شود.
بنابراین آن‌طور که من می‌بینم در دو سوم بازار، فروشندگان سنتی در جهتی نادرست قرار دارند و در یک سوم آن دارای مزیت‌های رقابتی مشهودی نیستند.
من در سال 2005 مقاله‌ای نوشتم که بیان می‌کرد: «یک اندازه برای همه: ایده‌ای که زمان آن سر آمده است.» و در سال 2015 بیان محکم‌تری کردم که «یک اندازه برای همه، به درد هیچکدام نمی‌خورد.» پیاده‌سازی‌های موروثی اوراکل، آی‌بی‌ام و مایکروسافت اساساً برای هیچ چیز مناسب نیستند.
سوال: این نظر خیلی سخت‌گیرانه نیست؟
جواب: اگر دسته‌بندی من را بپذیرید دو گروه هستند که هر کدام یک سوم بازار را تشکیل می‌دهند و چهاربخش هم در یک سوم آخر قرار دارند که هر کدام یک دوازدهم بازار را تشکیل می‌دهند.
و در تمام این حالت‌ها، پیاده‌سازی‌های فعلی از فروشندگان بزرگ پایگاه داده‌های رابطه‌ای، که من آن‌ها را فیل‌ها می‌نامم، در هیچکدام از آن بازارها خوب عمل نمی‌کنند. و یا به عبارت دیگر، در هر مورد گزینه‌هایی بهتر از آن‌ها وجود دارد.
سوال: پس به نظر شما بازار RDBMSها با چند تولیدکنندۀ اصلی مانند اوراکل در حال کمرنگ شدن است و به جای آن پیاده‌سازی‌های مختلف و خاص دیگر در حال مطرح شدن است؟
جواب: خوب، در نگاه اول بله، اما مشخص نیست که چند تا از آن‌ها وجود خواهد داشت. برای مثال نگاهی به بازار Hadoop بیندازیم. Spark به‌عنوان فرزندی برای بازار Hadoop است (برای محاسبات خوشه‌ای سریع مبتنی بر آپاچی). 79 درصد دسترسی‌ها به Spark از طریق SQL است.
بنابراین Spark یک بازار SQL است. و اگر نگاهی به Cloudera بیندازید، متوجه می‌شوید که Mpower و Impala پیاده‌سازی SQL هستند. در نتیجه، من فکر می‌کنم MapReduce (مدلی برای تولید مجموعه داده‌های بزرگ) که بخشی از Hadoop است در بدو تولد، مرده است. اساساً، بازار مهم و واقعی Hadoop همان بازار SQL است. اگر Mpower را در نظر بگیرید از نظر معماری Impala یک حافظۀ ابری است و کاملاً شبیه Vertica از شرکت HP و Redshift شرکت آمازون یا هر پیاده‌سازی دیگر رابطه‌ای و ستونی است. بنابراین من گمان می‌کنم که بخش اعظم بازار Hadoop به سمت یکی شدن با بازار انباره داده پیش می‌رود.
سپس بازار NoSQL در دو بخش مطرح است. سیستمی بود به‌نام Sleepycat (یک پایگاه داده از دانشگاه برکلی) که چند سال پیش به شرکت اوراکل فروخته شده و اگر شما به دنبال یک سیستم ساده باشید گزینه خوبی است و فضای زیادی برای این‌گونه سیستم‌ها وجود دارد و این شرایط بسیار مشابه با بازار NoSQL است.
بجز این سیستم، 100 یا بیشتر شرکت در این بازار وجود دارند که اکثر این شرکت‌ها بدون رعایت استانداردهای لازم نمی‌توانند بقا داشته باشند و این استانداردها در انتها به SQL ختم می‌شوند.
اگر به Cassandra از شرکت آپاچی یا Mango نگاه کنید هر دو زبان‌های سطح بالاتر و بسیار شبیه به SQL دارند.
اگر شما یکی از فروشندگان سیستم‌های سنتی سطری و رابطه‌ای باشید و به این دورنما بنگرید و احتمالاً چهار یا پنج سیستم متفاوت داشته باشید، مشاهده برنامه‌ریزی آن‌ها برای حرکت به سوی  آینده جالب خواهد بود.
من فکر می‌کنم الان زمان خوبی برای حرفه‌ای شدن در پایگاه داده است زیرا بازار در حال این تغییر است.
سوال: شرکت‌های بزرگی مانند HP ، آی‌بی‌ام و غیره چه تغییری خواهند کرد؟
جواب: HP شرکت موفقی است. این شرکت Vertica را خریداری کرده است که یک انباره داده بسیار خوب است. من هیچ ارتباطی با آن‌ها ندارم اما شنیده‌ام که بسیار خوب عمل می‌کنند.
بنابراین سوالی که در مورد آن‌ها مطرح می‌شود این است که راهبرد آینده آن‌ها چیست؟ من برای HP کار نمی‌کنم بنابراین نمی‌توانم در مورد آنچه که ممکن است در آینده به آن بپردازند اظهار نظر کنم. اما می توانم در مورد آنچه که فکر می‌کنم راهبرد برنده شدن است صحبت کنم.
من فکر می‌کنم انبار‌های داده هرگز به تنهایی وجود نخواهند داشت. من چند سال قبل با یکی از افرادی که با آمازون همکاری می‌کرد صحبت کردم. او می‌گفت من می‌خواهم امروز را با دیروز مقایسه کنم. دیروز در انباره داده من است و امروز در سیستم پردازش تراکنش‌هایم. بنابراین جریان بالا دستی هر انباره داده، یا یک پردازش جریان یا یک سیستم داده‌های عملیاتی است. پس هرگاه به نقطه‌ای برسید که بخواهید حال حاضر را با گذشته مقایسه کنید، نیازمند یکپارچه‌سازی سیستم‌هایی هستید که بالا دست یک انباره داده قرار دارند. به همین دلیل من گمان می‌کنم یک راهبرد برنده شدن، یافتن سیستم‌های بالا دستی مورد نیاز برای یکپارچه‌شدن و سپس یکپارچه شدن با آن‌ها است.
راهبرد برنده‌شدن دیگر این است که اگر به شرکتی مثل FedEx نگاه کنید آن‌ها چیزی در حدود 5000 سیستم داده‌های عملیاتی دارند که غیرعادی نیست. شرکت‌های بزرگی مانند وریزون 10000 تا دارند. اگر شرکت FedEx را در نظر بگیریم، از 10 یا 20 سیستم داده‌ عملیاتی، داده دریافت می‌کنند و از فناوری سنتی برای تبدیل، استخراج و بارگذاری استفاده می‌کنند.
4980 سیستم داده‌ای دیگر چگونه هستند؟ آن‌ها در حال حاضر فقط مثل سیلو هستند. در مورد داده‌های عمومی وب و غیره چطور؟ بنابراین، به عقیده من، تمایل برای یکپارچه‌کردن سیلوها زیاد است. و به دنبال آن، تمایل تحلیل‌گران کسب و کار برای تصمیم‌گیری‌های بهتر، گام بعدی است. من برای فناوری یکپارچه‌سازی داده‌ها بخصوص یکپارچه‌سازی سیستم‌های بالادستی انباره داده‌ها سرمایه‌گذاری سنگینی خواهم کرد.
نکتۀ حائز اهمیت دیگر این است که همین حالا این داده‌ها توسط ابزارهای متنوعی مانند Cognos شرکت آی‌بی‌ام  و غیره به وسیله تحلیل‌گران کسب و کار مورد استفاده قرار می‌گیرند. حالا یک ابزار هوش تجاری فقط یک واسط کاربر گرافیکی است که امکان طرح پرس و جوهای SQL را ممکن می‌سازد.
حالا خود را به جای وال مارت تصور کنید. وال مارت سیستمی دارد که بر هر کالایی که زیر دستگاه علامت‌خوان برود نظارت می‌کند. زمستان گذشته برف زیادی در بوستون بارید. حال اگر شما یکی از افراد این فروشگاه باشید و مسئول تامین اقلام فروشگاه، می‌خواهید پرس و جوهایی را در مورد این‌که چه اقلامی یک هفته قبل از برف و یک هفته پس از آن فروخته شده‌اند انجام دهید. حال فرض کنید به جای استخدام یک فرد متخصص هوش تجاری یک متخصص داده‌ها استخدام کرده‌اید. او یک مدل پیشگو برای فروش اقلام می‌سازد. خوب از خود بپرسید، آیا می‌خواهید یک مدل پیشگو داشته باشید یا جدول بزرگی که به شما اقلام فروخته شده را نشان دهد؟
بنابراین من فکر می‌کنم در دهه آینده متخصصان داده با تحلیل‌گران کسب و کار جایگزین بشوند. در حال حاضر متخصصان داده زیادی وجود ندارند. بنابراین عرضه محدود است زیرا به قدر کافی آدم با استعداد در این زمینه وجود ندارد. ولی سرانجام این نقیصه برطرف خواهد شد و ما به تحلیل‌های پیچیده‌تری دست خواهیم یافت.
سوال: از نظر شما یک متخصص داده خوب چه مشخصاتی دارد؟
جواب: خوب، بازآموزی تحلیل‌گران کسب و کار فایده ندارد زیرا یک متخصص داده باید با علم آمار و داده‌کاوی آشنا باشد. در کل به مجموعه مهارت‌هایی نیاز است که در دوره تحصیلات تکمیلی به آن پرداخته می‌شود.