تو این پست میخوام اول از همه شما رو با طرز کاری آشنا کنم که پایه و اساس خیلی از سیستم های خفن و شرکت های غول امروزی هست. اگه اهل تکنولوژی باشین و تو دنیای فرمال متد و دیتابیس چرخیده باشین اسمش به گوشتون خورده :)
گراف ها همه جا هستند و برای درک طیف گسترده ای از datasets در زمینه هایی مانند علم، دولت و تجارت بسیار مفید هستند. دنیای واقعی - بر خلاف مدل forms-based در پایگاه داده های relational - غنی و به هم مرتبط است: در بخش هایی یکنواخت و محدود به قوانین، در سایر موارد استثنایی و نامنظم است. هنگامی که نمودارها را درک می کنیم، شروع به دیدن آنها در انواع مکان ها می کنیم. به عنوان مثال، گارتنر پنج نمودار را در دنیای تجارت شناسایی می کند -social, intent, consumption, interest, mobile - و می گوید که توانایی استفاده از این نمودارها "مزیت رقابتی پایدار" را فراهم می کند.
یک گراف فقط مجموعه ای از رئوس و یال ها است - یا به زبانی کمتر ترسناک، مجموعه ای از گره ها و روابطی که آنها را به هم متصل می کند. گراف ها موجودیت ها را به عنوان گره ها و راه هایی را نشان می دهند که آن موجودیت ها با جهان به عنوان روابط مرتبط می شوند. این ساختار رسا و همه منظوره به ما اجازه می دهد تا انواع سناریوها را مدل سازی کنیم.
ساخت یک موشک فضایی، سیستمی از جادهها، و از زنجیره تامین یا منشأ مواد غذایی، تا تاریخچه پزشکی برای جمعیتها و فراتر از آن. به عنوان مثال، داده های توییتر به راحتی به عنوان یک نمودار نمایش داده می شوند. در شکل 1-1 شبکه کوچکی از فالوورها را می بینیم. روابط در اینجا در ایجاد زمینه معنایی کلیدی هستند: یعنی اینکه بیلی از هری پیروی می کند و هری نیز به نوبه خود از بیلی پیروی می کند. روت و هری نیز به همین ترتیب یکدیگر را دنبال می کنند، اما متأسفانه، در حالی که روث به دنبال بیلی می آید، بیلی (هنوز) پاسخی به این کار نداده است. شکل 1-1. یک نمودار اجتماعی کوچک البته، نمودار واقعی توییتر صدها میلیون بار بزرگتر از مثال در شکل 1-1 است، اما دقیقاً بر اساس همان اصول کار می کند. در شکل 1-2، نمودار را به گونهای گسترش دادهایم که پیامهای منتشر شده توسط روث را شامل شود.
البته، نمودار واقعی توییتر صدها میلیون بار بزرگتر از مثال در شکل 1-1 است، اما دقیقاً بر اساس همان اصول کار می کند. در شکل 1-2، نمودار را به گونهای گسترش دادهایم که پیامهای منتشر شده توسط روث را شامل شود:
"دیتابیسهای گرافی یکی از بزرگترین trend های کسب و کار امروز را شکل میدهند: بهرهگیری از روابط پیچیده و پویای دادههای پیوندی برای تولید بینش و مزیت رقابتی. چه بخواهیم روابط بین مشتریان، عناصر در شبکه تلفن یا دیتاسنتر، تولیدکنندگان و مصرفکنندگان سرگرمی، یا ژنها و پروتئینها را درک کنیم، توانایی درک و تجزیه و تحلیل گرافهای بزرگ دادههای پیوندی از اهمیت بالایی برای تعیین اینکه کدام شرکتها در دهه آینده پیشتاز رقبا خواهند بود.
استفاده از روابط پیچیده و پویا در دادههای بسیار مرتبط برای ایجاد بینش و مزیت رقابتی.
چه بخواهیم روابط بین مشتریان، عناصر موجود در یک شبکه تلفن یا datacenter network، تولیدکنندگان و مصرف کنندگان حوزه entertainment، یا ژن ها و پروتئین ها را درک کنیم، توانایی درک و تجزیه و تحلیل نمودارهای گسترده از داده های بسیار مرتبط در تعیین اینکه کدام شرکت ها از رقبای خود بهتر عمل می کنند، مزیت رقابتی و نکته اصلی خواهد بود.
برای دادههایی با حجم یا ارزش معنادار، دیتابیسهای گرافی بهترین راه برای نمایش و پرس و جوی دادههای پیوندی هستند. Connected data دادههایی هستند که برای تفسیر و ارزش دهی به آنها، نیاز است که ابتدا روشهایی که عناصر تشکیلدهنده آنها به هم مرتبط هستند را درک کنیم. بیشتر از هر چیز، برای تولید این درک،نیاز داریم که ارتباطات بین چیزها را نامگذاری کنیم.
هرچند شرکتهای بزرگ این مسئله را مدتی پیش درک کرده و فناوریهای پردازش گرافی اختصاصی خود را ایجاد کردهاند، اما اکنون در دورانی هستیم که این فناوری به سرعت دموکراتیزه شده است. امروزه دیتابیسهای گراف همه منظوره (general-purpose) واقعیت دارند، که به کاربران عمومی این امکان را میدهند تا از مزایای دادههای پیوندی، بدون نیاز به سرمایهگذاری در ساخت زیرساخت گراف خود لذت ببرند.
یک نکته قابل توجه درباره این بازگشت دادهها و تفکر گرافی این است که نظریه گراف به تازگی مطرح نشده است. این نظریه توسط اویلر در قرن ۱۸ مطرح شد و توسط ریاضیدانها، جامعهشناسان، انسانشناسان و دیگران مورد تحقیق و بهبود قرار گرفته است. با این حال، تنها در چند سال اخیر است که نظریه گراف و تفکر گراف در مدیریت اطلاعات به کار گرفته شده است. در آن زمان، پایگاههای اطلاعاتی گراف به حل مشکلات مهم در زمینههای social networks, master data management, location, suggestions و موارد دیگر کمک کردهاند. این افزایش تمرکز بر روی نمودار توسط دو نیروی دوگانه مهم هدایت میشود: موفقیتهای تجاری عظیم شرکتهایی مانند فیسبوک، گوگل و توییتر، که همگی مدلهای تجاری خود را متمرکز در فن آوری های گراف اختصاصی خود کرده اند. و مورد دوم معرفی پایگاه های داده گراف با هدف عمومی در چشم انداز فناوری.
یک سیستم مدیریت پایگاه داده گراف (از این پس، یک پایگاه داده گراف) یک سیستم مدیریت پایگاه داده آنلاین با روش های ایجاد، خواندن، به روز رسانی و حذف است که یک مدل داده گراف را نشان می دهد. پایگاه داده های گراف عموماً برای استفاده با سیستم های تراکنش (OLTP) ساخته شده اند. بر این اساس، آنها معمولاً برای عملکرد تراکنش بهینه شده و با در نظر گرفتن یکپارچگی تراکنش و در دسترس بودن عملیاتی مهندسی می شوند. دو ویژگی از پایگاه داده های گراف وجود دارد که باید هنگام بررسی فناوری های پایگاه داده گراف در نظر بگیرید:
2. he underlying storage
برخی از پایگاه های داده گراف از ذخیره سازی گراف بومی استفاده می کنند که برای ذخیره و مدیریت گراف ها بهینه شده و طراحی شده است. با این حال، همه فناوری های پایگاه داده گراف از ذخیره سازی گراف بومی استفاده نمی کنند. برخی دادههای گراف را در یک پایگاه داده رابطهای، یک پایگاه داده شیگرا یا برخی دیگر از ذخیرهسازی دادههای همه منظوره سریال میکنند.
2.The processing engine
برخی از تعاریف مستلزم آن است که پایگاه داده گراف از مجاورت بدون شاخص استفاده کند، به این معنی که گره های متصل به طور فیزیکی به یکدیگر در پایگاه داده اشاره می کنند. یعنی یک مدل داده گراف را از طریق عملیات CRUD در معرض دید قرار می دهد، به عنوان یک پایگاه داده گراف واجد شرایط می شود. با این حال، ما مزایای عملکردی قابل توجه مجاورت بدون فهرست را تصدیق میکنیم، و بنابراین از اصطلاح پردازش گراف بومی برای توصیف پایگاههای اطلاعاتی گراف استفاده میکنیم که از مجاورت بدون فهرست استفاده میکنند.
علیرغم این واقعیت که تقریباً هر چیزی را میتوان به عنوان نمودار مدلسازی کرد، ما در دنیایی عملگرایانه از بودجهها، جدول زمانی پروژهها، ستانداردهای شرکتی و commoditized skill-sets زندگی میکنیم. اینکه یک پایگاه داده گراف، یک تکنیک مدلسازی داده قدرتمند اما جدید ارائه میکند، به خودی خود توجیه کافی برای جایگزینی یک پلتفرم داده شناختهشده و شناخته شده ارائه نمیکند. همچنین باید یک مزیت عملی و بسیار مهم وجود داشته باشد. در مورد پایگاههای اطلاعاتی گراف، این انگیزه بهصورت مجموعهای از موارد استفاده و الگوهای داده وجود دارد که عملکرد آنها هنگام پیادهسازی در یک نمودار به میزان یک یا چند مرتبه بهبود مییابد و تأخیر آن در مقایسه با پردازش دستهای بسیار کمتر است.
در این قسمت ما داده های متصل را تعریف کرده و مدل ویژگی گراف را بررسی کرده ایم، ابزاری ساده اما گویا برای نمایش داده های متصل. Property graphs دامنههای پیچیده را به شیوهای رسا و انعطافپذیر میگیرند، در حالی که پایگاههای داده گراف توسعه برنامههایی را که مدلهای گراف ما را دستکاری میکنند آسان میکنند. در قسمت بعدی با جزئیات بیشتری به چگونگی برخورد چندین فناوری مختلف با چالش دادههای متصل میپردازیم، از پایگاههای داده رابطهای شروع میکنیم، به فروشگاههای NOSQL انبوه میرویم و به پایگاههای داده گراف میرسیم. در طول بحث، خواهیم دید که چرا نمودارها و پایگاه های داده گراف بهترین ابزار را برای مدل سازی، ذخیره سازی و جستجوی داده های متصل ارائه می دهند...
منبع : کتاب Graph Databases از انتشارات O'Reilly