مقالات

جدول صار قاعدة بيانات: متى تنتقل

أربع عائلات أدوات تجيب سؤالًا واحدًا: من يحمل الصفوف. وما يفرضه كل خيار في السنة الثانية، وثلاثة اختبارات قبل الاختيار.

بقلم أنس حمداوي5 دقائق قراءة
  • comparison
  • data
  • tools
كل المقالات

كل خيار في السوق جواب عن سؤال واحد: من يحمل الصفوف. أداة جداول، أو قاعدة بيانات مستضافة، أو قاعدة بيانات مع واجهة فوقها، أو تطبيق مبني لهذا العمل — تختلف أقل فيما تعرضه، وأكثر في من يملك تعديل السجل وماذا يحدث حين يعدّله شخصان في اللحظة نفسها. والانتقال عن الجدول يستحق حين صار الجدول يتصرف كنظام، ويصير خطأً حين تكون الرغبة الحقيقية جدولًا أنظف.

متى توقف الجدول عن كونه جدولًا؟

أربع علامات، وأي اثنتين منها تعني أن الورقة تحمل عملًا لا بيانات.

سجلات مترابطة. صف يشير إلى جدول آخر، فيوجد العميل مرة واحدة وتشير إليه الطلبات. وصيغة البحث تنسخ القيمة ولا تشير إليها.

صلاحية لكل شخص. للمحاسب أن يعدّل مجموع الفاتورة، وليس للبائع أن يفعل. وفي الجدول يعني ذلك ملفًا لكل شخص، أو قفلًا لا يحترمه أحد.

عرض لا يراه أحد. حين يصبح غرض العرض المرشّح «ألا يرى الهامش»، فالجدول يمارس صلاحيات الوصول، ويمارسها بسوء.

أتمتة تعمل في الليل. شيء ينشئ سجلات ولا أحد يراقب، وهذا نظام، ويمكنه أن يكتب سجلًا خاطئًا بلا رقيب.

والخامسة أهدأ: رقم يُحسب بقاعدة لا يملك أحد تجاوزها. وحين يجب أن يصح ذلك الرقم، فالصف سجل وليس خانة.

خُذوا متجرًا في البليدة يكتب طلباته في ورقة، ثم يضيف عمودًا للمخزون، ثم ورقة ثانية للحركات. عند الورقة الثانية صار الجدول نظامًا بلا ضمانات: لا أحد يعرف أي رقم صحيح حين يصل طلبان على آخر قطعة في اليوم نفسه.

ما العائلات الأربع؟

أدوات الجداول كتابة على الصف: حقول محددة النوع، وسجلات مترابطة، وعروض، ونماذج، وواجهة برمجة التطبيقات (API)، وأتمتة. أسرع طريق إلى قائمة داخلية تعمل.

قواعد البيانات المستضافة تحفظ الضمانات وتتخلى عن الوجه: جداول حقيقية، وقيود، ومعاملات، وكتابة متزامنة. الناقص مكان يكتب فيه إنسان.

قاعدة بيانات مع واجهة تضع الحساب في مخزن يرفض الكتابة الخاطئة، وتضيف الشاشات عبر لوحة إدارة أو طبقة تقارير. هذا ما تحتاجه أكثر الفرق، وهو ما يُترك غالبًا لأن اللوحة شيء ثانٍ يجب بناؤه.

تطبيق مبني لهذا العمل يبدأ من العملية لا من الجدول: الطلب، وحالاته، ومن يحرّكه، وماذا يُسجّل. العائلة الوحيدة التي يأتي فيها البرنامج على شكل العمل لا على شكل جدول.

ماذا تكلّفكم كل عائلة في السنة الثانية؟

لا مبلغًا، بل قيدًا. الرقم يصبح خاطئًا في غضون أشهر؛ الذي يبقى صحيحًا هو ما ترفض كل عائلة فعله لاحقًا.

العائلة ما تمنحه مبكرًا القيد الذي ترثونه
أداة جداول سجلات وعروض ونماذج في يوم، بلا تدريب لا معاملة تجمع عدة صفوف، والتاريخ والصلاحيات خشنان، فيصل السقف في شهر مزدحم
قاعدة بيانات مستضافة قيود وكتابة متزامنة يفرضها المخزن بلا واجهة، فإن لم يملك أحد الشاشات عاد جدول إلى جانبها
قاعدة بيانات وواجهة حساب مفروض وشاشة يقبلها الناس شيئان للصيانة، ونموذج صلاحيات يُصمّم مرتين
تطبيق مبني العملية كما هي، بشروطها المدمجة صرتم تشغّلون برنامجًا: إصدارات، ونسخ احتياطي، ودعم، وشخصًا يفهمه

اقرأوا العمود الثالث سؤالًا واحدًا: من يقوم بهذا العمل، وماذا يحدث حين يمضي؟ لا عائلة تجيب عنه مجانًا.

لماذا لا ينقل الترحيل الشكل وحده القواعد؟

لأن القواعد لم تكن في الخانات. تسكن في قواعد غير مكتوبة شرحها أحدهم مرة: هذا العمود يملؤه من يعالج الإرجاع، والكمية السالبة تعني إشعارًا دائنًا، والطلب يُلغى ولا يُحذف. وتعليق على رأس العمود أقرب ما تصل إليه أكثر الجداول من التوثيق.

انقلوا الأعمدة إلى أداة جديدة بالأسماء نفسها، فتغيب تلك القواعد كلها وهي تبدو محفوظة. أربعة آلاف صف مستورد تمرّ بلا اعتراض لأن أحدًا لم يضبط ما يفحصها، ثم يكتب موظف كمية سالبة بمعنى إرجاع، فيرتفع المخزون.

اكتبوا القواعد قبل الترحيل في ثلاث قوائم: القيم المسموحة، والانتقالات (الطلب ينتقل من مؤكد إلى مشحون ولا يعود)، والحذف (من يزيل صفًا، وهل الإزالة أرشفة). كل قاعدة تصبح قيدًا في المخزن الجديد أو فحصًا عند الباب، وكل قاعدة لا يكتبها أحد تصبح علّة يجد لها أحدهم تفسيرًا معقولًا لاحقًا. البيانات تنتقل. المعنى لا ينتقل.

كيف تختبرون خيارًا قبل اختياره؟

ثلاثة أسئلة لكل عائلة، بهذا الترتيب.

  1. هل يعدّل شخصان السجل نفسه ويبقى التعديلان؟ افتحوا السجل في نافذتين، وغيّروا حقلين مختلفين، واحفظوا. إن محا الحفظ الثاني الأول، فذلك مقبول في محضر اجتماع وخاطئ في رصيد مخزون.
  2. هل يمكنكم تصدير كل شيء؟ لا ملف CSV للعرض الظاهر، بل العلاقات والتاريخ والمرفقات والبنية. وتعدّ أفضل الممارسات لنشر البيانات على الويب الوصول المقروء آليًا واستمرارية البيانات حدًا أدنى، لا معروفًا، وهو المعيار نفسه صالح للحكم على مورّد.
  3. من يملك حذف صف؟ إن كان الجواب «كل من يفتح الجدول»، فالتاريخ زينة، وسيُختبر في خلاف لا تحسمونه.

ثم نفّذوا الانتقال في خمس خطوات.

  1. عدّوا القواعد لا الصفوف. عشرون عمودًا وخمسة عشر عرفًا ترحيلٌ أكبر من مئتي عمود وعرفين.
  2. اكتبوا من يفعل ماذا في كل جدول: من ينشئ، ومن يعدّل، ومن يقرأ، ومن لا يرى عمودًا أبدًا.
  3. اختاروا أصغر عائلة تجتاز الاختبارات الثلاثة، لا أقدرها.
  4. انقلوا مسار عمل واحدًا من أوله إلى آخره، ثم اتركوا الجدول القديم للقراءة وحده شهرًا. والكتابة في مكانين بداية الاختلاف.
  5. سمّوا مالك الشيء الجديد كتابةً: شخصًا لا وظيفة.

أين يخطئ الفريق؟

  • التجربة الدائمة. يُنقل جدول واحد، ويبقى الجدول القديم صاحب الكلمة لأنه مكان العمل الحقيقي. مصدران، ولكل منهما دعوى حقيقة.
  • واجهة بلا مالك. يبنيها من كان متاحًا ذلك الشهر. تعمل، ولا أحد يغيّرها، وأول طلب جديد يبدأ لوحة ثانية.
  • صلاحيات تُنسخ كعروض. يُشارك عرض مرشّح كأنه صلاحية. الرابط ينتقل، والصلاحية لا تنتقل.
  • أتمتة بلا مراقب. تفشل مهمة الليل صامتة ثلاثة أسابيع، وكل سجل أُنشئ في تلك الفترة ينقصه حقل ظنّ العمل أنه مملوء.

ما لا يغطيه هذا الرأي

لا أسعار هنا، والسبب مقصود: كل عائلة تُباع لكل مستخدم أو لكل صف أو لكل ساعة بناء، والحدود تتحرك بين الخطط، ورقم في مقال يصبح خاطئًا قبل الفهرسة ثم يُعاد عليكم كأنه مواصفة. اقرأوا الخطة التي ستشترونها فعلًا.

ولا يغطي هذا الرأي التزامات حماية البيانات، ولا الشراء على نطاق واسع، ولا تقدير جهد البناء، وهو يعتمد على قائمة القواعد أكثر من التقنية. ولا يفصل بين فريق يبدأ بجدول وفريق يبدأ بقاعدة بيانات من اليوم الأول، وهو قرار يعتمد على عدد الأشخاص أكثر من حجم البيانات. نحن نبني أنظمة ونربطها حول أدوات كهذه؛ لا نعيد بيع أي منها ولا نتقاضى عمولة.

نبني الحد أولًا — أي الصفوف سجلات وأي نظام يملكها — لأن ذلك القرار يبقى صحيحًا أيًا كانت الأداة.

خدمات في هذا المقال

ابدأ مشروعًا

لديك شيء تريد بناءه؟

ملخص قصير يكفي. تحصل على نطاق مكتوب وسعر ثابت قبل أن يبدأ أي شيء.