Skip to main content
أداة بسيطة لتمويه بيانات الجداول. تقرأ جدول إدخال وتنتج جدول إخراج يحتفظ ببعض خصائص الإدخال، لكنه يحتوي على بيانات مختلفة. وتتيح نشر بيانات إنتاج حقيقية تقريبًا لاستخدامها في اختبارات الأداء. وقد صُممت للحفاظ على خصائص البيانات التالية:
  • عدد القيم المميزة لكل قيمة (cardinality) لكل عمود ولكل tuple من الأعمدة؛
  • عدد القيم المميزة الشرطي: عدد القيم المميزة في عمود واحد بشرط قيمة عمود آخر؛
  • التوزيعات الاحتمالية للقيمة المطلقة للأعداد الصحيحة؛ وإشارة الأعداد الصحيحة الموقعة؛ والأسّ والإشارة للأعداد ذات الفاصلة العائمة؛
  • التوزيعات الاحتمالية لأطوال السلاسل النصية؛
  • احتمال القيم الصفرية للأعداد؛ والسلاسل النصية والمصفوفات الفارغة؛ وقيم NULL؛
  • نسبة ضغط البيانات عند ضغطها باستخدام LZ77 وعائلة codecs المعتمدة على الإنتروبيا؛
  • الاستمرارية (مقدار الفرق) لقيم الوقت عبر الجدول؛ واستمرارية القيم ذات الفاصلة العائمة؛
  • مكوّن التاريخ في قيم DateTime؛
  • صلاحية UTF-8 في قيم السلاسل النصية؛
  • أن تبدو قيم السلاسل النصية طبيعية.
معظم الخصائص المذكورة أعلاه مفيدة لاختبارات الأداء: فإن قراءة البيانات وتطبيق عوامل التصفية وإجراء التجميع والترتيب ستعمل بسرعة تكاد تكون مماثلة لسرعتها على البيانات الأصلية، بفضل الحفاظ على عدد القيم المميزة، والمقادير، ونِسَب الضغط، وغير ذلك. وهي تعمل بطريقة حتمية: تحدد قيمة seed، ويُحدَّد التحويل بناءً على بيانات الإدخال وعلى قيمة seed. وبعض التحويلات تكون واحدًا لواحد ويمكن عكسها، لذلك تحتاج إلى seed كبير وإبقائه سريًا. وتستخدم الأداة بعض primitives التشفيرية لتحويل البيانات، لكنها من المنظور التشفيري لا تفعل ذلك على نحو صحيح، ولذلك لا ينبغي اعتبار النتيجة آمنة ما لم يكن لديك سبب آخر لذلك. وقد تحتفظ النتيجة ببعض البيانات التي لا تريد نشرها. وهي تترك دائمًا الأعداد 0 و1 و-1، والتواريخ، وأطوال المصفوفات، وعلامات null كما هي تمامًا في البيانات المصدر. فعلى سبيل المثال، إذا كان لديك عمود IsMobile في جدولك بقيمتي 0 و1، فستكون له القيمة نفسها في البيانات المُحوَّلة. وبذلك سيتمكن المستخدم من حساب النسبة الدقيقة لحركة المرور القادمة من الأجهزة المحمولة. لنأخذ مثالًا آخر. عندما تكون لديك بعض البيانات الخاصة في جدولك، مثل البريد الإلكتروني للمستخدم، ولا تريد نشر أي عنوان بريد إلكتروني بعينه. إذا كان جدولك كبيرًا بما يكفي ويحتوي على عدة عناوين بريد إلكتروني مختلفة، ولم يكن لأي عنوان تكرار مرتفع جدًا مقارنةً ببقية العناوين، فستُخفى هوية جميع البيانات. ولكن إذا كان لديك عدد قليل من القيم المختلفة في عمود ما، فقد يعيد إنتاج بعضٍ منها. ينبغي أن تطّلع على خوارزمية عمل هذه الأداة، وأن تضبط معلمات سطر الأوامر الخاصة بها بدقة. تعمل هذه الأداة جيدًا فقط عند توفر قدر معتدل على الأقل من البيانات (على الأقل آلاف الصفوف).
آخر تعديل في ٣ يوليو ٢٠٢٦