منبع : توسعه فن آوری اطلاعات آرتاراد

Times Ten یک معماری مبتنی بر حافظه داخلی برای پایگاه داده های رابطه ای می باشد که دارای قابلیت ماندگاری و بازیابی است. این تکنولوژی توسط آزمایشگاه Hewlett-Packards در پالو آلتو کالیفرنیا در سال ۱۹۹۶ طراحی شد و پس از تغییرات لازم توسط شرکت اوراکل در سال ۲۰۰۵ شروع به پیاده سازی شد.

تمام داده ها در این تکنولوژی در داخل حافظه فیزیکی (RAM) نگهداری می شود، که این به این معنا است که احتیاجی به وجود دیسک برای انجام عملیات I/O وجود ندارد، این قابلیت تفاوت عمده این نوع تکنولوژی با تکنولوژی سنتی در پایگاه داده های ORACLE,DB2,Informix و یا SQL Server می باشد.

با توجه به سرعت بیشتر رم نسبت به دیسک، این تکنولوژی می تواند در نرم افزارهای کاربردی که نیازمند زمان پاسخ گویی بسیار پایین هستند مانند نرم افزارهای ارتباطی، سرویس های خرید و فروش و … که جزو سیستم های بلادرنگ می باشند و یا نرم افزارهای تحت وب مورد استفاده قرار بگیرد. این تکنولوژی قابلیت برقراری ارتباط کامل با API هایی مانندODBC,JDBC,OCI,Pro*C/C++‎‎‎‎‎‎‎ را دارد و قابلیت دسترسی به اطلاعات آن از طریق زبان SQL نیز مهیا می باشد.

برنامه های کاربردی که از پایگاه داده اوراکل استفاده می کنند می توانند بصورت ترکیبی از پایگاه داده اوراکل و همچنین تکنولوژی Times Ten نیز بهره ببرند. این تکنولوژی قابلیت پیاده سازی مبتنی بر اکثر سیستم های عامل Unix/Linux و انواع سیستم های عامل مبتنی بر ویندوز، در هر دو نسخه ۳۲ و ۶۴ بیت را دارد.

بررسی فنی

تکنولوژی Times Ten یک تکنولوژی In-Memory می باشد که امکان آماده سازی داده های مورد نیاز برنامه ها و افراد را با سرعتی بسیار بالا دارد. پاسخی که این تکنولوژی به درخواست کاربران می دهد به علت آنکه داده ها در این نوع سیستم در حافظه رم نگهداری می شوند بسیار سریع می باشد.

بررسی اجمالی معماری و اجزای تشکیل دهنده:

Shared Libraries :


عملکرد تکنولوژی Times Ten متشکل از مجموعه ای از Shared Libarary ها می باشد که طراحان برنامه آنها را به برنامه خود مرتبط می نمایند و اجازه می دهند تا Times Ten به عنوان بخشی از برنامه اجرا شود.روش کار این Shred Library ها متفاوت با سیستم های RDBMS معمول می باشد که در آنها هر پراسس متمایز، با ارتباطاتی مشخص به برنامه مورد نظر متصل می شود می باشد. این ارتباط می تواند به شکل یک ارتباط Client/Server مبتنی بر شبکه باشد.

بانک اطلاعاتی مقیم در حافظه:

اطلاعات مربوط به هر پایگاه داده فعال از نوع Times Ten در Shared memomy نگهداری می شود. البته لازم به ذکر است که امکان فعال بودن چند پایگاه داده Times Ten به طور همزمان و یا برقراری ارتباط چند Application با یک پایگاه داده Times Ten وجود دارد. در پلتفرم های ۶۴ بیتی سایز این پایگاه داده ها عملا محدود به میزان رم بر روی سرور میزبان می باشد.

Database Processes:

شروع به کار Times Ten نیازمند شروع به کار بک گراند پراسسی به نام Times Ten main daemon می باشد که خود باعث شروع به کار چندین زیر پراسس می شود. این پراسس ها فعالیت های زیر را انجام می دهد:
• بارگذاری و تخلیه پایکاه داده از رم
• اعمال چک پوینت بر اساس زمان بندی Fuzzy بر روی دیسک
• نوشتن لاگ ها از لاگ های داخل حاظه بر روی transaction log فایل هال در دیسک
• مدیریت بن بست ها

روش های ارتباطی:

در سیستم های سنتی نرم افزارهای کلاینتی با استفاده از پروتکل های TCP/IP و یا دیگر مکانیزم های IPC با سرور پایگاه داده ارتباط برقرار می کردند. در سیستم Times Ten، برنامه های کاربردی که با پایگاه داده در یک سرور قرار دارند بدون آنکه نیاز داشته باشند از طریق پراسس های دیگر به پایگاه داده وصل شوند، می تواند بطور مستقیم به یک نمایه از پایگاه داده که در حافظه رم قراردارد متصل شوند که این عمل خود موجب افزایش کارایی و افزایش سرعت سیستم ها می گردد. اگر برنامه های کاربردی در سروری مجزا از پایگاه داده قرار داشته باشند مشابه سیستم های قدیمی می توانند به پایگاه داده متصل شود.

Data Availability and Integrity :Checkpoint and Transaction Log Files :

تمام داده های Times Ten در داخل حافظه اصلی قرارداد، حال آنکه از این فضا به عنوان یک فضای غیر فرار باید استفاده شود. این تکنولوژی تمام تراکنش‌های مربوط به تغییرات داده‌ها را در in-memory log buffer نگه می دارد که در نهایت در transaction log file ها در دیسک نوشته می شود. علاوه بر این Times Ten یک تصویر کلی از پایگاه داده را که در حافظه قرار دارد و به آن Checkpoint file گفته می شود بر روی دیسک نگه می دارد. ترکیب checkpoint fileها و transaction log file ها امکان پشتیبانی Times Ten از بازیابی سیستم در زمان بروز خطا را می دهد.در این روش عملیات commit در حافظه انجام می شود و عملیات نوشتن لاگ ها بر روی دیسک بطور غیر همزمان صورت می گیرد. Times Ten این اجازه را به طراح می دهد تا میزان کارایی و میزان امنیت در سیستم را بطور متعادل رعایت نماید.

Replication:

مکانیزم همسان سازی در Times Ten امکان طراحی سیستم با حداکثر پایداری را با امکان ارسال تغییرات بین ۲ یا چند میزبان را به شما می‌ دهد. Times Ten راه اندازی سرور Active Standby را برای پشتیبانی از حداکثر پایداری به شما پیشنهاد می‌ دهد.سرویس‌ های همسان ساز با ارسال و دریافت تغییرات میان سرور ها قابلیت همسان سازی در این تکنولوژی را به نحو احسنت برای شما فراهم می سازند. تغییرات با استفاده از Log-mining تشخیص داده شده و برای تمام سرورهای دیگر ارسال می گردند. ارتباط در سرویس‌های همسان ساز در Times Ten با استفاده از پروتکل های رایج TCP/IP برقرار می گردد. در نسخه ۱۱٫۲٫۲ امکان همسان سازی موازی میان چندین سرور ایجاد شده است.

In-Memory Database Cache

Times Ten امکان cache نمودن داده های دیتابیس را دارد.برای استفاده از قابلیت caching در پایگاه داده اوراکل یک یا چند جز SQL به عنوان یک گروه شناخته می شود. هر گروه cache به عنوان مجموعه ای از یک یا چند جدول مرتبط که متشکل از یک یا چند سطر و ستون است.

Event Notification

Times Ten از مکانیزم اطلاع رسانی رویداد ها برای ثبت log ها استفاده می کند (XLA). XLA از توابعی جهت اطلاع رسانی تغییرات در جداول استفاده می کند. امکان استفاده از materialized view در این تکنولوژی مهیا می باشد و می توان از این نوع View ها برای اطلاع از تغییرات داده ها استفاده نمود.همچنین امکان استفاده از تمام سرویس های پیشرفته موجود در اوراکل مانند GoldenGate وجود دارد.