تفاضل البيانات
{{يتيمة|تاريخ=مارس 2019}}

في [[علم الحاسوب|علوم الحاسب]] و [[نظرية المعلومات]]، ينتج '''اختلاف البيانات''' أو '''الضغط التفاضلي''' وصفًا تقنيًا للفرق بين مجموعتين من البيانات - كمصدر و هدف. بشكل عام، تأخذ الخوارزمية بيانات، كبياناتٍ من مصدر و بيانات هدف، وتنتج الاختلاف بينهم. وبذلك يمكن للمرء إعادة بناء البيانات المستهدفة («[[باتش|تصحيح]]» المصدر باستعمال الاختلاف لإنتاج الهدف).


'''أهمية تفاضل البيانات'''

1. '''[https://labex.io/tutorials/linux-how-to-analyze-file-system-changes-in-linux-419720 تحليل التغييرات]''': يساعد في معرفة ما تغير بين [https://www.alwst.com/2025/01/blog-post.html إصدارين] من البيانات.<ref>{{استشهاد بويب|عنوان=فهم تفاضل البيانات مع الشرح|مسار=https://www.alwst.com/2025/01/blog-post.html|تاريخ-الوصول=2025-01-06}}</ref>

2. '''تصحيح الأخطاء''': يُستخدم لتحديد التعديلات الخاطئة.

3. '''دمج البيانات''': مقارنة البيانات المحدثة مع الأصلية لتحديثها أو دمجها.

4. '''التدقيق والمراجعة''': معرفة الفرق بين البيانات المدخلة والمخرجة.

== أمثلة ==

أحد أفضل الأمثلة المعروفة لتمييز البيانات هو الأداة المساعدة [[ديف|diff]]، والتي تنتج اختلافات [[ملف نصي|سطحية للملفات النصية]] (وفي بعض التطبيقات، [[ملف ثنائي|ملفات ثنائية]]، وبالتالي فهي أداة تمييز عامة). تباين الملفات الثنائية العامة يندرج تحت عنوان ترميز دلتا، و أشهر مثال اللذي يستخدم على نطاق واسع هي الخوارزمية المستخدمة في rsync. كمثال جيد على برنامج [http://www.daemonology.net/bsdiff/ تفاضل] ذو كفاءة العالية هو [http://www.daemonology.net/bsdiff/ bsdiff]، والذي يعتمد على ضغط [[بزيب2|bzip2]]، مما يوضح العلاقة الوثيقة بين التمييز والضغط.


'''أمثلة عملية لتفاضل البيانات'''

''مقارنة ملفات نصية''

لديك ملفين يحتويان على بيانات موظفين. تريد معرفة الفرق بينهما.

file1.csv:

<syntaxhighlight lang="c">
ID,Name,Salary

1,Ali,5000

2,Sara,6000

3,Omar,7000
</syntaxhighlight>file2.csv:<syntaxhighlight lang="c">
ID,Name,Salary

1,Ali,5500

2,Sara,6000

4,Lina,8000
</syntaxhighlight>'''الأداة''':

استخدام `'''diff'''` أو أدوات تحليل البيانات مثل '''Python'''.

باستخدام '''Python''':

<syntaxhighlight lang="c">
import pandas as pd

# قراءة الملفات

df1 = pd.read_csv("file1.csv")

df2 = pd.read_csv("file2.csv")

# مقارنة البيانات

diff = pd.concat([df1, df2]).drop_duplicates(keep=False)

print(diff)
</syntaxhighlight>'''الناتج''':<syntaxhighlight lang="c">
   ID  Name  Salary

0   1   Ali    5000

0   1   Ali    5500

2   3  Omar    7000

2   4  Lina    8000
</syntaxhighlight>

== مراجع ==

{{مراجع}}

{{شريط بوابات|علم الحاسوب}}

{{بذرة علم الحاسوب}}

[[تصنيف:تفاضل البيانات| ]]
[[تصنيف:ضغط بيانات]]
[[تصنيف:علم الحاسوب]]
في علوم الحاسب و نظرية المعلومات، ينتج اختلاف البيانات أو الضغط التفاضلي وصفًا تقنيًا للفرق بين مجموعتين من البيانات - كمصدر و هدف. بشكل عام، تأخذ الخوارزمية بيانات، كبياناتٍ من مصدر و بيانات هدف، وتنتج الاختلاف بينهم. وبذلك يمكن للمرء إعادة بناء البيانات المستهدفة («تصحيح» المصدر باستعمال الاختلاف لإنتاج الهدف).

أهمية تفاضل البيانات

1. تحليل التغييرات: يساعد في معرفة ما تغير بين إصدارين من البيانات.

2. تصحيح الأخطاء: يُستخدم لتحديد التعديلات الخاطئة.

3. دمج البيانات: مقارنة البيانات المحدثة مع الأصلية لتحديثها أو دمجها.

4. التدقيق والمراجعة: معرفة الفرق بين البيانات المدخلة والمخرجة.

 أمثلة 

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

أمثلة عملية لتفاضل البيانات

مقارنة ملفات نصية

لديك ملفين يحتويان على بيانات موظفين. تريد معرفة الفرق بينهما.

file1.csv:

ID,Name,Salary

1,Ali,5000

2,Sara,6000

3,Omar,7000file2.csv:ID,Name,Salary

1,Ali,5500

2,Sara,6000

4,Lina,8000الأداة:

استخدام `diff` أو أدوات تحليل البيانات مثل Python.

باستخدام Python:

import pandas as pd

# قراءة الملفات

df1 = pd.read_csv("file1.csv")

df2 = pd.read_csv("file2.csv")

# مقارنة البيانات

diff = pd.concat([df1, df2]).drop_duplicates(keep=False)

print(diff)الناتج:   ID  Name  Salary

0   1   Ali    5000

0   1   Ali    5500

2   3  Omar    7000

2   4  Lina    8000

 مراجع 

 
تصنيف:ضغط بيانات
تصنيف:علم الحاسوب