بيانات عملائك أهم أصولك: كيف تحميها دون أن تكون مبرمجًا

بيانات عملائك أهم ما يملكه منتجك. أسماؤهم وبريدهم وطلباتهم وكلمات مرورهم هي أساس الثقة بينك وبينهم. وفقدانها أو تسريبها قد ينهي مشروعك في يوم واحد، لأن العميل الذي يفقد ثقته بك قلّما يعود.
ومع ذلك يخاف كثير من المؤسسين غير التقنيين من قواعد البيانات، فيتجنبون النظر فيها أو يتركونها لمن لا يراجعه أحد. في هذا المقال تتعلم أن تقرأ قاعدة بياناتك دون خوف، وأن تغيّر بنيتها بطريقة آمنة، وأن تحمي كلمات مرور عملائك، وأن تحتفظ بنسخ احتياطية تعيد بها بياناتك عند الحاجة.
قواعد البيانات: لماذا نخافها ولا داعي لذلك؟
قاعدة البيانات (Database) أقرب إلى ملف جداول منظم مما يتخيله كثيرون. فيها جداول، ولكل جدول أعمدة تمثل المعلومات، وصفوف يمثل كل صف سجلًا واحدًا. مثلًا جدول «العملاء» قد يضم أعمدة الاسم والبريد وتاريخ التسجيل، وكل عميل صف واحد.
وما يخيف غير التقنيين غالبًا أمران: أن يكسروا شيئًا بنقرة خاطئة، وأن لا يفهموا ما أمامهم. والحل أن تبدأ بالقراءة فقط، وفي نسخة تجريبية لا في المنتج الحي. ويمكنك أن تطلب من الوكيل البرمجي أن يشرح لك:
المهمة: اشرح لي بنية قاعدة بيانات مشروعي بلغة بسيطة: ما الجداول، وماذا يحتوي كل جدول، وكيف ترتبط ببعضها.
القيود: لا تعدّل أي شيء ولا تحذف بيانات. اقرأ فقط، واشرح كأنني لا أعرف البرمجة.
ثم افتح جدولًا حقيقيًا من مشروعك، وحاول أن تشرح بنفسك ما فيه. إن استطعت فقد كسرت أول حاجز.
كيف تغيّر بنية بياناتك دون أن تخسرها؟
سيحتاج منتجك إلى تغيير بنية بياناته مع الوقت، كإضافة عمود لرقم الجوال أو جدول جديد. وإن أجريت هذا التغيير بشكل مرتجل على بيانات حية، فقد تفقد بعضها. والحل هو الترحيل (Migration): تعديل بنية البيانات خطوة بخطوة بطريقة آمنة ومسجلة وقابلة للتراجع.
وللترحيل الآمن عادات ثابتة:
اكتب كل تغيير في ملف ترحيل محدد، ولا تعدّل بنية البيانات بيدك مباشرة.
اجعل لكل تغيير طريقة تراجع تعيد الوضع السابق.
جرّبه أولًا على بيئة الاختبار، ثم على النسخة الحية بعد نجاحه.
خذ نسخة احتياطية قبل أي تغيير على بيانات حية.
ويمكنك أن تطلب من الوكيل البرمجي كتابته:
المهمة: اكتب ترحيلًا يضيف عمود رقم الجوال إلى جدول العملاء.
القيود: أضف طريقة للتراجع عنه، ونفّذه على بيئة الاختبار فقط، وأخبرني بما سيتغير قبل التنفيذ.
ولا تحذف عمودًا أو جدولًا فيه بيانات إلا بعد التأكد من أنك لا تحتاج إليه، ومن وجود نسخة احتياطية.
كيف تحمي كلمات مرور عملائك؟
القاعدة الأولى أن كلمات المرور لا تُحفظ كما كتبها العميل أبدًا. فلو اخترق أحد قاعدة بياناتك وكانت الكلمات مقروءة، فسيملك حسابات عملائك كلها، وربما حسابات أخرى لهم لأنهم يكررون كلمة المرور نفسها كثيرًا.
يقال في الكلام الشائع إن كلمات المرور «تُشفّر»، لكن الأدق تقنيًا أن تُجزَّأ (Hashing). والفرق أن التشفير يمكن فكّه بمفتاح، أما التجزئة فهي في اتجاه واحد: يحوّل النظام كلمة المرور إلى بصمة لا يمكن عكسها، ثم يقارن بصمة ما يكتبه العميل عند الدخول بالمحفوظة. وهكذا لا يعرف النظام كلمة المرور نفسها.
وتبقى ثلاث ممارسات أساسية:
استخدم مكتبة موثوقة وخوارزمية معتمدة، مثل bcrypt أو Argon2، ولا تخترع طريقة بنفسك.
تأكد أن كلمات المرور لا تظهر في السجلات ولا رسائل الخطأ.
لا ترسل لعميلك كلمة مروره بالبريد، بل رابطًا لإعادة تعيينها.
وللتحقق من مشروعك:
المهمة: راجع نظام تسجيل الدخول في مشروعي، وأخبرني كيف تُحفظ كلمات المرور حاليًا.
القيود: إن كانت تُحفظ نصًا مقروءًا فاقترح تعديلًا يجعلها مجزأة بخوارزمية معتمدة عبر مكتبة موثوقة، ولا تكتب خوارزمية بنفسك، ولا تعدّل شيئًا قبل أن أوافق.
احتفظ بنسخة احتياطية وجرّب استعادتها
قد تفقد بياناتك بخطأ منك أو عطل في الخادم أو هجوم. والنسخة الاحتياطية (Backup) هي ما يعيدها إليك. لكن النسخة التي لم تجرّب استعادتها قد لا تعمل حين تحتاج إليها، ولا تكتشف ذلك إلا بعد فوات الأوان. فاسأل نفسك هذه الأسئلة وسجّل إجاباتك:
السؤال | كيف تقرر |
|---|---|
كم مرة آخذ نسخة؟ | بحسب ما تتحمل خسارته: لو خسرت بيانات يوم كامل فهل هذا مقبول؟ |
أين أحفظها؟ | في مكان منفصل عن الخادم الأساسي، حتى لا تضيع معه. |
كم أحتفظ منها؟ | أكثر من نسخة حديثة، لأن الخطأ قد يُكتشف بعد أيام. |
كيف أحميها؟ | النسخة فيها بيانات عملائك نفسها، فاحمها بكلمة سر أو بتشفير. |
وهناك قاعدة مشهورة تلخص ذلك: ثلاث نسخ من بياناتك، على نوعين مختلفين من الوسائط، ونسخة واحدة على الأقل خارج موقعك الأساسي، وتُعرف بقاعدة 3-2-1.
ثم جدول النسخ تلقائيًا، وجرّب الاستعادة في بيئة الاختبار، وتأكد أن البيانات رجعت كاملة وأن المنتج يعمل بها.
