Skip to content
🚀 20% OFF for new customers on Linux and Windows servers! Code: ILK20  |  Order Now →
database إدارة قواعد البيانات

ما هو TimescaleDB؟ تحسين PostgreSQL

TimescaleDB هو إضافة قاعدة بيانات سلاسل زمنية مبنية على PostgreSQL. يعزز أداء الاستعلام في مجموعات البيانات الضخمة، وهو مثالي لتطبيقات إنترنت الأشياء والمالية والمراقبة.

person
Editör
(تم التحديث: 10 سبتمبر 2026) schedule 3 دقيقة قراءة visibility 11 مشاهدة

يُعتبر PostgreSQL منذ سنوات طويلة أحد أكثر حلول قواعد البيانات متانة وموثوقية في العالم. ولكن عند العمل مع بيانات السلاسل الزمنية، قد يكون تثبيت PostgreSQL القياسي غير كافٍ أحيانًا. هنا يأتي دور TimescaleDB. TimescaleDB هو إضافة مفتوحة المصدر لقاعدة بيانات السلاسل الزمنية مبنية على PostgreSQL. هدفه هو تحسين تخزين واستعلام البيانات المعتمدة على الوقت (مثل قراءات الحساسات، سجلات السجلات، البيانات المالية).

الميزات الأساسية لـ TimescaleDB

يقدم TimescaleDB عدة إضافات رئيسية لـ PostgreSQL. أهمها مفهوم الجداول الفائقة (hypertables) التي تقسم البيانات تلقائيًا حسب الوقت. عند إنشاء جدول فائق، يتم تقسيم البيانات في الخلفية إلى أجزاء (chunks) بناءً على فترات زمنية. على سبيل المثال، يمكن تقسيم مجموعة بيانات حساسات مكونة من 6 ملايين صف إلى أجزاء منفصلة لكل يوم. وبهذا، تفحص الاستعلامات فقط الفترة الزمنية ذات الصلة، ويتحسن الأداء بشكل هائل.

التقسيم الزمني التلقائي والضغط

عند تعريف جدول فائق، تحدد عمود الوقت وفاصل التقسيم. يقوم TimescaleDB بتوزيع البيانات الواردة تلقائيًا وفقًا لهذه الفواصل. كما يمكنك ضغط البيانات القديمة لتوفير ما يصل إلى 90% من مساحة التخزين. على سبيل المثال، يمكن تقليل بيانات سجلات شهرية بحجم 10 جيجابايت إلى 1 جيجابايت بعد الضغط.

التكامل مع PostgreSQL والتحسين

يدعم TimescaleDB جميع ميزات PostgreSQL. لذا يمكنك الاستمرار في استخدام لغة الاستعلام المألوفة، والفهارس، والمعاملات، وحتى الإضافات الشائعة لـ PostgreSQL (مثل PostGIS). ولكن من حيث التحسين، هناك بعض النقاط المهمة:

  • استراتيجية الفهرسة: أضف فهارسًا على عمود الوقت والأعمدة الأخرى التي يتم الاستعلام عنها بكثرة للجداول الفائقة. خاصة في الاستعلامات القائمة على الوقت، يكون استخدام فهرس B-Tree على مفتاح التقسيم أكثر كفاءة.
  • كتابة الاستعلام: تأكد من تضمين مرشح الوقت في جملة WHERE. وإلا، سيتم فحص جميع الأجزاء. على سبيل المثال، استخدم عبارة مثل WHERE time > now() - '1 day'::interval لتقليل وقت الاستعلام بعشر مرات.
  • تنظيف البيانات: استخدم دالة drop_chunks لحذف البيانات القديمة. هذا يخفف قاعدة البيانات ويحسن الأداء.

سيناريو استخدام مثال

لنفترض أنك تدير مشروع إنترنت الأشياء وتستقبل بيانات من 10,000 حساس كل 5 ثوانٍ. سيكون حجم بياناتك الشهري حوالي 5 مليارات صف. في PostgreSQL القياسي، يصبح الاستعلام مستحيلًا تقريبًا، بينما مع TimescaleDB يمكنك تشغيل نفس الاستعلامات في ثوانٍ. على سبيل المثال، سرد الحساسات التي تجاوزت درجة حرارتها 30 درجة مئوية في الساعة الأخيرة يستغرق أجزاء من الألف من الثانية بفضل المسح القائم على الأجزاء.

تثبيت TimescaleDB والخطوات الأولى

التثبيت بسيط للغاية. على خادم مثبت عليه PostgreSQL، يمكنك تثبيت TimescaleDB باستخدام مدير الحزم الخاص بك. ثم، في قاعدة البيانات الخاصة بك، قم بتشغيل الأمر CREATE EXTENSION IF NOT EXISTS timescaledb;. لإنشاء جدول فائق، قم باستخدام أمر CREATE TABLE القياسي بالإضافة إلى استدعاء SELECT create_hypertable('اسم_الجدول', 'عمود_الوقت');.

ملاحظة: يأتي TimescaleDB في إصدارين: مفتوح المصدر، وإصدار تجاري بميزات مؤسسية. الإصدار مفتوح المصدر كافٍ لمعظم السيناريوهات.

الخلاصة: لماذا TimescaleDB؟

إذا كنت تعمل مع PostgreSQL وبدأت بيانات السلاسل الزمنية في النمو، فإن TimescaleDB هو حل رائع. يقدم مكاسب في الأداء، وقابلية التوسع، والتوافق مع نظام PostgreSQL البيئي. علاوة على ذلك، يمكنك تطبيقه دون أي تغييرات تقريبًا في الكود الحالي. في HostingServer.com.tr، نوصي عملاءنا في الخوادم الافتراضية الخاصة والسحابية باستخدام TimescaleDB بفعالية. ابدأ الآن في تجربته لاستعلامات أسرع وتكاليف أقل!

شارك هذه المقالة

مشاركة LinkedIn WhatsApp

مقالات ذات صلة