از آنجا که ردیس دیگر یک نرمافزار آزاد نیست و البته همان موقع هم که بود چندان چیز جالبی نبود (دو نقطه دی) قصد دارم پیشنهاد یک نرمافزار آزاد بدهم که ردیس هست اما ردیس نیست! :))
با موفقیت پروژههایی مثل solidcache در روبی، به این فکر افتادم که چرا جای رم از هارد استفاده نکنیم؟ مخصوصا که solidcache دارد پشتش از یک پایگاه دادهای مرسوم (در حال حاضر یکی از سه مورد sqlite یا mysql یا postgres را) استفاده میکند و همین موضوع ایده یک کش مبتنی بر هارد - و به طور خاصتر SSD - را به ذهنم رساند که مسائل مصرف حافظه و برپاسازی ردیس را نداشته باشد و در عین حال سرعت و بازدهی نزدیک به ردیس هم بدهد.
در سطح پروتکل که همان پروتکل ردیس را پشتیبانی کند. اما برای خود کش، به جای یک پایگاه دادهای بیرونی از یک پیادهسازی بهینه B+-tree و Hash tree استفاده شود. البته میشود از همان sqlite و solidcache هم استفاده کرد و صرفا پروتکل ردیس را روی آن آورد. این شکلی هزینه نهایی پیادهسازی کمتر هم میشود. اما احتمالا برای پروژههای بزرگ - به علت محدودیتهای خود sqlite - کارا نباشد.
با این حال در صورتی که از یک hash tree دو مرحلهای به عنوان کلید و یک B+tree به عنوان اندیس استلفاده شود احتمالا بازدهی معقولتری از استفاده از یک پایگاهدادهای مجزا بگیریم زیرا سربار شبکه و سربار خود پایگاه دادهای هم حذف شده و فقط همان قسمتی که مورد استفاده است پیادهسازی شده است.
اما ممکن است بپرسید این B+tree چیست؟ آن را سعی میکنم در مطلبی دیگر مفصلتر توضیح دهم. عجالتا بدانیم که یک ساختمان دادهای بهینهشده برای دسترسی و جست و جوی داده روی انواع دیسکهای سخت است کفایت میکند. یک hash tree اما در واقع نوعی از interval tree است که کلیدهای آن به جای بازههای عددی مقادیر hash هستند. این شکلی پیدا کردن یک کلید در کش مساوی است با هش کردن آن، پیدا کردن جایگاه آن در hash tree و سپس درخواست داده متناظر با آن کلید در B+tree. این شکلی پیادهسازی به شدت ساده و به شدت بهینه میشود.
پیشنهاد دیگر البته آن است که این چیزی که در بالا توضیح دادم در خود solidcache پیادهسازی شود و سپس پروتکل ردیس هم به آن اضافه گردد. این شکلی هم پروژه بالادستی سود میبرد که بسیاری دارند از آن استفاده میکنند و هم ما یک جایگزین آزاد و البته بسیار بهینه برای ردیس داریم که از پارادایم ردیس خارج شده و با هزینههای اجرایی و عملیاتی کمتر همان کارایی را به ما خواهد داد.
عکس مطلب نماگرفتی از readme پروژه solidcache است. همچنین این مطلب اولین بار برای ارائه در دونا نوشته شده است.
Comments
November 9, 2024 12:58
You have done a great job on this article. It’s very readable and highly intelligent. You have even managed to make it understandable and easy to read. You have some real writing talent. Thank you. point buy calculator 5e
November 9, 2024 13:49
I wanted to thank you for this great read!! I definitely enjoying every little bit of it I have you bookmarked to check out new stuff you post. 슬롯사이트
November 9, 2024 13:55
You know your projects stand out of the herd. There is something special about them. It seems to me all of them are really brilliant! 바카라사이트
November 9, 2024 14:15
Link slot gacor terbaru dari situs Jackpot86 JP86 yang telah dinobatkan sebagai situs slot demo pg zeus jp anti rungkad resmi dan terpercaya. Salam JP slot gacor