چهارشنبه, ۲۶ دی, ۱۴۰۳ / 15 January, 2025
یکی برای همه
FoundationDB برای بهبود کیفیت دو فناوری دیتابیس، انباره داده جدیدی راه اندازی کرده است که میتواند اطمینان دیتابیسهای تراکنشی را در کنار انطعافپذیری و سرعت NoSQL عرضه کند. این انباره داده که FoundationDB نام دارد، برای سازمانهایی طراحی شده است که میخواهند دیتابیسهای NoSQL خود را به یک ساختار در بیاورند.
دیـوید روزنـتال، یکی از مــوسسان FoundationDB معتقد است: «هر کسی بهدنبال کشف بستر موفق بعدی است.» بسیاری از سازمانها امروزه از ترکیبی از سیستمهای NoSQL استفاده میکنند که شاید معروفترین آنها Cassandra یا MongoDB باشد. این دیتابیسها از عهده وظایفی بر میآیند که از عهده دیتابیسهای SQL سنتی خارج است. «اجرایی کردن این دیتابیسها در کلاسترهای مختلف کامپیوترها، مدیریت آنها را دشوار کرده است.»
بعد از سهسال توسعه، این شرکت نسخه بتایی از این دیتابیس عرضه کرده که برای استفاده آماده است.
روزنتال معتقد است: «کسانی که تازه وارد این حوزه از دیتابیسها میشوند، احتمالا MongoDB را انتخاب خواهند کرد. اما کسانی که سالهاست از این ابزارها استفاده میکنند، از مشکلات تراکنش و تداومی که در این دیتابیس رخ داده است، نگران هستند و بهدنبال یکپارچگی با دیتابیسهای تراکنشی میگردند.»
FoundationDB آنقدر که یک موتور ذخیرهسازی داده است، یک دیتابیس نیست و میتواند از مدلهای مختلف ذخیرهسازی داده پشتیبانی کند. این نرمافزار داده را بهصورت ساده کلید و مقدار ذخیره میکند و از مدلهای پیچیده و متنوعی از داده پشتیبانی میکند. مدلهایی چون گراف، اسناد، ارائهها، جداول و ارائههای اندیسدار.
دیتابیس FoundationDB رابط استاندارد SQL را ندارد اما از طریق زبانهای C، پایتون، روبی، Node.js و جاوا میتوان به آن دسترسی پیدا و از آن استفاده کرد.
این موتور ذخیرهسازی میتواند از چند مدل داده NoSQL بهصورت همزمان پشتیبانی کند. مثلا میتوان از مدل سند برای جایگزینی مانگو استفاده کرد یا از مدل کلید مقدار برای جایگزینی memcached، یا مدل گراف برای جایگزینی. Neo۴J
کلید اصلی کنترل انواع مختلف مدلهای داده، یکپارچگی تراکنشی است که طی سالهای اخیر، امکان حصول آن در دیتابیسهای NoSQL وجود نداشت.
براساس نظریه CAP اریک بروور، وقتی یک دیتابیس را در چند گره مختلف پارتیشنبندی کنیم، این سیستم میتواند ثبات داشته (که تمام گرهها باید یک نوع داده داشته باشند) یا در دسترس باشد (سیستم همیشه در دسترس است، حتی اگر برخی از گرهها از دور خارج شده باشند) اما داشتن هر دو اینها ممکن نبود.
انبارههای دیتای NoSQL طی چند سال اخیر بهدلیل قابلیت انعطافپذیری بینظیرشان با استقبال زیادی مواجه شدهاند، هر چند برخی از این انبارههای داده، از تکنیکی بهنام ثبات رویدادی استفاده میکنند، تکنیکی که در آن، داده بهصورت لحظهای میان چند گره، همخوان (Sync) نمیشود. عیب این مورد این است که میتواند در زمان کوتاه، باعث شود یک درخواست با چند پاسخ روبهرو گردد.
FoundationDB روشی را پیدا کرده است که بتواند هم ثبات و هم دسترس بودن را در اختیار کاربر قرار دهد. در این دیتابیس، از الگوریتمی بهنام Paxos استفاده میشود. این الگوریتم مطمئن میشود که چند کپی از داده گرفته میشود ـ دیتابیس ۳ نسخه کپی از تمام دادههایی که ذخیره میگردد ایجاد و آنها را همخوان میکند.
مهندسان گوگل از Paxos برای معماری دیتابیس Spanner خود استفاده کردهاند، هر چند پیادهسازی گوگل کمی با FoundationDB تفاوت دارد.
تراکنشها در مهندسی نرمافزار اهمیت کاربردی زیادی دارند و در ساخت اطلاعات انتزاعی مستحکم ضروریاند.
انباره داده FoundationDB برای اجرا در چند سرور طراحی شده است. یک سیستم متوسط FoundationDB میتواند ۲۴ گره، ۹۶ هستهای با ۴۸ درایو SSD را پشتیبانی کند و تقریبا حدود ۱۰ ترابایت از اطلاعات را مدیریت و ذخیره و بازیابی میکند. روزنتال معتقد است در نسخه فعلی، امکان مدیریت داده با حجم پتابایت وجود ندارد.
اما این نرمافزار منبعباز نخواهد بود هر چند قرار است نسخه رایگان Community آن عرضه شود. انتهای سال میلادی زمان عرضه نسخه نهایی آن خواهد بود. این نرمافزار در محیطهای لینوکس، OS X و ویندوز اجرا میشود.
تحلیلگر دیتابیس، کرت موناش در پست بلاگی نوشته است، تا بهامروز هیچ مدلی از دادهها آنقدر کامل و جامع نبوده است که تمام کاربردها را یک جا در خود جا دهد.
با وجود این، FoundationDB را نمیتوان نخستین تلاش ترکیب دیتابیسهای رابطهای سنتی با انبارههای داده NoSQL نامید. VoltDB، که بخشی از آن را یکی از فعالان دیتابیس با نام مایکل استونبریکر توسعه داده است، قابلیتهای تراکنشی را در دیتابیسهای مقیم در حافظه قرار داده است که میتواند از نظر سرعت با دیتابیسهای NoSQL رقابت کند. آخرین نسخه MySQL که از سوی اوراکل منتشر شده است نیز قابلیت دسترسی به روشی مشابه با APIهای Memcached را در خود دارد که میتواند به جمعآوری سریعتر اطلاعات منجر شود.
محمدرضا قربانی
ایران مسعود پزشکیان دولت چهاردهم پزشکیان مجلس شورای اسلامی محمدرضا عارف دولت مجلس کابینه دولت چهاردهم اسماعیل هنیه کابینه پزشکیان محمدجواد ظریف
پیاده روی اربعین تهران عراق پلیس تصادف هواشناسی شهرداری تهران سرقت بازنشستگان قتل آموزش و پرورش دستگیری
ایران خودرو خودرو وام قیمت طلا قیمت دلار قیمت خودرو بانک مرکزی برق بازار خودرو بورس بازار سرمایه قیمت سکه
میراث فرهنگی میدان آزادی سینما رهبر انقلاب بیتا فرهی وزارت فرهنگ و ارشاد اسلامی سینمای ایران تلویزیون کتاب تئاتر موسیقی
وزارت علوم تحقیقات و فناوری آزمون
رژیم صهیونیستی غزه روسیه حماس آمریکا فلسطین جنگ غزه اوکراین حزب الله لبنان دونالد ترامپ طوفان الاقصی ترکیه
پرسپولیس فوتبال ذوب آهن لیگ برتر استقلال لیگ برتر ایران المپیک المپیک 2024 پاریس رئال مادرید لیگ برتر فوتبال ایران مهدی تاج باشگاه پرسپولیس
هوش مصنوعی فناوری سامسونگ ایلان ماسک گوگل تلگرام گوشی ستار هاشمی مریخ روزنامه
فشار خون آلزایمر رژیم غذایی مغز دیابت چاقی افسردگی سلامت پوست