لم أتوقع هذا، لكن أحد الأجزاء الأكثر إثارة للاهتمام في Sign ليس حول ما تقوله البيانات بل حول كيفية تجميع البيانات وتفسيرها على نطاق واسع دون إعادة كتابة المنطق في كل مرة.
لأن معظم الأنظمة تواجه صعوبة عندما تنتقل من سجلات فردية إلى مجموعات منها. إحدى الأدلة سهلة التحقق. ولكن في اللحظة التي تبدأ فيها بالتعامل مع المئات أو الآلاف، تصبح الأمور فوضوية. تحتاج إلى مرشحات، وقواعد تجميع، وعوائق، ومنطق مخصص فقط للإجابة على أسئلة بسيطة مثل "كم عدد المستخدمين المؤهلين؟" أو "هل تفي هذه المجموعة بالمتطلبات؟"
وهنا يتراكم الاحتكاك.
يقدّم Sign طريقة للتعامل مع مجموعات البراهين وكأنها مجموعات قابلة للاستعلام، بدلًا من كونها إدخالات معزولة. بدلًا من معالجة كل سجل على حدة، يمكنك تقييم الأنماط عبر العديد منها دون إعادة بناء المنطق من الصفر في كل مرة.
هذا تحول في كيفية استخدام البيانات.
بدلًا من سؤال “هل هذه السجل واحد صالح؟”، تبدأ بسؤال “ماذا تخبرني مجموعة السجلات هذه بأكملها؟”. والأهم من ذلك، يمكنك تعريف هذه الشروط مرة واحدة وإعادة استخدامها متى ما احتجت إليها.
على سبيل المثال، بدلًا من التحقق من الأهلية مستخدمًا واحدًا في كل مرة، يمكن للنظام تقييم مجموعة كاملة بناءً على معايير مشتركة. يمكنه تحديد ما إذا كانت الشروط الكافية متحققة عبر مجموعة بيانات، وليس فقط داخل برهان واحد.
وهذا أقرب إلى كيفية عمل الأنظمة الحقيقية.
لأن القرارات نادرًا ما تُتخذ بناءً على نقاط بيانات معزولة. بل تُبنى على الاتجاهات، والأعداد، والتركيبات، والعتبات. ومعظم الأنظمة في النهاية تعيد بناء هذا المنطق بشكل منفصل لكل تطبيق.
هنا يصبح هذا المنطق قابلًا لإعادة الاستخدام.
ومن التفاصيل الأخرى التي لفتت انتباهي: كيف يقلّل هذا من التكرار على نطاق واسع.
في الإعدادات المعتادة، في كل مرة تريد تحليل مجموعة من السجلات، تكتب استعلامات جديدة، ومرشحات جديدة، أو خطوات معالجة جديدة. وغالبًا ما تختلف هذه قليلًا بين الأنظمة، حتى عندما تحاول الإجابة عن نفس السؤال.
وهذا يؤدي إلى تناقضات.
باستخدام هذا النهج، يمكن توحيد منطق تجميع البيانات وتقييمها. تحدد كيفية تفسير مجموعة مرة واحدة، ثم تطبق هذا التفسير في أي مكان تُستخدم فيه البيانات.
وهذا يقلّل من التباعد.
كما يجعل النتائج أكثر قابلية للتوقع.
لأن بدلًا من أن تقوم كل تطبيق بحساب الأمور بطريقتها الخاصة، يمكنها الاعتماد على نفس التعريفات الأساسية. تنتج مجموعة البيانات نفسها النتيجة نفسها، مهما كان المكان الذي يتم تقييمها فيه.
تحقيق ذلك أصعب مما يبدو.
كما بدأت أفكر في كيفية تأثير ذلك على الأداء والتعقيد.
عندما تتكرر المنطق عبر الأنظمة، ينشأ عنه عبء إضافي. كل تطبيق يجب أن يعالج البيانات بشكل مستقل، ويحافظ على قواعده الخاصة، ويتعامل مع الحالات الحدّية لوحده. وهذا يتراكم بسرعة.
من خلال نقل جزء من هذا المنطق أقرب إلى البيانات نفسها، تقلل من مقدار العمل الذي يحتاجه كل نظام للقيام به.
لا يحتاجون إلى إعادة معالجة كل شيء من البداية. يمكنهم الاعتماد على تفسيرات مشتركة.
وهذا يبسط بنية النظام.
بدلًا من بناء طبقات معالجة ثقيلة في كل تطبيق، تتجه نحو أنظمة أخف تستهلك بيانات مُهيكلة مسبقًا بطرق ذات معنى.
ما أراه مثيرًا للاهتمام هو كيف يغيّر هذا دور البيانات بالكامل.
لم يعد مجرد شيء تخزّنه وتسترجعه.
يصبح شيئًا يمكنك التفكير فيه بشكل جماعي، دون الحاجة المستمرة لإعادة تعريف كيفية عمل هذا التفكير.
وهذا يفتح حالات استخدام أكثر تقدّمًا.
لأنك بمجرد أن تتمكن من تقييم مجموعات البيانات بشكل موثوق، يمكنك البدء في بناء أنظمة تستجيب للأنماط بدلًا من الأحداث الفردية. يمكنك تحديد عتبات، وتتبع التقدم عبر سجلات متعددة، أو تفعيل إجراءات عندما تتحقق شروط معينة عبر مجموعة بيانات.
إنها درجة مختلفة من التجريد.
وهذا شيء تعاني معظم الأنظمة من دعمه بشكل نظيف.
عندما أتراجع للخلف، يبدو هذا كأنه تحسين آخر من النوع الذي يكون خفيًا لكنه مهم.
ليس شيئًا تلاحظه في البداية.
لكن هذا شيء يصبح مهمًا بشكل متزايد مع نمو الأنظمة.
لأن التعامل مع قطعة واحدة من البيانات أمر سهل.
التعامل مع آلاف السجلات بشكل متسق وفعّال، ودون إعادة كتابة المنطق في كل مرة—هنا تبدأ معظم الأنظمة في التعثر.
وهنا يبدو أن Sign يتبنّى نهجًا مختلفًا