General

In-Memory Database Technology

Published

on

In-Memory Database Technology

 

موضوعنا اليوم هيتكلم عن تكنولوجيا تعتبر قديمة بعض الشئ لكنها جديدة علينا لانها بدءت فى الانتشاء منذ فترة قصيرة

ويمكن تكون بعيدة بعض الشئ عن تخصص موقعنا لكن فى النهاية هتعرفوا اية العلاقة بينهم

 

تكنولوجيا ال In-Memory من اسمها هى ببساطة استخدام ال Memory ( RAM ) كوحدة لعمل Store Database – بمعنى يمكن تشتغيل ال DB الخاصة بنا على ال Memory الموجودة فى السيرفر لدينا

يمكن البعض هيقول اية الجديد فى دة علشان نوضح اكثر ونمنع اى التباس – هذة التكنولوجيا تقوم بنقل ال DB بالكامل من ال Disk to Ram وبتعمل بالكامل من ال Ram وليس فقط بتستخدم جزء من ال Ram كوضعنا الحالى

لذلك هذة التكنولوجيا تحتاج حجم رهيب من ال Ram فى بعض الشركات شوفت 6 تيرا رامات لوضع ال DB عليها وفية اكتر دية شركة عربية على فكرة

تصور انت كم حجم ال DB الخاصة بك وقم بشراء او توفير ججم موازى لها من ال RAM

طبعا هدف هذة التكنولوجيا هو الوصول لاعلى اداء من ال I/O وحتى اليوم لا يوجد اسرع من ال Ram فى عملية ال I/O – حتى مع وجود تكنولوجيا كتير لعمل acceleration and SSD لكن ال RAM من زمان وحتى فى المستقبل لا يمكن ان ينافسها احد فى ال I/O

الفكرة كما قلت لكم كانت موجودة من زمان لكن كانت العقبة امامنا هى حجم الرامات الصغير وتكلفتها الباهظة لذلك لم يتم استخدامها الا فى ال Test and Lab

واتذكر انى قمت بعمل شئ مشابة لذلك منذ اكتر من 5 سنوات وهو استخدام تطبيق صغير اسمة Ram to Disk وهو يقوم باخد جزء من ال Ram وعملة كانة HDD ويمكن استخدامه ووقتها استخدمت برنامج I/O Meter وشوفت الحد الاقصى من ال I/O اللى ممكن تعطية ليا وكان تقريبا 99000 I/O

 

طبعا كانت تجربة خطيرة لان لو السيرفر اللى بتعمل علية توقف او حصل شئ كل الداتا اللى بتعمل عليها هتضيع

 

وعلى هذا النهج مع بعض الاحتلاف فى العمل اتجهت كل شركات ال DB بتطوير هذة التكنولوجيات وجعل ال DB الخاصه بها تعمل بشكل كام داخل ال RAM بدون عمل HDD او شئ وتقوم كل مدة زمنية بنقل كل العمليات التى حدثت عليها الى ال Local HDD او على ال SAN

طبعا دة بسبب ان فى حالة ان السيرفر التى تعمل علية هذة ال DB حدث له Crash سوف تضيع الداتا التى تعمل على ال RAM لذلك للمحافظة عليها قاموا بعمل نقل كل التحديثات باستمرار الى Storage وطبعا فى نفس الوقت فية HA لهذا السيرفر مع سيرفر اخر يوم بعمل Synchronize للداتا الموجودة عليهم ويمكن عمل فى نفس الوقت Replication لكل هذة الداتا الى سيرفرات اخرى تعمل فى ال DR Site

طبعا من الواضح ان التكنولوجيا معقدة جدا ومكلفة للغاية لذلك اغلب الشركات التى بدءت العمل عليها من الشركات الكبرى فى العالم يوجد على مستوى العالم 7200 شركة تعمل بهذة التكنولوجيا لكن مع شركة SAP فقط طبعا هناك شركات اخرى كتيرة تعمل على هذة التكنولوجيا من شركة DB اخرى – طبعا كل شركة بتسمى هذة التكنولوجيا باسم تسويقى خاص بها مثل SAP HANA هو اسم ال DB الخاصة بهم التى تعمل على ال RAM

 

حتى الان لم يتضح لنا ما علاقة هذة التكنولوجيا بال VT او ب VMware

فية نقطتين ربط بينهم :

النقطة الاولى : وهى انه هناك شركتين فى العالم بدءوا منذ سنوات قليلة عمل تكنولوجيا لل Ram Cash or acceleration using memory وهى عبارة انك محتاج تسريع ال I/O الخاص بال VMs الخاصة بك والتى تعمل على ال SAN وهى محدودة السرعة . يمكن هنا استخدام هذة التطبيقات التى تقوم بعمل اخذ جزء من الRam الموجودة فى السيرفر وعملها كانها cash وبذلك نقوم بعمل تسريع لل VMs التى تعمل انها تقوم بالعمل داخل هذة ال Ram بشكل مؤقت وثم تنتقل الى ال SAN مرة اخرى

 

يوجد شركتين فى العالم على حد علمى تقومان بعمل هذة التكنولوجيا وهما pernixdata and Infinio وهم يعملون منذ اقل من 5 سنوات فى هذة التكنولوجيا وحتى الان ليست منتشرة بشكل كبير

 

النقطة الثانية : هل يمكن عمل DB التى سوف تعمل داخل ال Ram داخل VM ? دة سؤال مهم جدا حاليا لان فى بداية هذة التكنولوجيا كانت تعمل فقط Physical server وكان السبب الرئيسى لهذا الموضوع انهم لم يتم عمل تجارب كافية لعملها داخل VM وايضا كان فية حد اقصى لل VM لحجم ال RAM لذلك حتى وقت قريب جدا كانت الشركات تقول لك يمكن استخدام هذة التكنولوجيا مع ال VM لكن ك Test وعمل ال Production على ال Physical

وهذا حتى الاصدار vSphere 5.5 بدئوا يعملون علية VM وداخل DB تعمل داخل ال RAM وتعمل فى ال Production لكن كان هناك العيب الاخر وهو ان الحد الاقصى ل VM من ال Ram هو 1 تيرا لكن تم حل هذة المشكلة حاليا فى الاصدار vSphere6 ووصلت ال Ram الى 4 تيرا واكثر

 

لذلك بدئت بعض الشركات التى تستخدم هذة التكنولوجيا ان تقوم بوضع ال DB الخاصة بها داخل VM وتشتغيلها ال DBعلى ال RAM وليس ال VM كلها

لكى يستفيدوا من مميزات ال VT فى عملهم

 

يمكن الاطلاع على العديد من المقالات الموجودة على موقع SAP and VMware فى كيفية تشتغل ال SAP HANA على ال VMware لن اذكر هنا Oracle DB مع انها تعمل بنفس التكنولوجيا لكنها منغلقة على نفسها فى موضوع ال H/W and Hypervisor الخاص بهم

 

حتى الان مع ان هناك الاف الشركات تعمل على هذة التكنولوجيا لكنها تعتبر فى مراحلها الاول ويوجد تحسينات وتحديثات لها كبيرة جدا كل عدة شهور

ونتوقع ان تنتشر اكثر واكتر من ناحية انها سوف تعمل مع تطبيقات اخرى وليس فقط ال DB وايضا مع انخفاض اسعار ال RAM وكبر الحجم الخاص بها هنجد شركات كثيرة بتستخدمها

 

للمزيد من المعلومات :

https://en.wikipedia.org/wiki/In-memory_database

https://en.wikipedia.org/wiki/List_of_in-memory_databases

http://hana.sap.com/abouthana.html

http://www.vmware.com/business-critical-apps/sap-virtualization/sap-hana

Click to comment

Trending

Exit mobile version